Commit Graph

434 Commits

Author SHA1 Message Date
Ludovic Orban 89c41b2550
Cleanup Resource IO (#11364)
Refactorings to rationalize and simplify how we do IO with resources internally by introducing the IOResources helper.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-28 11:08:44 +01:00
Simone Bordet 29bed1435f Fixes #11563 - HttpClient InputStream.read() hangs intermittently.
Clarified documentation about HttpClient request and response listener: they cannot block.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-25 15:17:14 +01:00
Simone Bordet bb30fdfeca Clarified documentation about using WebSocket endpoints with JPMS.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-25 15:16:45 +01:00
Simone Bordet 258a5e04de
Fixes #10870 - How to set HttpConfiguration.securePort when the HTTPS port is dynamic? (#11547)
Introduced NetworkConnector.Listener to notify of open/close events.
Applications can register a listener on one NetworkConnector, be notified when it opens, and configure other components (for example using the NetworkConnector.localPort).

Cleaned up ManagedSelector.CloseConnections, which had code that was not used, and fixed the close of non-connection elements such as the ServerSocketChannel and DatagramChannel (when acceptors=0).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-24 20:52:56 +01:00
Simone Bordet ae6f98ed47
Fixes #7647 - Document org.eclipse.jetty.client.Socks4Proxy "secure" parameter. (#11533)
Added javadocs and documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-03-22 16:46:07 +01:00
Ludovic Orban 0a2382408f
Fix StatisticsHandler not receiving implicit status 200 (#11487)
#11482 introduce new onComplete event in EventsHandler and use it to record status in StatisticsHandler

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2024-03-13 17:30:33 +01:00
Joakim Erdfelt 369d9f7e2f
Merge remote-tracking branch 'origin/release/12.0.7' into jetty-12.0.x 2024-03-06 11:00:50 -06:00
Jan Bartel efafbedb27 Small fixes to jndi doco 2024-03-06 11:24:47 +01:00
Joakim Erdfelt 18b2a7c201
Updating to version 12.0.8-SNAPSHOT 2024-02-29 16:00:27 -06:00
Joakim Erdfelt c89aca8fd3
Updating to version 12.0.7 2024-02-29 15:18:56 -06:00
Simone Bordet 561b8da4dd Changed CrossOriginHandler default to allow no origin and no credentials.
This makes the default configuration more secure and explicitly requires configuration from users.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-29 15:47:20 +01:00
Simone Bordet 24c1140917
Fixes #8979 - Jetty 12 - HttpClientTransport network "modes". (#11368)
* Introduced oej.io.Transport as the abstraction for the low-level transport of high-level protocols.
Now protocols such as HTTP/1.1 or HTTP/2 can be transported over TCP, QUIC, Unix-Domain, memory, and possibly over other low-level custom protocols too.
* Introduced oej.client.Request.transport(Transport) to specify Transport for each request.
* Introduced Transport to [HTTP2Client|HTTP3Client].connect(...) methods.
* Introduced [Client|Server]QuicConfiguration so that it can be used in other Connectors such as MemoryConnector.
* Introduced oej.server.MemoryConnector and EndPoint.Pipe for memory communication between peers, along with a MemoryTransport.
* Introduced QuicTransport as a wrapper for other Transports, so that QUIC can now also be transported over memory.
* Improved javadocs and documentation.
* Removed usage of ClientConnector.forUnixDomain() from FastCGIProxyServlet (ee10 and ee9).
* Replaced usage of HTTP3ServerConnector with QuicServerConnector in jetty-http3.xml.
* Fixed handling of Instruction notifications in case of re-entrance.
Now first clear the list, then notify to avoid that when re-entering the same instruction is notified multiple times.
* Introduced ContentSourceRequestContent, and updated ProxyHandler to use it.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-26 17:24:24 +01:00
Joakim Erdfelt bfac61cd89
Issue #11424 - Document default of `jetty.deploy.scanInterval` at `0` (#11437)
+ Update documentation and defaults in mod files
2024-02-22 14:25:01 -06:00
Simone Bordet a683690678
Added documentation about `SslHandshakeListener`. (#11383)
* Added documentation about `SslHandshakeListener`.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-10 17:06:40 +01:00
Joakim Erdfelt fcaa004389
Fixing contribution-guide links 2024-02-06 10:34:06 -06:00
Joakim Erdfelt 4d1b05ff97
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-11.0.x 2024-02-06 10:24:26 -06:00
Joakim Erdfelt 721b1743cb
Correct contribution-guide documentation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2024-02-06 10:24:01 -06:00
Simone Bordet 192294f9b9
Fixed javadocs links in documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-02-06 15:33:42 +01:00
Joakim Erdfelt 82d9177f0c
Updating to version 12.0.7-SNAPSHOT 2024-01-29 21:04:51 -06:00
Joakim Erdfelt 78ab6e6ba1
Updating to version 12.0.6 2024-01-29 20:42:49 -06:00
Joakim Erdfelt dd641b2736
Updating to version 11.0.21-SNAPSHOT 2024-01-29 15:17:40 -06:00
Joakim Erdfelt 922f8dc188
Updating to version 11.0.20 2024-01-29 15:03:56 -06:00
Joakim Erdfelt a7d14d6874
Updating to version 10.0.21-SNAPSHOT 2024-01-29 14:58:51 -06:00
Joakim Erdfelt 3a745c71c2
Updating to version 10.0.20 2024-01-29 14:46:10 -06:00
Lachlan Roberts aedafcff42 Issue #11329 - fix artifactIds in 11->12 migration guide
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2024-01-29 12:11:01 +11:00
Simone Bordet b5d0fd6f2f
Fixes #11096 - IllegalAccessException when invoking WebSocket endpoint methods in Jetty 12 (#11229)
Changed `JettyWebSocketFrameHandlerFactory` to use an application MethodHandle.Lookup (rather than a server one) when creating listener metadata.
This fixes the JPMS problem so that now JPMS applications do not need any additional configuration to invoke endpoints.
The (acceptable) downside is that anonymous inner classes (that are not public) cannot be used as listener endpoints.

This change affects core and EE10 WebSocket; EE9 and EE8 WebSocket have not been fixed (so they allow anonymous inner classes but are broken in JPMS).

Renamed "connectLatch" fields to "openLatch" in test classes.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Olivier Lamy <olamy@apache.org>
2024-01-25 16:40:48 +01:00
Simone Bordet a9e564ad8c
Fixes #10220 - Implement CrossOriginHandler. (#11093)
Introduced CrossOriginHandler.
Added cross-origin Jetty module.
Added CrossOriginHandler documentation to the programming guide.
Added CrossOriginHandler documentation to the operations guide.
Added cross-origin headers to the HttpHeader enum.
Added test cases.
Deprecated ee10 CrossOriginFilter.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-01-12 09:57:21 +01:00
Joakim Erdfelt 2f3c9257d1
Results of: mvn spotless:apply 2024-01-03 10:40:38 -06:00
Simone Bordet 231d8deb8a Fixes #10870 - How to set HttpConfiguration.securePort when the HTTPS port is dynamic?
Updated and expanded documentation.
Restored compilation of documentation Java sources.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-01-03 16:39:35 +01:00
Simone Bordet 4fca6781ce Fixes #11213 - Improve programming guide WebSocket JPMS documentation
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2024-01-03 15:53:35 +01:00
Joakim Erdfelt 9a18dc8722
Results of: mvn spotless:apply 2024-01-03 03:12:56 -06:00
Joakim Erdfelt 96eea590ee
Updating to version 12.0.6-SNAPSHOT 2023-12-18 08:25:22 -06:00
Joakim Erdfelt 3aed62e495
Updating to version 12.0.5 2023-12-18 08:05:54 -06:00
Joakim Erdfelt fd81c80194
Updating to version 11.0.20-SNAPSHOT 2023-12-15 15:09:03 -06:00
Joakim Erdfelt f781e475c8
Updating to version 11.0.19 2023-12-15 14:54:13 -06:00
Joakim Erdfelt c91e3fbc48
Updating to version 10.0.20-SNAPSHOT 2023-12-15 14:49:33 -06:00
Joakim Erdfelt 8492d1c78f
Updating to version 10.0.19 2023-12-15 14:38:06 -06:00
Lachlan 35af2d8984
Do not use HttpStream.Wrapper in SizeLimitHandler (#11051)
* Do not use HttpStream.Wrapper in SizeLimitHandler
* Updated the SizeLimitHandlerServletTest
* Udpated documentation and javadocs.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-12-15 15:11:57 +01:00
Jan Bartel d926380651
Refactor eeX plus.security and plus.annotation classes to core (#11030)
* Refactor eeX plus.security and plus.annotation classes to core
2023-12-13 06:34:55 +01:00
Jan Bartel 7fc4b74a04
Jetty 12.0.x 10856 jndi doco (#11028)
* Update JNDI doc for jetty-12
2023-12-07 02:49:32 +01:00
Simone Bordet 8638d80bd5
Fixes #10277 - Review read failures impacting writes. (#10948)
* Separated read failures from write failures.
* In this way it is possible to read even if the write side is failed and write even if the read side is failed.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-12-06 21:48:47 +01:00
Joakim Erdfelt 8597033339
Updating to version 12.0.5-SNAPSHOT 2023-11-30 13:33:03 -06:00
Joakim Erdfelt 9b415c6424
Updating to version 12.0.4 2023-11-30 13:14:15 -06:00
Simone Bordet 0ca80b9d9a
Fixes #10484 - Clarify documentation about how to make a non-blocking… (#10934)
Added documentation about non-blocking Handlers.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-30 17:52:16 +01:00
Jan Bartel 03425a2bd5 Change 2023-11-29 19:13:12 +11:00
Jan Bartel f6eac3ebbc Issue #10925 More updates to jetty maven plugin documentation. 2023-11-29 18:53:58 +11:00
Simone Bordet 8c10ea8a9b
Fixes #10912 - Document Request listeners (#10920)
* Fixes #10912 - Document Request listeners

* Documented Request listeners and updated javadocs.
* Removed code in HttpChannelState.onIdleTimeout() that was automatically complete the Handler callback.
* Invoking failure listeners only once (although HttpChannelState.onFailure() may be called multiple times).
* Made sure that in ChannelCallback.succeeded() the last stream send uses the ChannelResponse as Callback, like it is done in Response.write().
* Moved Request listeners tests from various test classes into RequestListenersTest.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-28 12:56:17 +01:00
Greg Wilkins 7dcab84b91
Fix jetty 12.0.x transient timeouts (#10844)
Fixes #10234

* Introduced transient failures in reads where a failure chunk has last=false.
* Transient failure now do not fail the handler callback.
* Improve eeN ContentProducer to more carefully assert transient and terminal errors + enable HttpInputIntegrationTest
* Do not add connection: close to the response when the error is transient
* Rework ChunksContentSource to support null chunks
* Added tests to verify the new transient failure cases
* Review all code that handles failure, and handling correctly transient failure, either by making them fatal, and/or by failing Content.Source.

Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Signed-off-by: Olivier Lamy <olamy@apache.org>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Olivier Lamy <olamy@apache.org>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: Chad Wilson <chadw@thoughtworks.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-23 15:25:03 +01:00
Lachlan ecb90e8d0f
Issue #10687 - WebSocket remembers mappings on restart (#10773)
* Clear websocket mappings on server stop
* Fix core WebSocketUpgradeHandler on restart
* Avoid usage of deprecated WebSocketUpgradeHandler.configure() method.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-20 17:09:56 +01:00
Simone Bordet dc2eff5f42
Improved HTTP/3 documentation in the programming guide.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-11-11 15:48:39 +01:00