Commit Graph

34 Commits

Author SHA1 Message Date
Simone Bordet 58ea526b56 Notifying client connection's promise from onOpen().
The client connection's promise was succeeded in the context of a
call to SelectorManager.newConnection().
This was wrong, since succeeding the promise may trigger the send
of a request *before* the connection is actually linked to the
endPoint and opened.

This change moves the succeeding of the client connection's promise
to the connection onOpen() method.
2015-02-20 18:23:31 +01:00
Simone Bordet 28b9a0927c Merged branch 'jetty-9.2.x' into 'master'. 2015-02-15 20:51:49 +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
Greg Wilkins e1cc5fb487 Merge remote-tracking branch 'origin/master' into jetty-9.3-ewyk
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
	jetty-server/src/main/java/org/eclipse/jetty/server/QueuedHttpInput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/thread/NonBlockingThread.java
2015-01-08 15:21:01 +01:00
Joakim Erdfelt a3201a3c81 Happy New Year 2015 2015-01-07 17:06:59 -07:00
Joakim Erdfelt 6a0668b7a1 Happy New Year 2015 2015-01-07 17:03:30 -07:00
Simone Bordet 5bed6323c1 Reworked buffer releasing to ensure that it is always executed before
fillInterested() is called.
This is needed to avoid race conditions where fillInterested()
triggers a new thread entering onFillable() and acquiring a new buffer
while the previous thread is releasing the previous buffer.
2015-01-02 18:43:07 +01:00
Greg Wilkins 3af9b145a3 Deprecated the AbstractConnection dispatchIO mechanism 2015-01-01 16:18:13 +01:00
Greg Wilkins 853e020210 Merge remote-tracking branch 'origin/master' into jetty-http2 2014-07-16 15:31:48 +10:00
Simone Bordet 745f757552 Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-07-15 18:49:14 +02:00
Greg Wilkins 4d2a580c2c 439375 preferred rfc7231 format is mime;charset=lowercase-9 2014-07-11 17:56:08 +10:00
Simone Bordet 2608af8f0d Merged branch 'origin/master' into 'jetty-http2'. 2014-06-26 11:54:50 +02:00
Simone Bordet f2f19ee3ba Improved changes introduced by a746d78. 2014-06-26 10:08:13 +02:00
Greg Wilkins a746d78951 438079 435322 Fixed Iterating Callback fail handling and removed per send instance 2014-06-25 19:20:03 +02:00
Simone Bordet 66f3913527 Merged branch 'origin/master' into 'jetty-http2'. 2014-06-25 12:34:19 +02:00
Simone Bordet 3ff4195dbc Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-06-25 12:26:45 +02:00
Greg Wilkins 272e1d8da5 Refactored HttpChannel to not have direct HttpParser dependency 2014-06-17 00:02:50 +02:00
Greg Wilkins bbd61f8e19 Multiple mixed in changes and improvements
Simplified HttpParser as per rfc7230
implemented local/remote hpack max table sizes
2014-06-11 15:16:40 +02:00
Simone Bordet 244158ee3e Introduced class ByteBufferPool.Lease to keep track of buffers with
associated information of whether they have been borrowed from the
ByteBufferPool or not.
2014-06-06 16:24:09 +02:00
Simone Bordet 65e13ce08f Fixed response status message string, that was trimmed after the first
space.
2014-05-21 17:44:56 +02:00
Simone Bordet 7745e8b6c1 435338 - Incorrect handling of asynchronous content.
Return values from parser and parser callbacks must not be ignored.
2014-05-20 22:46:09 +02:00
Simone Bordet f225af318b 435223 - High cpu usage in FCGIHttpParser.parseContent(ResponseContentParser.java:314).
Since often FastCGI servers do not send the Status header if the
response is 200, the parser is now initialized with response code 200.
2014-05-20 22:46:09 +02:00
Simone Bordet 8f9e73df72 Introduced parameter sendStatus200 to optionally send the Status
header when the response code is 200.
2014-05-20 22:46:09 +02:00
Simone Bordet 2a4cee5db6 Always store HTTP fields to implement logic to detect the content mode. 2014-05-20 22:46:09 +02:00
Simone Bordet c4f7d38e86 Javadocs and comments. 2014-05-20 22:46:08 +02:00
Simone Bordet 4234048d81 Only generating Status header if the response code is greater than zero. 2014-05-20 22:46:08 +02:00
Simone Bordet 4f67993b61 Simplified/Improved handling of parser return values. 2014-05-20 22:46:08 +02:00
Simone Bordet 724fb7d6d3 Removed TODO and improved logging. 2014-05-20 22:46:08 +02:00
Simone Bordet 7918a58c71 Using Callback.Adapter.INSTANCE to avoid unneeded allocations. 2014-05-19 18:49:17 +02:00
Simone Bordet 871b330ba8 434056 - Support content consumed asynchronously.
Implemented content consumed asynchronously for FastCGI (on the client).
2014-05-04 23:15:54 +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 5eeda38f0a 432270 - Slow requests with response content delimited by EOF fail.
Fixed also in the FastCGI module.
2014-04-11 16:18:38 +02:00
Simone Bordet e3662a9b23 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-10 08:59:30 +02:00
Simone Bordet 2f2d6bc538 Refactored FastCGI module into just two modules, client (for usage of
a standalone FCGI client) and server.
2014-03-14 11:35:54 +01:00