Commit Graph

1397 Commits

Author SHA1 Message Date
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 e63ceabafe Merged branch 'origin/master' into 'jetty-http2'. 2014-06-25 17:29:36 +02:00
Simone Bordet 7b7c592fc8 Improved logging. 2014-06-25 17:26:04 +02:00
Simone Bordet 66f3913527 Merged branch 'origin/master' into 'jetty-http2'. 2014-06-25 12:34:19 +02:00
Simone Bordet 3ff4195dbc Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[]. 2014-06-25 12:26:45 +02:00
Simone Bordet aef2f42b5b FastCGI applications needs the Host header, which is missing in HTTP/2. 2014-06-18 11:18:48 +02:00
Greg Wilkins 272e1d8da5 Refactored HttpChannel to not have direct HttpParser dependency 2014-06-17 00:02:50 +02:00
Simone Bordet 334db9fe72 Updated version to 9.3.0-SNAPSHOT. 2014-06-16 21:33:03 +02:00
Greg Wilkins bbd61f8e19 Multiple mixed in changes and improvements
Simplified HttpParser as per rfc7230
implemented local/remote hpack max table sizes
2014-06-11 15:16:40 +02:00
Jesse McConnell c3ee0711ca [maven-release-plugin] prepare for next development iteration 2014-06-09 13:37:54 -05:00
Jesse McConnell 06b494eeac [maven-release-plugin] prepare release jetty-9.2.1.v20140609 2014-06-09 13:37:49 -05:00
Greg Wilkins 8f4aeeeb8d updated version to 10.0.0-SNAPSHOT 2014-06-04 15:08:54 +02:00
Jesse McConnell 2e859e4ae2 [maven-release-plugin] prepare for next development iteration 2014-05-26 12:04:15 -05:00
Jesse McConnell 71ad2114c5 [maven-release-plugin] prepare release jetty-9.2.0.v20140526 2014-05-26 12:04:08 -05:00
Jesse McConnell d59dbe936b [maven-release-plugin] prepare for next development iteration 2014-05-23 09:59:19 -05:00
Jesse McConnell edc7646a4c [maven-release-plugin] prepare release jetty-9.2.0.v20140523 2014-05-23 09:59:13 -05:00
Simone Bordet 7918a58c71 Using Callback.Adapter.INSTANCE to avoid unneeded allocations. 2014-05-19 18:49:17 +02:00
Simone Bordet d75b9177c5 432939 - Jetty Client ContentResponse should have methods such as getContentType() and getMediaType().
Introduced ContentResponse.getMediaType() and ContentResponse .getEncoding(),
as well as BufferingResponseListener.getMediaType() to make the media
type and the encoding available to applications.
2014-05-15 10:58:49 +02:00
Simone Bordet b603964bb6 433089 - Client should provide Request.accept() method, like JAX-RS 2.0 Invocation.Builder.accept(). 2014-05-15 10:23:24 +02:00
Simone Bordet fa51281546 Avoided allocation of rarely used containers. 2014-05-15 09:59:31 +02:00
Simone Bordet eb1900d10b 428966 - Per-request cookie support. 2014-05-15 09:57:20 +02:00
Simone Bordet 660c05d399 URLEncoding also parameter names. 2014-05-15 09:09:41 +02:00
Simone Bordet c322ed4b90 419972 - Support sending forms (application/x-www-form-urlencoded).
Implemented introducing HttpClient.FORM() method and
FormContentProvider, based on Fields.
2014-05-14 23:54:26 +02:00
Simone Bordet bf7ab5d326 420368 - Default content types for ContentProviders.
Introduced ContentProvider.Typed to specify a content type along with
the content.
2014-05-14 23:54:25 +02:00
Simone Bordet be3848a371 433689 - Evict old HttpDestinations from HttpClient. 2014-05-14 11:34:34 +02:00
Simone Bordet a803465551 Invalidating the content decoders in case of Iterator.remove(). 2014-05-14 10:28:45 +02:00
Simone Bordet 521aa1d566 Improved Javadocs. 2014-05-14 09:58:10 +02:00
Simone Bordet 20dbde165e 434578 - Complete listener not called if redirected to an invalid URI.
Fixed by catching the exception and failing properly the redirect.
2014-05-11 11:22:39 +02:00
Simone Bordet d92ac8062b Avoid IllegalStateException in case of abort concurrent to header
generation.
2014-05-11 11:21:11 +02:00
Simone Bordet 0e4a903764 Removed deprecated getConversationID() method. 2014-05-11 10:14:03 +02:00
Greg Wilkins 51c5a4c833 425421 ContainerLifeCycle does not start added beans in started state 2014-05-05 14:53:53 +02:00
Simone Bordet c4b5e3d3d7 Introduced CompletableCallback to handle asynchronous content on clients. 2014-05-04 23:14:45 +02:00
Simone Bordet 9b388750fa 433916 - HttpChannelOverHttp handles HTTP 1.0 connection reuse incorrectly.
Fixed by properly checking the HTTP version and whether the
Connection: keep-alive header is present.
2014-05-04 19:42:22 +02:00
Simone Bordet f628241875 433916 - HttpChannelOverHttp handles HTTP 1.0 connection reuse incorrectly.
Fixed by properly checking the HTTP version and whether the
Connection: keep-alive header is present.
2014-05-04 16:03:26 +02:00
Simone Bordet a1d18a157d Added onReadFailure() callback to allow subclasses to perform actions
in case of read failures.
2014-05-02 22:45:56 +02:00
Simone Bordet 43454ebd0a Merged branch 'master' into '431642'. 2014-04-30 15:34:54 +02:00
Simone Bordet 906dc83691 431642 - Implement ProxyServlet using Servlet 3.1 async I/O.
Implemented correctly AsyncProxyServlet, tests passing.
2014-04-30 15:34:30 +02:00
Greg Wilkins 1c97fd3c42 433692 improved buffer resizing 2014-04-30 11:57:50 +02:00
Greg Wilkins 2e261b75d6 433692 improved buffer resizing 2014-04-29 20:36:13 +02:00
Simone Bordet ca67a9e10d Merged branch 'master' into '431642'. 2014-04-29 15:59:23 +02:00
Simone Bordet b4d1060e88 Avoid to null out the cookieStore field in doStop(), to prevent random NPEs while stopping. 2014-04-29 15:15:55 +02:00
Simone Bordet aeb27cd461 431642 - Implement ProxyServlet using Servlet 3.1 async I/O.
Intermediate commit that implements asynchronous content in HttpClient,
for the HTTP protocol, passing the tests.

This work needs to be extended to FCGI and SPDY and finally implement
the asynchronous proxy servlet.
2014-04-19 12:36:15 +02:00
Simone Bordet 04f4e6fb5b Merged branch 'master' into '431642'. 2014-04-18 15:08:53 +02:00
Simone Bordet f2e2eec4d5 Merged branch 'jetty-9.1.x' into 'master'. 2014-04-15 09:04:20 +02:00
Simone Bordet 361d8e5bd2 432528 - IllegalStateException when using DeferredContentProvider.
Fixed by using the correct idiom for calling the IteratingCallback.
2014-04-15 09:03:30 +02:00
Simone Bordet d6e538a9d2 Avoid duplicating existing headers when copying requests. 2014-04-15 09:03:30 +02:00
Simone Bordet 3717115059 Merged branch 'jetty-9.1.x' into 'master'. 2014-04-11 17:02:26 +02:00
Simone Bordet 5eeda38f0a 432270 - Slow requests with response content delimited by EOF fail.
Fixed also in the FastCGI module.
2014-04-11 16:18:38 +02:00
Simone Bordet 4975cae881 Further progress on 431642 (async proxy servlet). 2014-04-11 09:45:21 +02:00
Simone Bordet aebab6919c Improved IllegalStateException reporting. 2014-04-10 09:04:40 +02:00
Simone Bordet dfa2d05bcc 432270 - Slow requests with response content delimited by EOF fail.
Better handling of the idle case, and closing the connection only
if the response can be failed.
2014-04-10 09:04:11 +02:00
Simone Bordet 74d66a87f6 Made the test more reliable. 2014-04-10 09:03:19 +02:00
Simone Bordet 3cd7dfd445 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-10 09:00:17 +02:00
Simone Bordet e3662a9b23 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-10 08:59:30 +02:00
Greg Wilkins 0e458c80f4 reverted version to SNAPSHOT 2014-04-10 16:37:25 +10:00
Simone Bordet 44fe5daa69 Restored proper logging level. 2014-04-09 18:33:23 +02:00
Simone Bordet 7e3c7f3588 Temporary commit to understand why HttpReceiverOverHTTPTest.test_Receive_GZIPResponseContent_Fragmented() fails.
To be reverted.
2014-04-09 01:33:20 +02:00
Simone Bordet a8de18379c Improved IllegalStateException reporting. 2014-04-09 00:08:30 +02:00
Simone Bordet 5f8513e67e 432270 - Slow requests with response content delimited by EOF fail.
Better handling of the idle case, and closing the connection only
if the response can be failed.
2014-04-08 17:38:04 +02:00
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
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
Jesse McConnell 856a24b65a [maven-release-plugin] prepare for next development iteration 2013-09-30 14:46:09 -05:00
Jesse McConnell f466f03c6a [maven-release-plugin] prepare release jetty-9.0.6.v20130930 2013-09-30 14:46:00 -05:00
Jesse McConnell 0b3f431d27 set version back to 9.0.6-SNAPSHOT 2013-09-30 12:33:06 -05:00
Greg Wilkins 6146f0cc9c cleanup threadpool usage 2013-09-30 14:07:17 +10:00
Jesse McConnell 0525498ad3 [maven-release-plugin] prepare for next development iteration 2013-09-19 15:06:31 -05:00
Jesse McConnell c05a725db6 [maven-release-plugin] prepare release jetty-9.0.6.v20130919 2013-09-19 15:06:17 -05:00
Joakim Erdfelt 5c72f6975a [maven-release-plugin] prepare for next development iteration 2013-09-16 11:06:25 -07:00
Joakim Erdfelt 9d26e0b32a [maven-release-plugin] prepare release jetty-9.1.0.M0 2013-09-16 11:06:18 -07:00
Joakim Erdfelt e53029ac8e [maven-release-plugin] rollback the release of jetty-9.1.0.M0 2013-09-16 10:41:04 -07:00
Joakim Erdfelt 07abfa0c5d [maven-release-plugin] prepare release jetty-9.1.0.M0 2013-09-16 10:25:54 -07:00
Joakim Erdfelt b353686608 Reverting back to SNAPSHOTS 2013-09-16 10:00:18 -07:00
Greg Wilkins 9677f6e863 [maven-release-plugin] prepare release jetty-9.1.0.M0 2013-09-17 01:03:16 +10:00
Greg Wilkins 070ce9dd22 Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
	jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java
2013-09-09 15:41:17 +10:00
Mikhail Mazursky 767faece5c [Bug 415999] Fix some of FindBugs warnings
Mostly not closed streams/DB resources are fixed. But also less
important things.

Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-09-09 00:24:31 -04:00
Simone Bordet 3cdf4dece1 Refactored some behaviour to base classes to ease the FCGI
implementation, and taken the chance to remove redundant code.
2013-09-07 00:36:31 +02:00
Simone Bordet 4663fa4992 Renamed "Empty" inner classes to "Adapter" to comply with the rest of
the codebase.
2013-09-04 13:15:23 +02:00
Simone Bordet 3be5670448 413387 - onResponseHeaders is not called multiple times when multiple
redirects occur.

Refactored the redirection code into HttpRedirector to ease
applications that need to access the redirect URI and then redirect.
2013-09-04 12:57:02 +02:00
Simone Bordet e65f21634d 415047 - Create URIs lazily in HttpClient.
URIs are now created lazily, although a call to Request.getURI() is
made anyway for each request sending (and therefore the URI is
created anyway for each send). However, we save creating multiple
URIs in case the scheme, path, query or params are changed before
sending the request.
2013-09-04 09:58:20 +02:00
Simone Bordet f10562f269 Merged branch 'master' into 'jetty-9.1'. 2013-09-03 10:41:15 +02:00
Simone Bordet 78c322af8e 416314 - jetty async client wrong behaviour for HEAD Method + Redirect.
Fixed redirect behavior based on
http://greenbytes.de/tech/tc/httpredirects/.
2013-09-03 10:34:30 +02:00
Simone Bordet 5e3322cd11 Removed unused dependencies. 2013-08-30 16:30:14 +02:00
Jesse McConnell ac30f5c9bd update other jetty mods to new format 2013-08-29 16:39:28 -05:00
Joakim Erdfelt 2e94149ea3 Merge branch 'jetty-9.1' into jetty-9.1-altstart 2013-08-23 11:49:41 -07:00
Jesse McConnell 725e405dac first pass for mod files for distribution 2013-08-22 11:53:58 -05:00
Greg Wilkins 59540abeda Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
	jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java
	jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
2013-08-22 22:58:58 +10:00
Simone Bordet c0ed8375d3 Removed unnecessary hack to determine the logger name. 2013-08-22 12:20:18 +02:00
Simone Bordet 8f41e33938 Improved idle timeout mechanism. 2013-08-22 12:17:13 +02:00
Thomas Becker f11d9ba4d6 Remove HttpStalledServerConnectionTest 2013-08-21 10:43:07 +02:00
Jan Bartel c80100b4a9 [maven-release-plugin] prepare for next development iteration 2013-08-15 19:13:27 +10:00
Jan Bartel e7e7e45500 [maven-release-plugin] prepare release jetty-9.0.5.v20130815 2013-08-15 19:13:13 +10:00
Jan Bartel 716430bb03 [maven-release-plugin] rollback the release of jetty-9.0.5.v20130815 2013-08-15 18:03:49 +10:00
Jan Bartel 3d13c15d35 [maven-release-plugin] prepare release jetty-9.0.5.v20130815 2013-08-15 17:22:03 +10:00
Jan Bartel 7947b35134 Reset version for rerun of 9.0.5 2013-08-15 16:47:03 +10:00
Joakim Erdfelt ffad720991 Fixing Javadoc errors that JDK 1.7 complains about 2013-08-14 11:50:07 -07:00
Joakim Erdfelt 6572dfae27 Fixing javadoc in jetty-client that JDK 1.7 complains about 2013-08-14 11:05:34 -07:00
Simone Bordet 34032552ea Avoid boxing of primitive int variables in logging statements. 2013-08-14 14:33:05 +02:00
Thomas Becker ed3d168496 fix HttpReceiver typo in javadoc 2013-08-14 12:17:23 +02:00
Jesse McConnell 4383c9042d [maven-release-plugin] prepare for next development iteration 2013-08-13 14:20:56 -05:00
Jesse McConnell 160d34ec23 [maven-release-plugin] prepare release jetty-9.0.5.v20130813 2013-08-13 14:20:47 -05:00
Thomas Becker fffdd6b2fa Connection javadoc fix 2013-08-13 18:27:06 +02:00
Simone Bordet 6019a37064 Merged branch 'master' into 'jetty-9.1'. 2013-08-13 16:25:04 +02:00
Simone Bordet 759c7096b2 414972 - HttpClient may read bytes with pre-tunnelled connection.
Now the receiver checks whether the connection is closed, and returns
immediately if it is without "stealing" the bytes to the tunnelled
connection.
2013-08-13 16:01:16 +02:00
Simone Bordet d86ceaf790 HttpClient optimizations.
HttpConnectionPool now puts "hot" idle connection in the front of a deque,
rather than at the end of a queue, so that the hotter they are the more they
are used.

HttpRequest is now initialized with better defaults so that
HttpConnection.normalizeRequest() has less work to do.
This reduced the number of branches to be executed for each request.

HttpDestination now produces less garbage by using Jetty's BlockingArrayQueue
instead of Java's LinkedBlockingQueue.

HttpClient has now a bigger response buffer, 16 KiB, by default.
2013-08-05 19:36:19 +02:00
Simone Bordet 8c2be70330 Merged branch 'master' into 'jetty-9.1'. 2013-07-25 17:11:09 +02:00
Simone Bordet 89977cdab1 Completed a couple of TODOs. 2013-07-25 16:40:48 +02:00
Simone Bordet 743c78cc0c 412846 - jetty Http Client Connection through Proxy is failing with Timeout.
The problem was due to the fact that the server replied with HTTP/1.0
to the CONNECT request; because of this, the parser was not set in the
"head response mode".

Now we are setting the parser in the head response mode also if the
request method is a CONNECT.
2013-07-25 16:38:22 +02:00
Simone Bordet ee3c249579 Merged branch 'jetty-7' into 'jetty-8'. 2013-07-25 16:08:58 +02:00
Simone Bordet 3b18490ead 409028 - Jetty HttpClient does not work with proxy CONNECT method.
The problem was due to the fact that the server replied with HTTP/1.0
to the CONNECT request; because of this, the parser was set as non
persistent, and the tunnel was immediately closed.

Now we are setting the parser as persistent if the method is a CONNECT,
no matter what HTTP version the server specifies.
2013-07-25 16:08:02 +02:00
Jan Bartel 1d77a139fd Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-07-25 23:06:33 +10:00
Jan Bartel 50a67eac6a Merge remote-tracking branch 'origin/jetty-8'
Conflicts:
	jetty-client/src/main/java/org/eclipse/jetty/client/HttpExchange.java
	jetty-client/src/test/java/org/eclipse/jetty/client/IdleTimeoutTest.java
	jetty-http/src/main/java/org/eclipse/jetty/http/HttpGenerator.java
2013-07-25 13:22:14 +10:00
Jan Bartel 72b077921d Merge remote-tracking branch 'origin/jetty-7' into jetty-8 2013-07-25 11:26:35 +10:00
Simone Bordet f4a41efaad Merged branch 'master' into 'jetty-9.1'. 2013-07-24 11:21:36 +02:00
Simone Bordet 0f702624a3 410668 - HTTP client should support the PATCH method.
Modified the Request interface to add method(String) so that
additional HTTP methods (such as from WebDAV) can be used.
2013-07-24 10:33:42 +02:00
Simone Bordet 7b4ebc270c Merged branch 'master' into 'jetty 9.1'. 2013-07-23 18:44:45 +02:00
Simone Bordet 108aa247b4 412814 - HttpClient calling CompleteListener.onComplete() twice.
The problem was stemming from the HttpSender completing the response,
but the response was actually completed by HttpReceiver, resulting in the
double call to onComplete().

Now HttpSender checks whether it was able to complete the response, and
only in that case calls the onComplete() callback.
2013-07-23 18:40:46 +02:00
Simone Bordet f62c72c02b Fixed compilation error. 2013-07-23 17:28:51 +02:00
Simone Bordet 1c95bf9876 Code cleanups. 2013-07-23 16:47:03 +02:00
Simone Bordet d0f0dedf20 413531 - Introduce pluggable transports for HttpClient.
Merge of the branch 'http_client_transport' is now complete,
and the implementation is sound for the HTTP transport.
A basic implementation for the SPDY transport exists, but needs
improvements.
2013-07-23 16:08:56 +02:00
Simone Bordet a1032465b8 Improved documentation. 2013-07-23 15:53:35 +02:00
Simone Bordet 55c204b3ba Fixed InputStreamContentProvider.hasNext() to be idempotent until next() is called. 2013-07-23 15:53:35 +02:00
Simone Bordet beee37e96a Moved HttpClientTransport SPDY implementation in its own module under the SPDY project. 2013-07-23 15:53:35 +02:00
Simone Bordet af06b25538 Javadocs. 2013-07-23 15:53:35 +02:00
Simone Bordet b82444e3d2 Improved HttpSender.sendHeaders() and sendContent() methods, separating HttpContent and the callbacks. 2013-07-23 15:53:35 +02:00
Simone Bordet 64a8811a5b Proceeding only if expecting a 100-Continue response. 2013-07-23 15:50:51 +02:00
Simone Bordet bf47119109 Improved exception handling in HttpSender. 2013-07-23 15:50:51 +02:00
Simone Bordet 1fa4a47f1d Added debug code for terminal chunk bug. 2013-07-23 15:50:51 +02:00
Simone Bordet b246d70103 Updated HttpClient code to Jetty 9.1 after merge. 2013-07-23 15:50:51 +02:00
Simone Bordet a4c63caf26 Working draft of the abstraction of HttpClient transport. 2013-07-23 15:50:51 +02:00
Simone Bordet 3b7322f53b Merged branch 'master' into 'jetty-9.1'. 2013-07-23 10:01:17 +02:00
Simone Bordet 0aa2a5b6bb 411844 - ArrayIndexOutOfBoundsException on wild URL.
URLs like /path?= are now handled correctly.
2013-07-22 17:22:16 +02:00
Greg Wilkins b8f7637e7d Merge remote-tracking branch 'origin/master' into jetty-9.1 2013-07-22 23:32:04 +10:00
Simone Bordet 762e4ba4c3 413113 - Inconsistent Request.getURI() when adding parameters via Request.param().
Fixed by rebuilding the URI when a call to param() is made.
2013-07-16 21:50:22 +02:00
Simone Bordet 1555a7eb0a 413108 - HttpClient hardcodes dispatchIO=false when using SSL.
Reverted to use default value for dispatchIO - without hardcoding it.
2013-07-16 21:33:47 +02:00
Thomas Becker 5667928921 HttpStalledServerConnectionTest fixes 2013-07-15 14:13:36 +02:00
Thomas Becker 891a2c2b36 add HttpStalledServerConnectionTest, small improvements to ProxySPDYToHTTPLoadTest 2013-07-12 08:40:35 +02:00
Thomas Becker af02334ff7 412750 HttpClient close expired connections fix 2013-07-11 15:13:01 +02:00
Greg Wilkins 7303341ecf 398467 Servlet 3.1 Non Blocking IO
more test fixes
2013-07-11 18:45:04 +10:00
Greg Wilkins cd97b3dcbf 398467 Servlet 3.1 Non Blocking IO
fixed more tests
2013-07-11 15:57:42 +10:00
Greg Wilkins 981102fda5 398467 Servlet 3.1 Non Blocking IO
Asynchronous reads working.
2013-07-05 18:11:09 +10:00
Joakim Erdfelt 78b5f7df1f [maven-release-plugin] prepare for next development iteration 2013-06-25 08:29:26 -07:00
Joakim Erdfelt 5f2c937fcb [maven-release-plugin] prepare release jetty-9.0.4.v20130625 2013-06-25 08:29:18 -07:00
Joakim Erdfelt 31faf2fe20 Reverting failed release from friday 2013-06-25 07:42:45 -07:00
Jesse McConnell 57bfda2a08 [maven-release-plugin] prepare for next development iteration 2013-06-21 09:49:25 -05:00
Jesse McConnell c1082ad4d4 [maven-release-plugin] prepare release jetty-9.0.4.v20130621 2013-06-21 09:49:15 -05:00
Joakim Erdfelt f8c457f75e Merge branch 'jetty-9.1' into javawebsocket-jsr 2013-06-19 15:07:15 -07:00
Simone Bordet d7c5418718 Merged branch 'jetty-7' into 'jetty-8'. 2013-06-19 19:44:53 +02:00
Simone Bordet 0bca1974b7 411135 - HttpClient may send proxied https requests to the proxy instead of the target server.
Made sure to always tunnel the connection if needs to be tunnelled.
2013-06-19 19:43:49 +02:00
Simone Bordet 9240039366 Refactored test so that's clear that host name verification happens on the client. 2013-06-18 10:54:15 +02:00