Commit Graph

1100 Commits

Author SHA1 Message Date
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
Joakim Erdfelt 6feeab6ec3 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:58:36 -07:00
Joakim Erdfelt 7bbc0ff4df [maven-release-plugin] rollback the release of jetty-9.1.0.v20131115 2013-11-15 16:33:52 -07:00
Joakim Erdfelt 1126e68971 [maven-release-plugin] prepare for next development iteration 2013-11-15 16:03:28 -07:00
Joakim Erdfelt d6418c73d4 [maven-release-plugin] prepare release jetty-9.1.0.v20131115 2013-11-15 16:03:20 -07:00
Joakim Erdfelt 6c372b9440 Reverting <version> to 9.1.0-SNAPSHOT 2013-11-15 15:36:26 -07:00
Jesse McConnell b5345caed1 [maven-release-plugin] prepare for next development iteration 2013-11-14 15:27:52 -06:00
Jesse McConnell 1582aa196d [maven-release-plugin] prepare release jetty-9.1.0.v20131114 2013-11-14 15:27:37 -06:00
Jesse McConnell 63f20d4518 [maven-release-plugin] prepare for next development iteration 2013-11-07 10:42:54 -06:00
Jesse McConnell dc2fd1b9ce [maven-release-plugin] prepare release jetty-9.1.0.RC2 2013-11-07 10:42:41 -06:00
Simone Bordet 293efe9798 421198 - onComplete never call onComplete in
BufferingResponseListener in 9.1.

Introduced new method Request.onComplete(CompleteListener) to be able
to specify a CompleteListener even when using the blocking Request
.send() method.
2013-11-07 13:33:46 +01:00
Joakim Erdfelt aba3a41a34 More fixes for Windows build 2013-11-04 16:50:18 -07:00
Joakim Erdfelt 4bd1a041f7 Merge branch 'jetty-9.1' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-9.1 2013-11-04 15:00:17 -07:00
Joakim Erdfelt 2c9ea8d4b7 Windows build fixes 2013-11-04 14:59:47 -07:00
Greg Wilkins f567bddad9 global clean up imports 2013-11-04 13:48:03 +11:00
Greg Wilkins eb3bb660b5 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-client/src/main/java/org/eclipse/jetty/client/util/DigestAuthentication.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpReceiverTest.java
	jetty-client/src/test/java/org/eclipse/jetty/client/HttpSenderTest.java
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpField.java
	jetty-server/src/test/java/org/eclipse/jetty/server/AbstractHttpTest.java
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/AbstractDoSFilterTest.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/generator/HeadersBlockGenerator.java
	jetty-spdy/spdy-core/src/main/java/org/eclipse/jetty/spdy/parser/HeadersBlockParser.java
	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketFrame.java
	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateCompressionMethodTest.java
	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
2013-11-03 18:22:09 +11:00
Mikhail Mazursky 6b0269a16d [Bug 420930] Use Charset to specify character encoding
Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-11-02 14:44:36 +06:00
Simone Bordet 3066b673e9 Merged branch 'master' into 'jetty-9.1'. 2013-10-28 11:18:09 +01:00
Simone Bordet 3a10aa4164 419964 - InputStreamContentProvider does not close provided
InputStream.

Now closing the provided InputStream when reading -1 or when an
exception is thrown.
2013-10-28 11:13:17 +01:00
Simone Bordet abac85e129 420364 - Bad synchronization in HttpConversation. 2013-10-25 14:55:48 +02:00
Simone Bordet b9fcd6695c Merged via cherry-pick branch 'master' into 'jetty-9.1'. 2013-10-25 14:21:11 +02:00
Simone Bordet a28e4730ad 420362 - Response/request listeners called too many times.
Wrapped on[Request|Response]XXX(XXXListener) listeners into their
specific interface so that they don't get notified multiple times.
2013-10-25 14:08:55 +02:00
Simone Bordet 2e434ef1e8 Refactored HttpDestinationOverHTTP into a PoolingHttpDestination
base class for reuse from other transports.
2013-10-25 13:02:33 +02:00
Joakim Erdfelt 5965e695fa Cleaning up modules 2013-10-24 14:06:50 -07:00
Simone Bordet 1df50f86f9 Improved logging and toString() implementations. 2013-10-22 19:17:35 +02:00
Simone Bordet 8d9fd6ad71 Improved connection/destination close, so that a connection can
always notify its destination that it has been closed.
2013-10-22 18:00:55 +02:00
Simone Bordet c705bb9480 Avoid overwrite of the abort cause. 2013-10-22 14:03:09 +02:00
Simone Bordet dcbc0d9a21 Merged branch 'master' into 'jetty-9.1'. 2013-10-22 13:34:06 +02:00
Simone Bordet 1ce2ec0007 420039 - BufferingResponseListener continues processing after
aborting request.
2013-10-22 13:33:19 +02:00
Simone Bordet 41eed8f836 419904 - Data corruption on proxy PUT requests.
Fixed InputStreamContentProvider to not reuse the byte[] to read from
the stream.
2013-10-22 12:40:32 +02:00
Simone Bordet eaefd17652 420012 - Improve ProxyServlet.Transparent configuration in case prefix="/". 2013-10-21 22:41:39 +02:00
Simone Bordet 0c80567c12 Using StandardCharset fields instead of Charset.forName(). 2013-10-21 16:14:18 +02:00
Simone Bordet 208382b07d Removed test dependencies on Ning's and Apache's HTTP client. 2013-10-21 11:27:23 +02:00
Simone Bordet 5cc0247a67 Merged branch 'master' into 'jetty-9.1'. 2013-10-21 10:49:15 +02:00
Simone Bordet 4b2756c4b0 419950 - Provide constructor for StringContentProvider that takes
Charset.
2013-10-21 10:48:34 +02:00
Simone Bordet df209b7b70 419901 - Client always adds extra user-agent header.
Fixed handling of the user agent header.
2013-10-21 10:42:41 +02:00
Simone Bordet 88541bef2f Merged branch 'master' into 'jetty-9.1'. 2013-10-21 10:41:01 +02:00