* 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>
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
Introduced StateTrackingHandler.
StateTrackingHandler is a troubleshooting Handler that helps to identify those cases where the Handler/Request/Response APIs are used improperly.
In particular, it tracks the events described in StateTrackingHandler.Listener, such as the Handler callback not completed, or blocking demand callback, or a write callback not completed, etc.
It also provides dump() capabilities, so the current requests and their state is dumped to help troubleshooting.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>