1136 Commits

Author SHA1 Message Date
Simone Bordet
dd8120294d Made the test more reliable. 2014-04-08 13:57:55 +02:00
Simone Bordet
2e7df0e16a 432270 - Slow requests with response content delimited by EOF fail.
Fixed by using a flag to determine the need to close the connection,
and by closing the connection only at exchange termination.
2014-04-08 13:57:27 +02:00
Simone Bordet
2897027f53 Merged branch 'master' into 'jetty-9.2.x'. 2014-04-07 17:51:23 +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
b135920bfc Restored HttpSender tests. 2014-04-07 17:39:29 +02:00
Simone Bordet
e56a76ef50 Restored HttpReceiver tests. 2014-04-07 17:39:28 +02:00
Greg Wilkins
0a748205f0 432122 ignore frequently failing test 2014-04-07 18:00:50 +10:00
Greg Wilkins
64e11bc8e8 reverted version to 9.1.x pending merge of 9.2 branch 2014-04-07 12:52:43 +10:00
Jesse McConnell
dbb938ac71 [maven-release-plugin] prepare for next development iteration 2014-04-02 10:55:29 -05:00
Jesse McConnell
c616ece6c7 [maven-release-plugin] prepare release jetty-9.1.4.v20140401 2014-04-02 10:55:21 -05:00
Greg Wilkins
81e14cf59d tests fail with new ISP? 2014-03-31 13:42:22 +11:00
Greg Wilkins
c5e1e249e7 set version for 9.2.x 2014-03-31 11:35:06 +11:00
Greg Wilkins
28445fc629 Merge remote-tracking branch 'origin/master' into jetty-9-alpn 2014-03-31 09:59:52 +11:00
Simone Bordet
1089a33578 Fixed imports referencing JUnit 3 and old matcher libraries. 2014-03-27 15:34:48 +01:00
Joakim Erdfelt
6cba8ee375 Sprinkling in some test timeouts for the Java 8 build 2014-03-25 10:43:38 -07:00
Simone Bordet
cda4af3ec9 431103 - Complete listener not called if request times out before processing exchange.
Fixed by forcing the abort of the exchange in [Pooling|Multiplex]HttpDestination.
2014-03-25 18:18:14 +01:00
Simone Bordet
382bfebcae Removed code that should never run, and replaced it wil IllegalStateException. 2014-03-22 14:49:00 +01:00
Simone Bordet
565d17dc8c 430808 - OutputStreamContentProvider violates OutputStream contract.
Fixed OutputStreamContentProvider to perform blocking write() calls and
implemented OutputStream.flush().
HttpSender now notifies the ContentProvider iterator of write completion
and if it implements Callback.
This is used in DeferredContentProvider to provide a blocking flush()
functionality.
2014-03-21 21:15:31 +01:00
Simone Bordet
5c0aae2f12 Removed unused field in ResponseNotifier.
Catching Throwable in RequestNotifier and ResponseNotifier when
notifying listeners.
2014-03-21 21:15:31 +01:00
Jesse McConnell
0ec0d452e9 [maven-release-plugin] prepare for next development iteration 2014-03-07 09:10:08 -06:00
Jesse McConnell
1e555567a9 [maven-release-plugin] prepare release jetty-9.1.3.v20140225 2014-03-07 09:10:08 -06:00
Simone Bordet
3e52b60452 428266 - HttpRequest mangles URI query string.
Now raw query string is preserved.
2014-02-21 16:24:52 +01:00
Simone Bordet
7db67ff58f Removed @SuppressWarnings("ForLoopReplaceableByForEach") because
it is a non standard warning not treated by the compiler but only
by IDEs. Relevant lines have comments in any case.
2014-02-21 14:50:45 +01:00
Jesse McConnell
eb0aea46ce set versions.txt file to new version and fix mistaken developmentVersion 2014-02-10 13:48:29 -06:00
Jesse McConnell
f3d38dfb15 [maven-release-plugin] prepare for next development iteration 2014-02-10 11:17:14 -06:00
Jesse McConnell
8f6cbc9111 [maven-release-plugin] prepare release jetty-9.1.2.v20140210 2014-02-10 11:17:07 -06:00
Simone Bordet
9356ab46da Made test more robust.
The check for the connection being closed may fail spuriously because
the notification of CompleteListener happens before the connection is
closed.
2014-02-06 11:56:25 +01:00
Simone Bordet
f147362915 427512 - ReadPendingException in case of HTTP Proxy tunnelling.
Fixed by marking the old HttpConnection as "soft closed", that is
make it so that isClosed() returns true but the underlying EndPoint
is not closed.
This allows the HttpReceiver to skip the registration for fill
interest, so that the ReadPendingException is not thrown.
2014-02-05 21:30:06 +01:00
Simone Bordet
cbdfd87d78 426870 - HTTP 1.0 Request with Connection: keep-alive and response
content hangs.

Fixed HttpGenerator to stay in the EOF_CONTENT mode if such case is
detected (while before it was moving to NO_CONTENT mode).
By staying in EOF_CONTENT mode the generator is made non-persistent
and eventually the connection is closed, signaling the end-of-content
to the client.
2014-01-29 11:20:00 +01:00
Simone Bordet
99b5b61b0b Simplified handling of "Connection: close" response header. 2014-01-14 22:51:18 +01:00
Jesse McConnell
b82ec6e668 [maven-release-plugin] prepare for next development iteration 2014-01-08 16:47:09 -06:00
Jesse McConnell
b99623a21d [maven-release-plugin] prepare release jetty-9.1.1.v20140108 2014-01-08 16:47:01 -06:00
Simone Bordet
8720fb213c 425043 - Track whether pools are used correctly.
Introduced LeakDetector and utility classes LeakTrackingConnectionPool
and LeakTrackingByteBufferPool to track resource pool leakages.

Fixed ConnectionPool to be more precise in closing connections when
release() cannot recycle the connection.

Fixed a leak in server's HttpConnection in case a request arrives with
the Connection: close header: a ByteBuffer was allocated but never
released.
2014-01-07 19:44:29 +01:00
Simone Bordet
6cb93e026f Cosmetics. 2014-01-07 19:44:29 +01:00
Simone Bordet
69187e117d Added missing call to super.close(). 2014-01-07 19:44:29 +01:00
Simone Bordet
4722ac1720 Improved semantic of close() method, now executed only once. 2014-01-07 19:44:29 +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
330e7f87d7 Removed check on the HttpSender.content field, that could lead to
NullPointerExceptions.

Checking whether the content was last and then acting was not atomic,
and the action being executed is designed to be run concurrently,
so the check was not needed.
2013-12-20 13:08:26 +01:00
Simone Bordet
8d621a9331 424043 - IteratingCallback Idle race.
A few renamings and fixes to avoid IllegalStateExceptions.
2013-12-15 23:51:04 +01:00
Simone Bordet
41fc2b8f87 424043 - IteratingCallback Idle race.
Renamed Next enum to Action, and renamed some constant of the State
enum to avoid confusion with the Action enum.

Simplified succeeded() and failed(Throwable) code,
covering also cases not covered before.

Fixed case SCHEDULED in succeeded() that was returning in case the
compareAndSet failed.

Fixed race in perform(), where 2 threads may execute concurrently
after having returned from process().

Vastly improved javadocs and comments.
2013-12-15 00:47:55 +01:00
Greg Wilkins
7141483356 424043 - IteratingCallback Idle race 2013-12-14 09:14:12 +11:00
Simone Bordet
5bbdbadec7 421795 - ContentProvider should have a method to release resources.
Implemented close of the request content based on the fact that the
Iterator returned by the content provider implements Closeable.
2013-12-13 18:47:38 +01:00
Simone Bordet
b0c275837b 421794 - Iterator from InputStreamProvider is not implemented properly.
Now the iterator contract is better respected.
2013-12-13 16:32:14 +01:00
Simone Bordet
6473bbc2b6 424014 - PathContentProvider does not close its internal
SeekableByteChannel.

Fixed by closing the channel when it has been fully read and in case
of exceptions.
2013-12-13 14:27:13 +01:00
Simone Bordet
125cfe7e71 419911 - Empty chunk causes ArrayIndexOutOfBoundsException in
InputStreamResponseListener.

Fixed by adding relevant checks for zero-length content,
and not notifying listeners in such case.
2013-12-11 16:02:14 +01:00
Simone Bordet
f2cc5295df 422264 - OutputStreamContentProvider does not work with Basic
Authentication.

Improved exception message in case of reuse of the same instance in
multiple requests.
2013-12-11 15:24:52 +01:00
Simone Bordet
6f87a9b995 Added test that verifies that the host header is correctly
overwritten by a user-provided value.
2013-12-10 16:59:54 +01:00
Greg Wilkins
1eb2997efd 421697 - IteratingCallback improvements
avoid wrapping writeCallback
Idle state added to IteratingCallback for SPDY
2013-11-21 14:52:39 +11:00
Joakim Erdfelt
9172d6115b [maven-release-plugin] prepare for next development iteration 2013-11-15 16:58:44 -07:00