Commit Graph

1285 Commits

Author SHA1 Message Date
Simone Bordet 04604166bc Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 15:04:47 +02:00
Simone Bordet 94137583f8 Added assumption to make test more robust. 2016-09-26 15:04:21 +02:00
Simone Bordet 716c595cdf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 12:20:22 +02:00
Simone Bordet 777ed6ad64 Fixes #277 - Proxy servlet does not handle HTTP status 100 correctly.
Introduced overridable ContinueProtocolHandler.onContinue(), and
making sure that proxy servlets use a ContinueProtocolHandler
subclass to intercept 100 Continue responses from the server, so that
they can relay it properly to the client.
2016-09-26 12:05:03 +02:00
Simone Bordet f3751da475 Fixes #955 - Response listeners not invoked when using Connection.send(). 2016-09-23 17:04:11 +02:00
Simone Bordet 9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Andriy Rosa a9ef53b6d0 Fix HttpClient#copyRequest (#937)
Make HttpClient#copyRequest to copy custom headers with the same values.

When original request contains some custom header, say `X-Custom`, than
HttpHeader object within a HttpField will be `null`. In such case
`newRequest.getHeaders().contains(field.getName(), value)` check returns
true when there are 2 and more custom headers with the same value. As a result
not all the custom headers are being copied to the new request.

Signed-off-by: Andriy Rosa <andriyrosa@gmail.com>
2016-09-22 21:27:59 +02:00
Simone Bordet 61cd8d5379 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 18:13:12 +02:00
Simone Bordet ed14641e87 Made test more robust. 2016-09-14 18:12:34 +02:00
Simone Bordet 5ec60a30ed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 16:44:39 +02:00
Simone Bordet 571b0c74c5 Implemented PromiseWrapper's succeeded() and failed() methods. 2016-09-14 14:01:30 +02:00
Simone Bordet 448100ff80 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-06 12:02:01 +02:00
Simone Bordet 6d485b2777 Fixes #902 - Expect: 100-Continue does not work with HTTP/2.
Improved handling of the 100 status code in both client and server.
2016-09-06 12:01:24 +02:00
Greg Wilkins 5ab9846ac5 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-08-31 20:32:54 +10:00
Greg Wilkins f856107301 Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2016-08-31 19:05:57 +10:00
Greg Wilkins 0155ae761c Issue #880 Improve IPv6 support
For #880 added the HostPort class, which was used to fix #878, #879, #884 and #886
2016-08-31 16:46:11 +10:00
Simone Bordet a4a97a0257 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-17 22:11:44 +02:00
Simone Bordet bef4b56fc0 Fixes #806 - Jetty HttpClient authentication - missing any realm option.
Introduced Authentication.ANY_REALM constant to use when specifying
the realm in concrete subclasses, so that the realm match is skipped.
2016-08-17 22:10:59 +02:00
Simone Bordet c42212d7b0 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 00:08:12 +02:00
Simone Bordet 7041e5102d Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Using https scheme in CONNECT request if the proxy is secure.
A Proxy must not match its own address.
Resolved correctly request URI in case of CONNECT requests.
2016-08-11 19:25:41 +02:00
Simone Bordet 9b6c9438a7 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-10 18:37:24 +02:00
Simone Bordet 2eec2251ee Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Only successful (200) responses to a CONNECT behave like HEAD and
implicitly have no body.
2016-08-10 18:36:27 +02:00
Simone Bordet 823ba4add6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 18:15:38 +02:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Simone Bordet 6adb5eb031 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-15 18:12:02 +02:00
Simone Bordet a3b5e7ebb7 Added guards against NPE in case HttpField.getValue() returns null. 2016-07-15 15:45:50 +02:00
Simone Bordet 0d5fb1812e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-22 11:27:56 +02:00
Simone Bordet 72393bc666 Fixes #659 - CONNECT request fails spuriously.
Fixed by properly returning true from messageComplete() in case of
a 101 response or a 200 CONNECT response.
2016-06-22 11:27:28 +02:00
Simone Bordet a07461f4bd Code cleanups. 2016-06-22 11:27:28 +02:00
Simone Bordet b3fda0b733 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-20 23:11:16 +02:00
Simone Bordet 7ef22c8ebd Fixes #648 - Problem using InputStreamResponseListener to handle HTTP/2 responses.
The fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=484446
reimplemented InputStreamResponseListener using callbacks rather than
blocking waits.

However, HTTP/2 behaves a little differently than HTTP/1.
Where in HTTP/1 until the callback was completed no further calls to
onContent() were made, with HTTP/2 additional calls are made until
the flow control window is exhausted.

For this reason InputStreamResponseListener must queue content chunks
rather than dealing only with one chunk at a time.
2016-06-20 23:10:44 +02:00
Simone Bordet a565b6fa83 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-14 11:09:02 +02:00
Simone Bordet 35077c9803 Increased timeouts to avoid failures on slower machines. 2016-06-14 11:08:38 +02:00
Greg Wilkins 86e5b1cf9b Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-08 16:48:50 +10:00
Greg Wilkins d458d41632 more generous unit test timeouts 2016-06-08 16:48:19 +10:00
Simone Bordet 85b3459af5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-03 18:03:29 +02:00
Simone Bordet c05e265c5b Moved scheme checks to the right place. 2016-06-03 17:57:59 +02:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* fixed http2 strategy choice

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* code cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* clean up seelctor actions/products

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* cleanups
2016-06-03 09:07:00 +10:00
Greg Wilkins e1b551c2ae Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-02 08:04:56 +10:00
Simone Bordet 059fbaa1d6 Removed @Ignore from a passing test. 2016-06-01 11:56:49 +02:00
Simone Bordet 8956245026 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-01 10:48:57 +02:00
Greg Wilkins 7d6c05b5c0 Issue #610 Ignore failing test 2016-06-01 17:46:04 +10:00
Simone Bordet b912c700ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-25 19:27:46 +02:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
2016-05-25 19:27:08 +02:00
Simone Bordet 016a7b72a1 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 16:10:00 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet 5fe1ff697e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 12:42:12 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet b1ebcf9139 Using lambdas instead of anonymous inner classes. 2016-05-24 11:15:18 +02:00
Simone Bordet a37a0c18c3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-19 15:49:14 +02:00
Simone Bordet 89531a81be Fixed test. 2016-05-19 15:48:50 +02:00
Simone Bordet 922319c3a3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-12 19:30:50 +02:00
Simone Bordet e25cca33e7 Fixes #571 - AbstractAuthentication.matchesURI() fails to match scheme. 2016-05-12 19:03:52 +02:00
Simone Bordet cd2c2a6b98 Issue #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
Small refactoring.
2016-05-12 19:03:18 +02:00
Simone Bordet 242b6b5f66 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-05-12 18:59:40 +02:00
Simone Bordet f3675dbad7 Fixes #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
The issue was related to the fact that the proxy responded 407 with a
Connection: close header.

Because the endPoint underlying the original connection was closed,
it should not have been used as a tunnel.
Rather, the endPoint of the new CONNECT attempt (with the proxy
credentials) must be used for the tunnel.

Also partially backported the fix for #408.
2016-05-12 17:19:04 +02:00
Simone Bordet 1056536155 Moved HttpClientLoadTest to "tests" module to test all transports. 2016-05-06 17:10:46 +02:00
Simone Bordet e2f252f817 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-11 19:39:04 +02:00
Simone Bordet f0a1ccf4d3 Fixes #504 - HTTP/2 client transport cannot send request after idle timeout.
Made sure that the idle timeout mechanism notifies the destination
that the connection will close.

Also reviewed the close protocol to be: notify destination, then abort,
then close. In this way, HTTP/2 can send RST_STREAM before the
connection is closed.
2016-04-11 19:15:17 +02:00
Simone Bordet 11242ae1ec Fixes #503 - Wrong request-per-connection counting in MultiplexHttpDestination in case of failures. 2016-04-11 19:15:17 +02:00
Simone Bordet ac4ee8fec4 Ignoring tests that connect to external sites. 2016-04-11 19:15:17 +02:00
Simone Bordet 5aef3ba3e4 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-04 15:41:04 +02:00
Simone Bordet 5c147288ef Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Fixed by notifying the response.success event only when the callback
is succeeded.
2016-04-04 15:40:25 +02:00
Simone Bordet 1806744bf7 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 22:04:44 +02:00
Simone Bordet 3fb06cca21 Issue #476 - HttpClient should not send absolute-form target with non HttpProxy.
Fixed test case.
2016-04-01 22:04:15 +02:00
Simone Bordet 68a465d7a3 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 19:50:26 +02:00
Simone Bordet aac9f70243 Fixes #476 - HttpClient should not send absolute-form target with non HttpProxy.
Now only sending absolute-form in case of HttpProxy.
2016-04-01 17:46:22 +02:00
Simone Bordet cdcde53c6b Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:44:50 +02:00
Simone Bordet ce04cadb79 Fixes #233 - Add message to idle TimeoutException. 2016-04-01 14:44:26 +02:00
Simone Bordet 1146bce95e Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:29:38 +02:00
Simone Bordet 4aa512e468 Issue #184 - Empty Realm for BasicAuthentication.
Fixed by allowing empty realms.
2016-04-01 14:29:11 +02:00
Simone Bordet 650587ec0a Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 12:48:09 +02:00
Simone Bordet c8fea46e8f Issue #450 - Client AuthenticationProtocolHandler sends request failures to response failure listener.
Fixed by properly forwarding response success in case only the
request failed.
2016-04-01 12:46:12 +02:00
Simone Bordet a97d29f54b Removed usages of deprecated Callback.Adapter. 2016-04-01 12:46:12 +02:00
Simone Bordet 3b5ed5a822 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-25 18:34:23 +01:00
Stéphane Martin 1c8b0869fd [Jetty-Client] fix: don't add host automaticaly on http2 request.
All google server answers bad request when Host field is filled with h2 protocol.

Change-Id: I9e16f8c9f56bc26df0b0a933cee0b3a3d6c31921
Signed-off-by: Stéphane Martin <stephane.martin@neotys.com>
2016-03-25 17:45:53 +01:00
Greg Wilkins acfa1268bc Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-24 12:58:06 +11:00
Greg Wilkins 8b228073e3 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Efficiency improvements
2016-03-24 11:37:39 +11:00
Greg Wilkins d287f6e6e0 Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-03-17 06:27:14 +11:00
Greg Wilkins 5da034db66 Issue #431
HttClientTest cleanup
2016-03-17 06:26:20 +11:00
Joakim Erdfelt 3624339ec6 Merge branch 'jetty-9.3.x' 2016-03-16 10:29:29 -07:00
Simone Bordet be7c50fa51 Fixes #409 (Http client authentication with proxy server)
Made BasicResult a public static class so that it can be used by
applications via AuthenticationStore.addAuthenticationResult().
2016-03-16 15:52:56 +01:00
Greg Wilkins 1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Joakim Erdfelt dcfa0b8910 Merge branch 'jetty-9.3.x' 2016-03-15 07:49:28 -07:00
Simone Bordet 26f8deddf7 Introduced Callback.Nested.
Refactored code that was using nested callbacks and removed
unnecessary overrides now that we have default methods.
2016-03-15 15:24:44 +01:00
Simone Bordet 35758b6f87 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-11 11:32:32 +01:00
Simone Bordet 3f82886774 Issue #266 (jetty-client redirection process is aborted if redirect response have corrupt body)
Fixed by disabling content decode, since we are discarding the
content anway.
2016-03-11 11:31:39 +01:00
Simone Bordet 14c985802e Merged branch 'jetty-9.3.x' into 'master'. 2016-03-10 22:32:24 +01:00
Simone Bordet 2af81781cd Issue #258 (Http request to origin server over https proxy contains absolute URL)
Fixed by sending the request target in origin-form (and not in
absolute-form) when request is to a https server.
2016-03-10 22:01:17 +01:00
Simone Bordet 4039f00bda Issue #408 (Http client does not work on https with proxy)
Fixed by not considering authority-form targets to be URIs, so that
the request is correctly copied after a 407.
2016-03-10 16:10:45 +01:00
Simone Bordet e6c2c81bea Issue #417 (HttpClient: review support for OPTIONS *)
Implemented support for OPTIONS * HTTP/1.1 requests.
2016-03-10 16:10:45 +01:00
Simone Bordet ffbd817254 Issue #416 (Support HTTPS forward proxies)
Implemented. We were never checking HttpProxy.isSecure().
Now we do, and if so we wrap the connection factory with an SSL one.
2016-03-10 16:10:45 +01:00
Simone Bordet d0593ab046 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-08 11:56:14 +01:00
Simone Bordet 18b689b820 Code cleanups. 2016-03-08 11:55:54 +01:00
Simone Bordet 87ea5ac039 Fixed tests. 2016-03-08 11:55:19 +01:00
Simone Bordet 13f267bf8a Merged branch 'jetty-9.3.x' into 'master'. 2016-03-07 16:11:41 +01:00
Simone Bordet 8ad0944732 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-07 16:04:46 +01:00
Simone Bordet d36e5864db Issue #377 (HttpClient - No supported cipher suites leads to stuck requests)
Fixed by rethrowing the exception thrown by onOpen() so that the
SelectorManager can act appropriately.
2016-03-07 15:20:12 +01:00
Simone Bordet 815bc54f5d Improved failure reporting. 2016-03-07 10:35:07 +01:00
Simone Bordet 5fa6bf4c10 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-05 14:59:21 +01:00
Simone Bordet fb05062f0d Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-05 14:58:50 +01:00
Simone Bordet a4686bc6a4 Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Fixed by making sure that URI matches take into account default HTTP
ports.
2016-03-05 13:29:31 +01:00
Simone Bordet bede684cac Merged branch 'jetty-9.3.x' into 'master'. 2016-03-03 08:21:26 +01:00
Simone Bordet 311c7466b0 Issue #386 (Explicit Authorization header is dropped when handling 407s)
Fixed by copying explicitly set authorization headers.
2016-03-03 08:20:55 +01:00
Simone Bordet 6d9b36c8a4 Issue #381 (HttpClient does not send the Authorization header with authenticating proxy)
Fixed by tracking correctly the conversation attributes for
authentication, and by applying both proxy authentication results and
server authentication results.
2016-03-02 18:02:20 +01:00
Simone Bordet 53e41d291f Merged branch 'jetty-9.3.x' into 'master'. 2016-03-01 16:32:03 +01:00
Simone Bordet a8bbe8749f Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Added test case, but code seems already good.
2016-03-01 16:31:40 +01:00
Simone Bordet 24a203f976 Fixed compilation issue. 2016-03-01 15:58:32 +01:00
Simone Bordet 21abfb0351 Merged branch 'jetty-9.3.x' into 'master'. 2016-03-01 15:35:49 +01:00
Simone Bordet 04bb4af12c Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-01 15:21:19 +01:00
Simone Bordet d53766f6fe Issue #365 (Potential connection leakage in case of aborted request)
Fixed by releasing the connection that will not be used to the pool.
2016-03-01 15:19:02 +01:00
Simone Bordet 50422a1a1f Replaced usages of Random with ThreadLocalRandom in concurrent code. 2016-02-26 10:29:58 +01:00
Greg Wilkins aa7fd02c5f Merge remote-tracking branch 'origin/jetty-9.3.x' 2016-02-23 18:31:15 +01:00
Greg Wilkins 3c671aa8b6 Issue #346 HttpParser RFC2616 Compliance mode
Reimplmented HTTP/0.9 support in RFC2616 compliance mode
2016-02-23 17:33:53 +01:00
Simone Bordet c52c8304d8 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-22 11:34:07 +01:00
Simone Bordet 89ead7561e Issue #285 (PathContentProvider - Use of Direct buffers without pooling).
Introduced PathContentProvider.setByteBufferPool() so that a buffer
pool can be set (for example from HttpClient.getByteBufferPool()).
If present, PathContentProvider will use it.
2016-02-22 11:33:23 +01:00
Simone Bordet 51009208d4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-19 13:23:34 +01:00
Simone Bordet 1d04b9ece0 Issue #347 (Avoid sending request using a connection that is idle timing out).
Can't make atomic decisions using AtomicInteger _and_ another field.
Now using synchronized.
2016-02-19 12:22:13 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Simone Bordet 48c4e08b94 Issue #347 (Avoid sending request using a connection that is idle timing out).
Fixed by improving the guard with a timestamp, and checking that the
time elapsed from the last timestamp is enough to prove it is a real
idle timeout.
2016-02-19 11:36:06 +01:00
Simone Bordet 55817a212f Improved toString(). 2016-02-19 11:36:06 +01:00
Simone Bordet df80aef265 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-12 16:01:38 +01:00
Simone Bordet ab2a168cf9 Made MultiplexConnectionPool sweepable.
Made HttpConnectionOverHTTP2 sweepable.
2016-02-12 15:24:07 +01:00
Simone Bordet 7c7c49f06b 484446 - InputStreamResponseListener's InputStream uses default read (3) and blocks early on never-ending response.
Implemented read(byte[],int.int) to fix the reported issue.
Reworked InputStreamResponseListener to use a callback approach
rather than blocking waiting for content.
2016-02-12 11:19:31 +01:00
Simone Bordet 9c075ff85c Converted anonymous inner classes to lambdas. 2016-02-11 09:37:46 +01:00
Simone Bordet 2ac465a343 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-09 18:14:07 +01:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 145e4bee71 487511 - Jetty HTTP won't work on turkish systems.
Fixed usages of toLowerCase() and toUpperCase() to use Locale.ENGLISH.
2016-02-09 17:50:26 +01:00
Joakim Erdfelt 288f2e1f51 Fixing javadoc: Invalid member type qualification 2016-01-21 16:53:04 -07:00
Simone Bordet 6128bd6d45 Merged branch 'jetty-9.3.x' into 'master'. 2016-01-05 11:50:52 +01:00
Simone Bordet 17a1e76ba0 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-01-05 11:25:20 +01:00
Simone Bordet 0050ad5a99 484621 - Client hangs till timeout when Authentication.authenticate() throws exception.
Fixed by surrounding the call to Authentication.authenticate() with a
try/catch and acting appropriately in case of exceptions.
2016-01-05 11:03:35 +01:00
Joakim Erdfelt 4032b8579a Happy New Year 2016 (take #2) 2016-01-04 15:14:27 -07:00
Joakim Erdfelt ac24196b0d Happy New Year 2016 2016-01-04 14:34:20 -07:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00
Simone Bordet 3fb354f884 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-21 13:02:04 +01:00
Simone Bordet 8f4cc73613 484585 - Avoid sending request using a connection that is idle timing out.
Rewritten handling of idle timeouts in light of issue #484718.
2015-12-21 11:47:05 +01:00
Simone Bordet 988e596c71 484585 - Avoid sending request using a connection that is idle timing out.
Added guard to avoid that the idle timeout expires just before
sending the request.

Reworked the way idle timeouts are handled, to support the case where
the idle timeout just expired and the request can be tried on a
different connection/channel.
2015-12-18 15:56:31 +01:00
Simone Bordet bf9f39dc17 Improved exception reporting. 2015-12-14 15:00:19 +01:00
Simone Bordet 829bdd3d7c Merged branch 'jetty-9.3.x' into 'master'. 2015-12-11 21:39:03 +01:00
Simone Bordet 8d28be5786 484210 - HttpClient over HTTP/2 should honor maxConcurrentStreams.
Fixed by sending queued requests in a loop up to maxConcurrentStreams.
Also updating the maxConcurrentStreams value when received from the
server.
2015-12-11 18:00:48 +01:00
Simone Bordet e674d3ec5e 483878 - Parallel requests stuck via the http client transport over HTTP/2. 2015-12-11 17:58:31 +01:00
Simone Bordet c5e56e72e6 Added concurrent load tests. 2015-12-09 10:51:24 +01:00
Joakim Erdfelt 7cdc58e6b9 Merge branch 'jetty-9.2.x' into feature/gziphandler-config 2015-12-08 14:56:26 -07:00
Greg Wilkins 3527c6a71b StringUtil.csvSplit(String)
Conflicts:
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
	jetty-security/src/main/java/org/eclipse/jetty/security/PropertyUserStore.java
	jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
	jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
	jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java
2015-12-08 14:54:33 -07:00
Simone Bordet 4ea1bb0233 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-08 22:20:28 +01:00
Simone Bordet 8d6206b8c7 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-12-08 22:20:05 +01:00
Simone Bordet 1693dd135d 483857 - jetty-client onComplete isn't called in case of exception in GZIPContentDecoder.
Fixed by catching the exceptions and failing the callbacks.

Also using return values from HttpReceiver to compute what to
return to the parser.
2015-12-08 22:10:27 +01:00
Simone Bordet 7125d52fdf Merged branch 'jetty-9.3.x' into 'master'. 2015-11-25 19:08:29 +01:00
Simone Bordet eac966cb9b 483009 - MultiPartContentProvider may send wrong Content-Length.
Introduced method close() to signal when no more parts will be added,
and calculating the Content-Length in setListener() only if when closed.
2015-11-25 16:02:21 +01:00
Simone Bordet 50041395f9 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-25 14:00:19 +01:00
Greg Wilkins 204591ce82 482855 - Content-Length omitted for POST requests with empty body
Removed HTTP 0.9 support
A few code simplifications
Fixed clients relying on Content-Length headers being ignored
2015-11-25 20:50:59 +11:00
Greg Wilkins ff0d1b4c14 481903 Module Descriptions 2015-11-12 10:48:04 +11:00
Simone Bordet 8ed67c009f Removed usages of deprecated Callback.Adapter class. 2015-11-09 12:35:58 +01:00
Greg Wilkins 7843b7348e 480827 Implemented Unix Domain Socket Connector
Squashed commit of the following:

commit fbb680ba7cdb73495524ea9e5b0f49caee7f68d8
Merge: ed2550b 64ea0db
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Nov 6 10:44:00 2015 +1100

    Merge branch 'master' into unix-socket

commit ed2550b50f978e1984e19fbda642baf450dbe6a1
Merge: 88d7b35 de137ab
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 18:41:25 2015 +1100

    Merge branch 'master' into unix-socket

commit 88d7b35f885de2da7dec836e6e4ae2b522d517f0
Merge: 7d4155f 3e2658a
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:38:27 2015 +1100

    Merge branch 'master' into unix-socket

commit 7d4155fe4a407d493683b66709bc638879b0b422
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Nov 5 17:24:48 2015 +1100

    Unix socket configuration

commit 2737b19f73ad153c20e1762874558a5d62849f90
Merge: cd0cc2e 92cc44c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Nov 4 15:13:40 2015 +1100

    Merge branch 'master' into unix-socket

    Conflicts:
    	jetty-server/src/main/java/org/eclipse/jetty/server/SecureRequestCustomizer.java

commit cd0cc2ef36a558d948bf26aff4f9e3519da2f823
Merge: 639753b 303f98e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Nov 2 12:21:19 2015 +1100

    Merge branch 'master' into unix-socket

commit 639753b5ed37778d7231acfe9d52039aed66351e
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 15:42:58 2015 +1100

    local connectors report NOIP address

commit 6d38c4195f145b99f775a06d546960b119094b0c
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 12:11:13 2015 +1100

    Gentler ssl close test

commit 40b46b66a738c9187f859d522a0165bb09b113c8
Merge: b7eb082 fa53b11
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 11:09:42 2015 +1100

    Merge branch 'master' into unix-socket

commit b7eb082be44864c058b6f01b10364013596d3650
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 30 08:34:30 2015 +1100

    SecureRequestCustomizer for UnixSockets

commit edbb3c080200b4c6aa2836eff6c81bf31a73a8c1
Merge: 90e8cc0 de7ac72
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:47:05 2015 +1100

    Merge branch 'master' into unix-socket

commit 90e8cc060ff6dc4b249818db38334ffa543f002f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 19:31:50 2015 +1100

    use proxy connection

commit b1772ef5dcac9ddf9bb5ecda1cda6d038ca21755
Merge: e95a932 9fe7332
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 29 16:46:29 2015 +1100

    Merge branch 'master' into unix-socket

commit e95a932bda5a96bf98ada4fb47664790af2aa0a2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:58:25 2015 +1100

    fixed config

commit f8963b2ed6b6b4b96f1d9403194c9d50ab1f12fd
Merge: 9c56b53 8b27484
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Oct 28 15:34:28 2015 +1100

    Merge branch 'master' into unix-socket

commit 9c56b53cbec20d98e5cb05cf8d1f668fe84b95e0
Merge: 298a311 39768f8
Author: Greg Wilkins <gregw@webtide.com>
Date:   Mon Oct 26 13:04:34 2015 +1100

    Merge branch 'master' into unix-socket

commit 298a311af952ad3ef5d1c7635deabf47bddaa1c6
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 15:24:19 2015 +1100

    Async accepting

commit 8266753d124c04ec8bca8aa02be1ef3d826d6769
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 14:45:35 2015 +1100

    set acceptors

commit 6a56c5b9e19063fcb95cdc1228adf723c0d41362
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:44:54 2015 +1100

    licence

commit d80e5748e6c4327bae57de2af01983990dd2afe0
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 11:24:14 2015 +1100

    unixsocket work in progress adding modules

commit cf0c1153d9966cc7182ba29411527b4341c34da6
Merge: 645b671 c39bfa2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:52:01 2015 +1100

    Merge branch 'master' into unix-socket

commit 645b6712d37282c26011a95c8c98e45c249b2e5f
Author: Greg Wilkins <gregw@webtide.com>
Date:   Fri Oct 23 08:49:52 2015 +1100

    IP headers

commit 67b210b9ea81af68ce3848a114bbbd1b80a8ca52
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 23:48:57 2015 +1100

    working with haproxy

commit e4fce9cf5d896a9a29a7c6280fcaa0336dfcc0f2
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 18:25:09 2015 +1100

    unixsocket working

commit 6f013788cad44e6641cd89720c5e7f3652cdc257
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Oct 22 15:39:55 2015 +1100

    work in progress
2015-11-06 11:17:46 +11:00
Simone Bordet f717ff5f49 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-04 15:06:10 +01:00
Simone Bordet afc6b9e5c0 Fixed compilation issues. 2015-11-04 15:00:39 +01:00
Simone Bordet 82d0807863 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-04 13:50:26 +01:00
Simone Bordet 7a34631397 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-11-04 13:40:44 +01:00
Simone Bordet 0172b68301 481006 - SSL requests intermittently fail with EOFException when SSL renegotiation is disallowed.
Fixed by notifying the Connection promise from onOpen() rather than
just after the creation of the connection.
2015-11-04 13:26:27 +01:00
Joakim Erdfelt 60ed6cd143 Javadoc fix: Invalid member type qualification 2015-11-02 13:33:58 -07:00
Simone Bordet 36fdf9b788 Merged branch 'jetty-9.3.x' into 'master'. 2015-11-02 18:23:38 +01:00
Simone Bordet b102bd507a 419966 - Add ContentProvider that submits multipart/form-data.
Second implementation after feedback from the community.
2015-11-02 18:17:51 +01:00
Simone Bordet 0bd1e0ad7d 481116 - Introduce connection pooling also for HTTP/2 transport.
Implemented connection pooling for multiplexed transports.
Reworked the ConnectionPool code and its relationship with
HttpDestination.
2015-10-30 15:33:12 +01:00
Simone Bordet 0b95a9e23e Merged branch 'jetty-9.3.x' into 'master'. 2015-10-30 11:18:16 +01:00
Simone Bordet 45cd1f1ce6 Improved thread safety. 2015-10-30 11:17:28 +01:00
Simone Bordet 915a905df4 Refactored checks for secure schemes. 2015-10-29 19:27:33 +01:00
Simone Bordet 6b0e1d48c5 Fixed onUpgradeFrom(): buffer must be copied. 2015-10-29 19:26:56 +01:00
Simone Bordet 7200b2df0e 479678 - Support HTTP/1.1 Upgrade in HttpClient.
Removed leftover code.
2015-10-29 18:36:00 +01:00
Simone Bordet 3789c73ba3 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-27 15:33:21 +01:00
Simone Bordet 4134b1eca8 419966 - Add ContentProvider that submits multipart/form-data.
Implemented this functionality.
2015-10-27 15:32:26 +01:00
Simone Bordet d67cfaa910 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-26 12:35:05 +01:00
Simone Bordet 1ab64ed080 Fixed test.
Made sure that read interest or upgrade only happen after the write
has completed.
2015-10-26 12:34:17 +01:00
Simone Bordet c39bfa2e4a Merged branch 'jetty-9.3.x' into 'master'. 2015-10-22 20:52:22 +02:00
Simone Bordet 53df0cba3f Avoid to dump the destinations twice. 2015-10-22 20:49:48 +02:00
Simone Bordet fe62dd7c42 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-21 18:50:19 +02:00
Simone Bordet 03b994a32c Fixed HttpDestination lifecycle. 2015-10-21 17:10:26 +02:00
Simone Bordet 3cc386bef9 Merged branch 'jetty-9.3.x' into 'master'. 2015-10-21 14:33:26 +02:00
Simone Bordet 3fc6320881 Using EndPoint.upgrade() in client code when connections are upgraded
and removed ClientConnectionFactory.Helper.
2015-10-21 14:32:37 +02:00
Joakim Erdfelt fae4f5d43f Merge branch 'jetty-9.3.x' 2015-10-19 11:59:44 -07:00
Simone Bordet a6ba51fe24 Deprecated ConnectionPool. 2015-10-19 18:13:12 +02:00
Joakim Erdfelt 15ee24585e 479678 - Support HTTP/1.1 Upgrade in HttpClient
+ Adding Connection.UpgradeFrom support to HttpConnectionOverHTTP
+ (Soft) Closing HttpConnectionOverHTTP on upgrade
+ Removing 'extends Connection' from Connection.UpgradeFrom and
  Connection.UpgradeTo to allow for use from components that
  delegate bytebuffer handling away from raw Connection
2015-10-15 09:18:03 -07:00
Greg Wilkins 72d97f77cc fixed client test 2015-10-15 17:19:06 +11:00
Joakim Erdfelt f0deae82d4 479678 - Support HTTP/1.1 Upgrade in HttpClient
+ Changing is upgrade test in HttpChannelOverHTTP
+ Adding wss to normalizePort / isDefaultPort
+ Adding wss to isSecure
+ Adding wss to proxy handling (for isSecure tests)
2015-10-14 11:16:55 -07:00
Simone Bordet b0eb18b451 479678 - Support HTTP/1.1 Upgrade in HttpClient.
Initial support.
2015-10-13 22:55:25 +02:00
Simone Bordet 399755b352 479026 - Wrong CONNECT request idle timeout.
Explicitly set the CONNECT request idle timeout instead of inheriting
HttpClient's.
2015-10-05 11:52:58 +02:00
Simone Bordet 3dcdb9f802 Merged branch '477878' into 'master'. 2015-09-25 19:34:45 +02:00
Simone Bordet 3201d0acd2 477878 - HttpClient over HTTP/2 doesn't close upload stream.
Clarified the difference between last and consumed in HttpContent.
Fixed HTTP/2 transport to behave correctly in case of last content.
2015-09-25 19:31:40 +02:00
Greg Wilkins 1af9b3e241 477900 Increase client authentication default max content size 2015-09-24 17:23:30 +10:00
Simone Bordet 8c21871cf0 478021 - Client sending Connection: close does not shutdown output.
Fixed behavior of HttpGenerator to change its persistent also for
requests.

Reworked HttpSenderOverHTTP to send headers via IteratingCallback, so
that multiple generation steps can be made to produce SHUTDOWN_OUT.
2015-09-23 22:23:37 +02:00
Simone Bordet f063df4200 Make this exception extend RuntimeException, not Throwable. 2015-09-23 22:23:37 +02:00
Simone Bordet ff97796ab2 Using ServerConnector instead of NetworkConnector to improve ease of use. 2015-09-23 22:23:37 +02:00
Simone Bordet fde718a3ad Added tests to verify behavior in case of server closing (or not) the
connection in presence of a Connection: close header.
2015-09-21 11:34:57 +02:00
Simone Bordet b23c2bd309 476170 - Support servers that close connections without sending Connection: close header.
Removed previous implementation in favor of a customized
ConnectionPool, that gives more flexibility on the actual logic to
validate connections.
2015-09-01 15:44:30 +02:00
Simone Bordet 60136c6825 Using Queue rather than BlockingQueue in method return types. 2015-09-01 15:30:42 +02:00
Simone Bordet 4ba2b22da7 476170 - Support servers that close connections without sending Connection: close header.
Adding support for validating the connection only in the HTTP/1.1
transport.
2015-08-30 18:09:54 +02:00
Simone Bordet 7211d415f9 Updated test to run even when not connected to the network. 2015-08-30 18:09:53 +02:00
Simone Bordet 6c5477de86 Fixed randonly failing test.
Sometimes the DNS was returning one IPv4 and one IPv6 address.
Replacing the IPv4 one left as the only valid address the IPv6; but
if IPv6 is not deployed on the network infrastructure, then that will
fail too, causing the test to fail.
2015-08-25 18:21:03 +02:00
Simone Bordet ef9724f448 Improved error reporting. 2015-08-25 18:19:29 +02:00