164 Commits

Author SHA1 Message Date
Simone Bordet
a1a132a601 Fixes #959 - CompleteListener invoked twice for HTTP/2 transport and response content. 2016-09-26 10:16:31 +02:00
Simone Bordet
9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Simone Bordet
1ede9febc6 Code cleanups. 2016-09-22 21:28:09 +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
aa00e4207d Issue #922 - Implements methods Connection.getBytes[In|Out]().
Implemented for HTTP/2.
2016-09-14 14:04:23 +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
Simone Bordet
e21ad09e3a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-05 23:09:12 +02:00
Simone Bordet
705a68dfc4 Issue #845 - Improve blocking IO for data rate limiting.
Moved tests to run HTTP and HTTP/2 tests, and added more test cases.
2016-09-05 19:13:05 +02: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
b3fda0b733 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-20 23:11:16 +02:00
Simone Bordet
d073780dde Refactored tests. 2016-06-20 23:10:44 +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
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
9a5d8f3943 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-06 17:43:49 +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
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
Greg Wilkins
c1b03c6d8c Issue #431
HttClientTest cleanup
2016-03-17 09:58:29 +11:00
Joakim Erdfelt
3624339ec6 Merge branch 'jetty-9.3.x' 2016-03-16 10:29:29 -07:00
Greg Wilkins
1c5a1fc6a2 Issue #431
Suppress stack traces from unit tests
2016-03-16 18:19:40 +11:00
Simone Bordet
5f22bede3a Merged branch 'jetty-9.3.x' into 'master'. 2016-03-15 22:04:45 +01:00
Simone Bordet
3cd568c9b1 Fixes #428 (Exception logged during HttpClientTest)
Removed printStackTrace() call.
2016-03-15 22:04:26 +01:00
Simone Bordet
14c985802e Merged branch 'jetty-9.3.x' into 'master'. 2016-03-10 22:32:24 +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
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
8aa3207164 Improved test by making requests carry a unique identifier. 2016-02-29 11:58:08 +01:00
Simone Bordet
7938c9f86f Merged branch 'jetty-9.3.x' into 'master'. 2016-02-26 10:37:47 +01:00
Greg Wilkins
8068aeead9 Fixed unit test race
Test was assuming that receiving completed response on client
always happened before server processing had completed.
Added a spin test.
2016-02-17 11:11:52 +01:00
Greg Wilkins
496be5e05f Issue #84 Ignored test 2016-02-16 17:08:10 +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
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
Simone Bordet
c66a4d5aa7 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-24 10:47:10 +01:00
Simone Bordet
24b99d4b33 Introduced factory methods for HTTP2Client and HttpClient. 2015-12-24 10:38:51 +01:00
Simone Bordet
3fb354f884 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-21 13:02:04 +01:00
Simone Bordet
aa46a51b33 Added factory method to create HTTP2Client. 2015-12-18 15:57:26 +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
8542715665 Merged branch 'jetty-9.3.x' into 'master'. 2015-12-11 12:26:47 +01:00
Simone Bordet
c3889873f6 484167 - GOAWAY frames aren't handling disconnects appropriately on Client.
Fixed by overriding onClose() to listen for GOAWAY frames, and acting
appropriately.
2015-12-11 12:25:54 +01:00
Simone Bordet
fc4aacc38a Merged branch 'jetty-9.3.x' into 'master'. 2015-12-09 11:57:38 +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