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
Simone Bordet
a96d7c388c
Initial implementation of 431642 (async proxy servlet).
2014-04-01 15:45:52 +02: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
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
Simone Bordet
9fd27b2f8b
419901 - Client always adds extra user-agent header.
...
Added test case.
2013-10-21 10:39:37 +02:00
Simone Bordet
7520389c91
419901 - Client always adds extra user-agent header.
...
Improved test case.
2013-10-21 10:39:06 +02:00
Simone Bordet
b46af29a42
419901 - Client always adds extra user-agent header.
...
Added test case.
2013-10-21 10:28:34 +02:00
Greg Wilkins
c44537fca8
419899 Do not wrap SSL Exception as EoFException
2013-10-21 16:29:20 +11:00
Simone Bordet
2d6190da59
Refactored class Fields to a better API.
2013-10-18 13:55:49 +02:00
Simone Bordet
c1832b29fb
Merged branch 'master' into 'jetty-9.1'.
2013-10-17 12:37:37 +02:00
Simone Bordet
7618826349
419687 - HttpClient's query parameters must be case sensitive.
...
Modified class Fields to take a boolean parameter that defines
whether it is case sensitive or not, and updated HttpRequest to use
a case sensitive Fields instance for the query parameters.
2013-10-17 12:37:01 +02:00
Simone Bordet
e408bd64c7
Improved HttpClient's proxy configuration by using Strings as
...
included and excluded addresses. This allows to pass in Strings such
as 127.0.0.1/8 or other wildcard formats.
2013-10-17 10:44:39 +02:00
Simone Bordet
45e6ac2a5d
Javadocs: clarified that timeouts are in milliseconds.
2013-10-16 17:23:32 +02:00
Simone Bordet
114a95234b
Merged branch 'master' into 'jetty-9.1'.
2013-10-16 16:30:04 +02:00
Simone Bordet
45828ee906
418892 - SSL session caching so unreliable it effectively does not
...
work.
Fixed by making sure that we completely decrypt read bytes.
Before the fix, it was possible that we returned after the decryption
of one TLS frame, while another was still present in the
_encryptedBuffer.
This lead to non-clean closes of the connection, which hampered the
capability of session reuse by clients.
Now we decrypt in a loop and only return if there is nothing more
that we can decrypt.
2013-10-16 16:27:36 +02:00
Greg Wilkins
33b10efcaa
Merge remote-tracking branch 'origin/release-9'
2013-10-14 11:12:31 +11:00
Simone Bordet
25d9b8704f
417356 - Add SOCKS support to jetty client.
...
Big refactoring to allow for additional proxy schemes that work at a
lower level than HTTP.
Introduced client-side ConnectionFactory, and binding that to a
HttpDestination, so that connections to that destination will use the
same ConnectionFactory.
The destination's ConnectionFactory is now initialized from the proxy
configuration and the transport, which is now itself a
ConnectionFactory.
The proxy configuration has also changed becoming polymorphic by
introducing a new ProxyConfiguration.Proxy abstract class,
which is implemented as HTTPProxy and can be implemented in future as
SOCKS4Proxy (and possibly others).
2013-10-08 15:06:39 +02:00
Jan Bartel
8cb1001007
Merge remote-tracking branch 'origin/master' into jetty-9.1
2013-10-01 09:12:43 +10:00
Jan Bartel
a6f0883ca3
Remove explicit port number from jetty-client SslBytesClientTest
2013-10-01 09:05:05 +10:00