Commit Graph

1337 Commits

Author SHA1 Message Date
Simone Bordet 38250545fc Improved exception handling, aborting the exchange rather than throwing. 2015-03-10 10:36:24 +01:00
Simone Bordet bab7888c59 Fixed HttpClient Javadocs. 2015-03-10 10:15:41 +01:00
Simone Bordet 7c915bcba2 461643 - HttpContent.advance() race.
Fixed by correctly synchronizing on ContentProvider.iterator.hasNext()
and ContentProvider.iterator.next() for those ContentProviders that
require it, such as DeferredContentProvider.
2015-03-07 23:13:21 +01:00
Simone Bordet a13a55e242 Introduced LeakDetector.id() to be consistent in logging the resource ID. 2015-03-07 22:32:59 +01:00
Joakim Erdfelt 74ee154bb1 Cleaning up LeakTrackingByteBufferPool / LeakDetector
+ Making use of LeakTrackingByteBufferPool more consistent
+ Using MappedByteBufferPool.Tagged where appropriate in test cases
+ Adding leak count tracking to LeakDetector
+ Adding leak count tracking to LeakTrackingByteBufferPool
+ Renaming websocket LeakTrackingBufferPool to
  LeakTrackingBufferPoolRule to reflect junit @Rule usage
+ Making websocket LeakTrackingBufferPoolRule always use
  MappedByteBufferPool.Tagged
+ Fixed various grammar concerns
2015-03-06 14:27:58 -07:00
Greg Wilkins 6ed01cf15b removed ambiguous logging 2015-03-06 16:29:25 +11:00
Simone Bordet 3b8bf8d1e0 Made test more stable. 2015-03-05 16:55:04 +01:00
Simone Bordet a64368df5d Factored into own method code executed after creation of a new
connection.
2015-03-05 16:54:44 +01:00
Simone Bordet 1a5346ec4f 461499 - ConnectionPool may leak connections.
Now using SpinLock to guard concurrent access to the connection
queues (idle and active) so that operations on them are atomic.
2015-03-05 15:42:03 +01:00
Greg Wilkins 2169ea6494 further cleanups of HttpExchange 2015-03-05 19:50:30 +11:00
Greg Wilkins e8b6902b16 SpinLock cleanup of HttpExchange 2015-03-05 18:32:17 +11:00
Greg Wilkins 2619edff5a 461452 Double release of buffer by HttpReceiverOverHTTP
Clear buffer on exception to avoid release guard
2015-03-05 16:22:07 +11:00
Greg Wilkins 042de2ec9f 461452 Double release of buffer by HttpReceiverOverHTTP
Updated HttpParse to always return from parseNext when messageComplete is called.  This allows it to notice reentrant state changes
and removes the need for HttpReceiverOverHTTP.methodComplete to return true, thus avoiding the race.
2015-03-05 15:26:19 +11:00
Greg Wilkins 418a60bbd0 461452 Double release of buffer by HttpReceiverOverHTTP
Updated comments to better describe the race to double release the buffer
2015-03-05 12:15:31 +11:00
Greg Wilkins 8cbab09527 461452 Double release of buffer by HttpReceiverOverHTTP
This commit is just a tidy up of the code to reduce the size of the race causing this problem.  It is not a fix.
2015-03-05 11:05:35 +11:00
Simone Bordet 40ad8dc608 Notifying the "failure" event for request and response when the failure
is detected during the processing of another event.
2015-03-04 01:01:09 +01:00
Simone Bordet da80498c56 Improved logging. 2015-02-26 23:38:27 +01:00
Simone Bordet bbc2d0c29d Simplified abort logic. 2015-02-26 23:26:24 +01:00
Simone Bordet 31a0b36f3c Improved logging and toString() implementations. 2015-02-26 23:26:24 +01:00
Simone Bordet 008b03ac78 460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent. 2015-02-26 12:25:42 +01:00
Simone Bordet d5a6ad2345 460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent. 2015-02-26 10:56:19 +01:00
Jesse McConnell 1659d83978 [maven-release-plugin] prepare for next development iteration 2015-02-24 10:38:33 -06:00
Jesse McConnell dc0c3f4c52 [maven-release-plugin] prepare release jetty-9.2.9.v20150224 2015-02-24 10:38:28 -06:00
Simone Bordet b69b8dfe50 460443 - Race condition releasing the response buffer.
Fixed by making sure that the response buffer is released at the
appropriate times.
2015-02-20 16:00:42 +01:00
Simone Bordet ddde0db339 Added test to check that a 100 Continue response and a normal response,
when read in a single read by the client, are processed correctly.
2015-02-20 16:00:42 +01:00
Jesse McConnell ce5db2ca55 [maven-release-plugin] prepare for next development iteration 2015-02-17 16:02:22 -06:00
Jesse McConnell 26b7597928 [maven-release-plugin] prepare release jetty-9.2.8.v20150217 2015-02-17 16:02:16 -06: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
Simone Bordet cf022de2fd Removed unused @Slow annotations. 2015-02-15 20:41:36 +01:00
Simone Bordet 8f0a874163 Removed unnecessary hiding of stack traces. 2015-02-15 20:40:50 +01:00
Simone Bordet ed1cbc0631 Improved logging. 2015-02-15 20:39:01 +01:00
Greg Wilkins 2b2a70a93a 459845 Support upgrade
Added the concept of UpgradeFrom and UpgradeTo connections that support
transferring a buffer with content before opening new connection.
Aded EndPoint.update method as utility
2015-02-13 11:41:18 +11:00
Simone Bordet 12e2f9e6c8 459542 - AsyncMiddleManServlet race condition on first download content.
Fixed the race condition by submitting a zero length buffer to write
from onWritePossible() which will succeed the callback without
causing races.
2015-02-10 13:10:57 +01:00
Simone Bordet 2a749dc0ea Fail the callback in case we cannot activate a newly created connection. 2015-02-09 12:11:18 +01:00
Simone Bordet 43f14997d8 Improved toString() methods for better reporting during dump(). 2015-02-09 08:54:52 +01:00
Simone Bordet ee16dfd066 Added test to verify the complete event is not fired until the
content is consumed.
2015-02-06 21:42:07 +01:00
Simone Bordet 12eaedd96b Refactored HttpDestination to allow customization of the request enqueuing.
Subclasses may override enqueue() and provide a different algorihtm.
2015-02-06 21:42:07 +01:00
Simone Bordet e03cd5e286 451092 - Connector will fail if HeaderListener return false.
Not a bug, but wrote one more test and clarified Javadocs.
2015-01-29 11:44:11 +01:00
Simone Bordet af312dbca0 Fixed case where a trying to send a request was causing an IllegalStateException.
It is always possible that a request is aborted by the client code
while being sent, so we should just return rather than throwing.
2015-01-29 11:13:39 +01:00
Simone Bordet b6e4852179 Improved dump() output. 2015-01-29 11:13:39 +01:00
Simone Bordet 88ed996295 Improved toString(). 2015-01-29 11:13:39 +01:00
Simone Bordet a52703cba9 458527 - Implement an async proxy servlet that can perform content transformations. 2015-01-27 15:29:47 +01:00
Jesse McConnell aa22842c20 [maven-release-plugin] prepare for next development iteration 2015-01-16 17:48:29 -06:00
Jesse McConnell 8c58a9abc4 [maven-release-plugin] prepare release jetty-9.2.7.v20150116 2015-01-16 17:48:23 -06:00
Jesse McConnell 81bb8411d1 [maven-release-plugin] prepare for next development iteration 2015-01-16 12:06:36 -06:00
Jesse McConnell 7865f88b81 [maven-release-plugin] prepare release jetty-9.2.7.v20150116 2015-01-16 12:06:30 -06:00
Jesse McConnell db991355a2 [maven-release-plugin] prepare for next development iteration 2015-01-16 10:41:45 -06:00
Jesse McConnell 6930abb8d3 [maven-release-plugin] prepare release jetty-9.2.7.v20140116 2015-01-16 10:41:39 -06:00
Jesse McConnell 9225b124a4 [maven-release-plugin] prepare for next development iteration 2015-01-16 08:21:35 -06:00
Jesse McConnell ebd563e64d [maven-release-plugin] prepare release 9.2.7.v20140116 2015-01-16 08:21:29 -06:00
Simone Bordet c7d9c5c951 457130 - HTTPS request with IP host and HTTP proxy throws IllegalArgumentException.
Fixed handling of cookies in case of null URI.
2015-01-09 16:07:41 +01:00
Simone Bordet fd13361132 Fixed test assumption. 2015-01-09 12:58:14 +01:00
Simone Bordet bb2872b789 Fixed test assumption. 2015-01-09 12:46:56 +01:00
Simone Bordet adae3193d8 457130 - HTTPS request with IP host and HTTP proxy throws IllegalArgumentException.
Fixed by handling the case of non-URI request target.
2015-01-09 11:49:13 +01:00
Simone Bordet 51aafc78a4 457032 - Request sent from a failed CompleteListener due to connect timeout is failed immediately.
Fixed by copying the exchange queue and failing only the exchanges
that are present in the copy.
2015-01-08 16:56:59 +01:00
Joakim Erdfelt 6a0668b7a1 Happy New Year 2015 2015-01-07 17:03:30 -07:00
Simone Bordet c944b06a61 New tests testing request retry. 2014-12-22 21:27:59 +01:00
Jan Bartel bc22ba72dc [maven-release-plugin] prepare for next development iteration 2014-12-05 16:45:12 +01:00
Jan Bartel 1cc075cf98 [maven-release-plugin] prepare release jetty-9.2.6.v20141205 2014-12-05 16:45:01 +01:00
Jesse McConnell 127b48c932 [maven-release-plugin] prepare for next development iteration 2014-12-03 09:00:57 -06:00
Jesse McConnell 028f4b9610 [maven-release-plugin] prepare release jetty-9.2.6.v20141203 2014-12-03 09:00:46 -06:00
Jesse McConnell 1263d1f3c8 [maven-release-plugin] prepare for next development iteration 2014-12-03 08:26:47 -06:00
Jesse McConnell 5c7f706496 [maven-release-plugin] prepare release jetty-9.2.6.v20141203 2014-12-03 08:26:35 -06:00
Jesse McConnell 09846e324d [maven-release-plugin] prepare for next development iteration 2014-11-12 17:13:19 -06:00
Jesse McConnell 97d2bd95a6 [maven-release-plugin] prepare release jetty-9.2.5.v20141112 2014-11-12 17:13:14 -06:00
Jesse McConnell 5d0595cabd [maven-release-plugin] prepare for next development iteration 2014-11-03 13:46:58 -06:00
Jesse McConnell 772ff0bfd4 [maven-release-plugin] prepare release jetty-9.2.4.v20141103 2014-11-03 13:46:52 -06:00
Simone Bordet 9c64fb73e4 449603 - OutputStreamContentProvider hangs when host is not available.
Fixed by having HttpRequest.abort() to fail the ContentProvider.
In this way, the ContentProvider knows, even before being used to
send the request content, that the request has failed, and may
forward the failure to the client code.
2014-11-03 16:50:59 +01:00
Simone Bordet cbd7b75e10 Removed unused code. 2014-11-03 10:55:13 +01:00
Jesse McConnell 1c4a08b35b [maven-release-plugin] prepare for next development iteration 2014-10-31 09:58:16 -05:00
Jesse McConnell a4ff7bf841 [maven-release-plugin] prepare release jetty-9.2.4.v20141031 2014-10-31 09:58:10 -05:00
Jesse McConnell e1b73a64eb [maven-release-plugin] prepare for next development iteration 2014-10-30 11:28:41 -05:00
Jesse McConnell 5770cc1179 [maven-release-plugin] prepare release jetty-9.2.4.v20141030 2014-10-30 11:28:35 -05:00
Jesse McConnell 58eb6740ec [maven-release-plugin] prepare for next development iteration 2014-10-28 14:20:30 -05:00
Jesse McConnell 19a44846cf [maven-release-plugin] prepare release jetty-9.2.4.v20141028 2014-10-28 14:20:24 -05:00
Simone Bordet fac197f868 Clarified semantic of Request.header(). 2014-10-23 12:53:37 +02:00
Simone Bordet f7baf9923f Fixed issue caused by the fix to #447746: user agent header must not
be added, but overwritten.
2014-10-23 12:41:16 +02:00
Simone Bordet 84b38aba15 447746 - HttpClient is always going to send User-Agent header even though I do not want it to. 2014-10-23 11:46:18 +02:00
Simone Bordet 0eade706a6 Removed Thread.dumpStack() calls used for debugging. 2014-10-22 18:10:25 +02:00
Simone Bordet f2eaa963f8 Removed debugging statements. 2014-10-16 17:42:32 +02:00
Simone Bordet 2dba2ea2c2 Improved exception reporting. 2014-10-13 16:55:59 +02:00
Simone Bordet 1cd367ae7c 444764 - HttpClient notifies callbacks for last chunk of content twice.
Fixed by filtering out notification of the callbacks in case the
HttpContent is already consumed.
2014-09-22 18:16:49 +02:00
Simone Bordet 48510bc71a 444214 - Socks4Proxy fails when reading less than 8 bytes. 2014-09-16 21:37:51 +02:00
Joakim Erdfelt 9249ebb6ef Using 9.2.4-SNAPSHOT for branch 2014-09-11 06:10:44 -07:00
Jesse McConnell 9bfeb2221f [maven-release-plugin] prepare release jetty-9.2.3.v20140905 2014-09-05 09:19:23 -05:00
Simone Bordet 9dbd2cd9d8 442950 - Embedded Jetty client requests to localhost hangs with high cpu usage (NIO OP_CONNECT Solaris/Sparc).
Now checking the return value of SocketChannel.connect() to determine
whether to register the channel (true) or finish the connect (false).
2014-09-01 11:28:59 +02:00
Greg Wilkins 7584488702 javadoc 2014-08-21 09:43:35 +10:00
Joakim Erdfelt cb42ef2167 [maven-release-plugin] prepare for next development iteration 2014-07-23 11:18:01 -07:00
Joakim Erdfelt dc62cb5ac7 [maven-release-plugin] prepare release jetty-9.2.2.v20140723 2014-07-23 11:17:55 -07:00
Greg Wilkins 3a6879d3e8 expanded tabs in indents 2014-07-23 16:49:05 +10:00
Simone Bordet dd914db3cf Reorganized GZIP tests. 2014-07-22 20:55:18 +02:00
Simone Bordet 52172fb3c4 440038 - Content decoding may fail.
Properly looping around the decoding step to ensure that the encoded
content is fully consumed.
2014-07-21 19:21:44 +02:00
Simone Bordet 816b85ea4d 439895 - No event callback should be invoked after the "failure" callback.
Fixed HttpSender and HttpReceiver to use a non-blocking collaborative
mechanism to notify callbacks.
Only the "failed" callback can run concurrently with other callbacks.
No other callback can run after the "complete" callback: a failure
concurrent with another callback will notify the "failed" callback,
finish the running callback and only then invoke the "complete" callback.
2014-07-21 16:48:21 +02: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 55ca09a00e 438190 findbug improvements 2014-07-10 14:41:32 +10:00
Greg Wilkins 7fbf521d4e 438204 correctly wrap IPv6 hostnames in URIs generated by jetty 2014-07-03 10:11:16 +10:00
Greg Wilkins 228600caf5 fixed race in HttpReceiverOverHTTPTest 2014-07-02 15:08:06 +10: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 7b7c592fc8 Improved logging. 2014-06-25 17:26:04 +02:00