Commit Graph

84 Commits

Author SHA1 Message Date
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
Simone Bordet 13f638f710 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-14 23:29:36 +02:00
Simone Bordet 11bc5cce66 Fixes #839 - Test Failure: MaxConcurrentStreamsTest.testOneConcurrentStream().
Fixed race condition where the prime request response was arriving to
the client before the server had finished to clean up and remove the
prime stream. Subsequent client requests were rejected because the
prime stream was still "alive".
2016-08-14 23:25:03 +02:00
Simone Bordet c5a2770790 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 17:12:25 +02:00
Simone Bordet ea20a5f2ef Fixes #836 - Test Failure: HttpClientTransportOverHTTP2Test.testLastStreamId()
Fixed race condition: the completion was happening before the stream
promise for the request was succeeded.
2016-08-12 17:10:43 +02:00
Simone Bordet 6f20feddcb Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 14:57:47 +02:00
Simone Bordet 9f9e9ecaf9 Changes for Issue #824 (#825)
* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Introduced new method HttpChannelState.asyncError() to be called in
case of asynchronous errors, i.e. those errors that do not happen in
the HttpChannel.handle() loop.

Implemented HTTP/2 callbacks to call HttpChannelState.asyncError()
and plug in the existing error handling mechanism.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Issue #824 - Implement notifications of asynchronous error conditions for HTTP/2.

Improved implementation to ignore idle timeouts for streams and
session in case that requests are being handled, matching the HTTP/1.1
behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2016-08-12 11:02:52 +02:00
Simone Bordet c3b37cfbff Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-09 22:50:06 +02:00
John Gardiner Myers c1694ba9c3 Add protected HttpClientTransportOverHTTP2.getHttpClient() accessor
Signed-off-by: John Gardiner Myers <jgmyers@proofpoint.com>
2016-08-09 22:45:54 +02:00
Simone Bordet f695d9cf31 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-06 12:31:47 +02:00
Simone Bordet 45695e08aa Fixes #792 - [HTTP/2] Socket seems to be not closed completely.
Now sending the GOAWAY and then disconnecting from doStop(), ensuring
that the underlying TCP connection is closed even if the server does
not close.
2016-08-06 12:31:20 +02:00
Greg Wilkins 9b0951d5c5 increase test timeout 2016-08-05 17:04:14 +10:00
Simone Bordet a38feda9a0 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-29 12:09:27 +02:00
Simone Bordet 2cdea3601b Fixes #790 - AsyncContentListener semantic broken with HTTP/2 transport.
Now using an IteratingCallback to buffer DATA frames and delivering
their content respecting AsyncContentListener semantic.
2016-07-29 12:08:55 +02: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 f6098497c0 Explicitly setting the EndPoint idle timeout in case
HttpClient.idleTimeout has changed after start().
2016-05-25 19:27:08 +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 242b6b5f66 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-05-12 18:59:40 +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 abf0307e5e Merged branch 'jetty-9.3.x' into 'master'. 2016-04-11 12:56:09 +02:00
Simone Bordet 5c3e068cb3 Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Improved fix, notifying the response.success event using a
CompletableCallback to avoid that HttpReceiver.responseContent()
fails the update from ResponseState.TRANSIENT.
2016-04-11 12:55:37 +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 68a465d7a3 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 19:50:26 +02:00
Simone Bordet 4f68d44a50 Fixes #477 - HTTP/2 client transport must not send absolute-form :path pseudo-header.
Reducing the target to a path if it is in absolute-form.
2016-04-01 19:16:52 +02:00
Simone Bordet 5302d1972c Merged branch 'jetty-9.3.x' into 'master'. 2016-03-18 10:49:48 +01:00
Simone Bordet 0e0edbb6db Fixes #441 (Simplify direct HTTP/2 over TLS HttpClient usage)
Added useALPN property to HttpClientTransportOverHTTP2 to disable
usage of ALPN and therefore allow direct HTTP/2 over TLS.
2016-03-18 10:49:03 +01:00
Simone Bordet 966cc2dcba Merged branch 'jetty-9.3.x' into 'master'. 2016-03-16 22:14:31 +01:00
Simone Bordet 18aeca6567 Fixes #242 (Expose HTTP/2 LastStream error) 2016-03-16 22:14:09 +01: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 d4cd34d2ba Merged branch 'jetty-9.3.x' into 'master'. 2016-03-07 17:01:20 +01:00
Simone Bordet 8af356bc0d Issue #305 (NPE when notifying the session listener if the channel is closed before a session has been opened)
Added guard against NPE. It was needed since the connection may not
be present if the connect operation failed.
2016-03-07 17:00:52 +01:00
Simone Bordet 13f267bf8a Merged branch 'jetty-9.3.x' into 'master'. 2016-03-07 16:11:41 +01:00
Simone Bordet 6311c03dcc Merged pull request #396. 2016-03-07 10:46:22 +01:00
Jinho Shin 3facfb6066 Add a overridable method 'onClose' in HttpClientTransportOverHTTP2.
- able to look GoAwayFrame through 'onClose' method.

Signed-off-by: Jinho Shin <drdoteam@gmail.com>
2016-03-05 12:54:14 +09:00
Simone Bordet 2c11372bc4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-29 17:17:09 +01:00
Simone Bordet cec3694355 Consistently using BufferUtil, especially clearToFill() and
flipToFlush().
2016-02-29 16:31:38 +01:00
Simone Bordet aa6de825b7 Issue #372 (Data race in HttpReceiverOverHTTP2)
Fixed by copying the buffer passed to onData().
2016-02-29 14:02:17 +01:00
Simone Bordet 51009208d4 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-19 13:23:34 +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 ab2a168cf9 Made MultiplexConnectionPool sweepable.
Made HttpConnectionOverHTTP2 sweepable.
2016-02-12 15:24:07 +01:00
Simone Bordet 1bc4fe6d39 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-10 15:05:39 +01:00
Simone Bordet a1a8f6aeae 486589 - HttpRequest has a wrong HTTP Version in HTTP/2. 2016-02-10 15:04:36 +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 cb79379b79 Merged branch 'jetty-9.3.x' into 'master'. 2016-02-05 18:14:56 +01:00
Simone Bordet 4a7fae30fb 486829 - Cancel stream error after a failed request with the HTTP/2.0 client.
Fixed by properly notifying the callback even when the exchange has
already been aborted.
2016-02-05 18:12:37 +01:00