* Now `HttpClient` removed the `Expect` header if there is no request content.
* Changed AbstractProxyServlet and ProxyHandler check for request content: now the Content-Type header is not taken into consideration.
* Now the server avoids sending the 100 Continue response if there is no request content.
* Now the request body is not defaulted if missing, but just kept null.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Changed ContentSender demand from iterate()+IDLE to succeeded()+SCHEDULED.
This ensures that there is no re-iteration in case a 100 Continue response arrives.
This, in turn, avoids that the demand is performed multiple times, causing ISE to be thrown.
* Changed the 100 Continue action of the proxy Servlet/Handler, that provides the request content, to be executed by the HttpSender, rather than by the HttpReceiver.
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
* Jetty 12.0.x jetty ee web xml (PR #11746)
* Resolve jetty-eeX-web.xml before jetty-web.xml
* Support jetty-eeX-env.xml, as per jetty-eeX-web.xml
* Support jetty-eeX-env.xml, as per jetty-eeX-web.xml
---------
Co-authored-by: Greg Wilkins <gregw@webtide.com>
The client certificate is now exposed in QuicheConnection, so that it can be returned by QuicStreamEndPoint.getSslSessionData().
Not much else is exposed by Quiche, so not much else that we can provide to applications, for example no TLS session id, no cipher suite, etc.
Fixed --enable-native-access command line option to run tests, as the foreign dependency is in the class-path.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Fixed all module-info.java files that did not have a "provides" declaration but had META-INF/services files.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Now using a non-allocated privileged port from IANA, that nobody should listen to, so the test should not fail.
It is not a 100% guarantee, but perhaps better than before, especially because now a port < 1024 is used.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Some require transitive was missing, and has been added.
In other cases, making a field private (e.g. for log instances) made the warning go away.
In another case, removed explicit dependency on websocket core exception, as it was not necessary.
Clean up the POMs for jetty-eeN-annotations, that had unnecessary dependencies.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
* Fix#11811 insensitive header name set
Fix#11811 insensitive header name set by:
+ Using a EnumSet and TreeSet to ensure no duplicates in the set
+ Using an ArrayList to preserve the ordering (not necessary, but useful).
* updates from review