1251 Commits

Author SHA1 Message Date
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
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