* Defaulted the number of selectors to 1 in HttpClientTransportOverHTTP, to align with ClientConnector.
* Improved virtual thread documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Implemented Connection.getSslSessionData(), where the Connection can be obtained from the Request:
request.getConnection().getSslSessionData().
Updated documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
The previous semantic of `onCompleteFailure` has been renamed to `onFailure(Throwable)`, which is called immediately (but serialized) on either an abort or a failure. A new `onCompleteFailure(Throwable)` method has been added that is called only after a `failed(throwable)` or a `abort(Throwable)` followed by `succeeded()` or `failed(Throwable)``
No usage has yet been made of the new `onCompleteFailure`, but the ICB implementation has been completely replaced by the one developed in #11876
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
Updated VirtualThreadPool to limit the number of concurrent virtual threads using a Semaphore.
Updated modules and documentation.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Implemented "priming" of HTTP/1.1 connections using ConnectionPool.preCreateConnections(int) and HttpClientTransportOverHTTP.setInitializeConnections(true).
This sends `OPTIONS * HTTP/1.1` to the server.
I tried to implement this feature by forcing a write of 0 bytes from the layer above `SslConnection`, but it did not work when using TLS because in both WriteFlusher and SslConnection the fact that there are 0 bytes left to write is treated specially.
Other HTTP versions have no problems because they must initialize the connection by e.g. sending a SETTINGS frame, so they would also initialize TLS.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Now the code examples is a packaging=jar module and it's not under a profile.
The extra execution to compile the code examples is not necessary anymore.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Renamed the `version` attribute to `jetty-version`, and now using the POM value, rather than a hard-coded one.
Removed references to Asciidoctor from the main POM.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Added documentation for advanced TLS configuration.
Updated the javadoc-url attribute to the new javadocs URI.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Fixes#11926 - Authority Customizer.
Introduced AuthorityCustomizer to synthesize the authority from the Host header (or serverName:serverPort), and related documentation.
Removed additional check on authority's host in `HttpCompliance`, as it was too strict and in the wrong place (authority checks should be factored out elsewhere for all HTTP protocol versions).
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Introduce ResourceServlet
* Split DefaultServlet into ResourceServlet
* Added tests for Resource and Default Servlet
* Improved documentation of the ResourceServlet
* Fixed the documentation