Commit Graph

23 Commits

Author SHA1 Message Date
Simone Bordet 1dc66b72dd 461499 - ConnectionPool may leak connections.
Made associate(), disassociate() and abort() atomic operations using
the HttpExchange state to coordinate atomicity.
In this way, it's not possible to associate a HttpChannel and a
HttpExchange if the latter has been aborted.
2015-03-24 16:19:45 +01:00
Simone Bordet ffa32dfae7 459963 - Failure writing content of a committed request leaks connections.
Fixed by making the logic in HttpSender fail and complete the response
in case of request failure, without taking in consideration whether
the request was committed or aborted.
2015-02-15 20:42:55 +01:00
Joakim Erdfelt 6a0668b7a1 Happy New Year 2015 2015-01-07 17:03:30 -07:00
Simone Bordet 7918a58c71 Using Callback.Adapter.INSTANCE to avoid unneeded allocations. 2014-05-19 18:49:17 +02:00
Simone Bordet aeb27cd461 431642 - Implement ProxyServlet using Servlet 3.1 async I/O.
Intermediate commit that implements asynchronous content in HttpClient,
for the HTTP protocol, passing the tests.

This work needs to be extended to FCGI and SPDY and finally implement
the asynchronous proxy servlet.
2014-04-19 12:36:15 +02:00
Simone Bordet 0ed7d30741 Fixed timeout value left over during debugging. 2014-04-08 13:58:21 +02:00
Simone Bordet cc0775133e 432145 - Pending request is not failed when HttpClient is stopped.
Fixed by fixing the code in close() to also abort pending exchanges.
Reviewed for HTTP, FastCGI and SPDY transports.
2014-04-07 17:39:29 +02:00
Simone Bordet 34aa88472a 428266 - HttpRequest mangles URI query string.
Now raw query string is preserved.
2014-02-21 17:55:19 +01:00
Simone Bordet e94ff7db9c 424743 - Verify abort behavior in case the total timeout expires
before the connect timeout.

The changes to fix this issue uncovered problems in the HttpSender
state machine.
In particular, the SenderState is now defining more states that
depend on deferred content, and on handling of 100 Continue responses.

The refactoring also highlighted the fact that there was no need to
keep HttpConversation objects in a Map in HttpClient: they are now
only referenced by the HttpRequest.
With this change, Request.getConversationID() has been deprecated.

Also fixed a number of tests to make them more reliable.
2014-01-05 15:29:43 +01:00
Joakim Erdfelt a12fd9ea03 Happy New Year - 2014! 2014-01-02 14:50:14 -07:00
Simone Bordet 310c7a543e Updated tests to run over SSL too. 2013-11-09 19:11:43 +01:00
Greg Wilkins f567bddad9 global clean up imports 2013-11-04 13:48:03 +11:00
Simone Bordet 2d6190da59 Refactored class Fields to a better API. 2013-10-18 13:55:49 +02:00
Simone Bordet 25d9b8704f 417356 - Add SOCKS support to jetty client.
Big refactoring to allow for additional proxy schemes that work at a
lower level than HTTP.

Introduced client-side ConnectionFactory, and binding that to a
HttpDestination, so that connections to that destination will use the
same ConnectionFactory.

The destination's ConnectionFactory is now initialized from the proxy
configuration and the transport, which is now itself a
ConnectionFactory.

The proxy configuration has also changed becoming polymorphic by
introducing a new ProxyConfiguration.Proxy abstract class,
which is implemented as HTTPProxy and can be implemented in future as
SOCKS4Proxy (and possibly others).
2013-10-08 15:06:39 +02:00
Simone Bordet 3cdf4dece1 Refactored some behaviour to base classes to ease the FCGI
implementation, and taken the chance to remove redundant code.
2013-09-07 00:36:31 +02:00
Thomas Becker af1abb7af6 416026 improve error handlig in SPDY parsers 2013-08-28 14:45:39 +02:00
Thomas Becker 525b268d41 415656 SPDY - add IdleTimeout per Stream functionality 2013-08-22 14:00:27 +02:00
Jesse McConnell 67a7a37923 ignore test 2013-08-13 14:25:47 -05:00
Thomas Becker fffdd6b2fa Connection javadoc fix 2013-08-13 18:27:06 +02:00
Simone Bordet f4a41efaad Merged branch 'master' into 'jetty-9.1'. 2013-07-24 11:21:36 +02:00
Simone Bordet d0f0dedf20 413531 - Introduce pluggable transports for HttpClient.
Merge of the branch 'http_client_transport' is now complete,
and the implementation is sound for the HTTP transport.
A basic implementation for the SPDY transport exists, but needs
improvements.
2013-07-23 16:08:56 +02:00
Simone Bordet 86d51f057d Ignored idle timeout test, not yet implemented in within the SPDY transport. 2013-07-23 15:53:35 +02:00
Simone Bordet beee37e96a Moved HttpClientTransport SPDY implementation in its own module under the SPDY project. 2013-07-23 15:53:35 +02:00