Simone Bordet
da80498c56
Improved logging.
2015-02-26 23:38:27 +01:00
Simone Bordet
bbc2d0c29d
Simplified abort logic.
2015-02-26 23:26:24 +01:00
Simone Bordet
31a0b36f3c
Improved logging and toString() implementations.
2015-02-26 23:26:24 +01:00
Simone Bordet
008b03ac78
460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent.
2015-02-26 12:25:42 +01:00
Simone Bordet
d5a6ad2345
460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent.
2015-02-26 10:56:19 +01:00
Greg Wilkins
165ae8f238
Improved LocalConnector
2015-02-26 20:13:45 +11:00
Simone Bordet
d9255d02d8
Fixed test.
2015-02-24 13:08:21 +01:00
Simone Bordet
c52ba39722
Preventing NPE in case the exchange is failed in the middle of
...
sending content.
2015-02-24 13:01:11 +01:00
Simone Bordet
58ea526b56
Notifying client connection's promise from onOpen().
...
The client connection's promise was succeeded in the context of a
call to SelectorManager.newConnection().
This was wrong, since succeeding the promise may trigger the send
of a request *before* the connection is actually linked to the
endPoint and opened.
This change moves the succeeding of the client connection's promise
to the connection onOpen() method.
2015-02-20 18:23:31 +01:00
Simone Bordet
a01d85f0d9
Merged branch 'jetty-9.2.x' into 'master'.
2015-02-20 16:08:18 +01:00
Simone Bordet
71f6527cae
Removed extra dispatches from HTTP client code.
2015-02-20 16:02:54 +01:00
Simone Bordet
b69b8dfe50
460443 - Race condition releasing the response buffer.
...
Fixed by making sure that the response buffer is released at the
appropriate times.
2015-02-20 16:00:42 +01:00
Simone Bordet
ddde0db339
Added test to check that a 100 Continue response and a normal response,
...
when read in a single read by the client, are processed correctly.
2015-02-20 16:00:42 +01:00
Simone Bordet
28b9a0927c
Merged branch 'jetty-9.2.x' into 'master'.
2015-02-15 20:51:49 +01:00
Simone Bordet
ffa32dfae7
459963 - Failure writing content of a committed request leaks connections.
...
Fixed by making the logic in HttpSender fail and complete the response
in case of request failure, without taking in consideration whether
the request was committed or aborted.
2015-02-15 20:42:55 +01:00
Simone Bordet
cf022de2fd
Removed unused @Slow annotations.
2015-02-15 20:41:36 +01:00
Simone Bordet
8f0a874163
Removed unnecessary hiding of stack traces.
2015-02-15 20:40:50 +01:00
Simone Bordet
ed1cbc0631
Improved logging.
2015-02-15 20:39:01 +01:00
Greg Wilkins
0f7ee8d607
Merge remote-tracking branch 'origin/jetty-9.2.x'
...
Conflicts:
jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
jetty-http/src/main/java/org/eclipse/jetty/http/HttpVersion.java
jetty-io/src/main/java/org/eclipse/jetty/io/EndPoint.java
jetty-server/src/main/java/org/eclipse/jetty/server/HttpConnection.java
2015-02-13 11:45:56 +11:00
Greg Wilkins
2b2a70a93a
459845 Support upgrade
...
Added the concept of UpgradeFrom and UpgradeTo connections that support
transferring a buffer with content before opening new connection.
Aded EndPoint.update method as utility
2015-02-13 11:41:18 +11:00
Simone Bordet
be860741d5
459655 - Remove SPDY and NPN.
...
Cleanup of javadocs, comments, XML and other text files.
2015-02-11 16:18:07 +01:00
Simone Bordet
7dffe4f082
459542 - AsyncMiddleManServlet race condition on first download content.
...
Fixed the race condition by submitting a zero length buffer to write
from onWritePossible() which will succeed the callback without
causing races.
2015-02-10 13:16:41 +01:00
Simone Bordet
12e2f9e6c8
459542 - AsyncMiddleManServlet race condition on first download content.
...
Fixed the race condition by submitting a zero length buffer to write
from onWritePossible() which will succeed the callback without
causing races.
2015-02-10 13:10:57 +01:00
Simone Bordet
cb5541b58e
Merged branch 'jetty-9.2.x' into 'master'.
2015-02-09 17:39:16 +01:00
Simone Bordet
f974c74329
Implemented HTTP2Client connect timeout.
2015-02-09 16:22:21 +01:00
Simone Bordet
2a749dc0ea
Fail the callback in case we cannot activate a newly created connection.
2015-02-09 12:11:18 +01:00
Simone Bordet
96132dbe45
Merged branch 'jetty-9.2.x' into 'master'.
2015-02-09 08:56:03 +01:00
Simone Bordet
43f14997d8
Improved toString() methods for better reporting during dump().
2015-02-09 08:54:52 +01:00
Simone Bordet
99da9ce98e
Merged branch 'jetty-9.2.x' into 'master'.
2015-02-06 21:45:22 +01:00
Simone Bordet
ee16dfd066
Added test to verify the complete event is not fired until the
...
content is consumed.
2015-02-06 21:42:07 +01:00
Simone Bordet
12eaedd96b
Refactored HttpDestination to allow customization of the request enqueuing.
...
Subclasses may override enqueue() and provide a different algorihtm.
2015-02-06 21:42:07 +01:00
Simone Bordet
961a90d16c
Merged branch 'jetty-9.2.x' into 'master'.
2015-01-29 14:11:21 +01:00
Simone Bordet
e03cd5e286
451092 - Connector will fail if HeaderListener return false.
...
Not a bug, but wrote one more test and clarified Javadocs.
2015-01-29 11:44:11 +01:00
Simone Bordet
af312dbca0
Fixed case where a trying to send a request was causing an IllegalStateException.
...
It is always possible that a request is aborted by the client code
while being sent, so we should just return rather than throwing.
2015-01-29 11:13:39 +01:00
Simone Bordet
b6e4852179
Improved dump() output.
2015-01-29 11:13:39 +01:00
Simone Bordet
88ed996295
Improved toString().
2015-01-29 11:13:39 +01:00
Simone Bordet
a52703cba9
458527 - Implement an async proxy servlet that can perform content transformations.
2015-01-27 15:29:47 +01:00
Simone Bordet
6861da11b9
457130 - HTTPS request with IP host and HTTP proxy throws IllegalArgumentException.
...
Fixed handling of cookies in case of null URI.
2015-01-09 16:08:41 +01:00
Simone Bordet
c7d9c5c951
457130 - HTTPS request with IP host and HTTP proxy throws IllegalArgumentException.
...
Fixed handling of cookies in case of null URI.
2015-01-09 16:07:41 +01:00
Simone Bordet
86c2d01e80
Merged branch 'jetty-9.2.x' into 'master'.
2015-01-09 12:59:17 +01:00
Simone Bordet
fd13361132
Fixed test assumption.
2015-01-09 12:58:14 +01:00
Simone Bordet
8a27385bc3
Merged branch 'jetty-9.2.x' into 'master'.
2015-01-09 12:51:13 +01:00
Simone Bordet
bb2872b789
Fixed test assumption.
2015-01-09 12:46:56 +01:00
Simone Bordet
adae3193d8
457130 - HTTPS request with IP host and HTTP proxy throws IllegalArgumentException.
...
Fixed by handling the case of non-URI request target.
2015-01-09 11:49:13 +01:00
Joakim Erdfelt
7e7dd40f0a
Happy New Year 2015 (merge from master)
2015-01-08 09:14:13 -07:00
Simone Bordet
0c21d7c78b
Merged branch 'jetty-9.2.x' into 'master'.
2015-01-08 16:57:45 +01:00
Simone Bordet
51aafc78a4
457032 - Request sent from a failed CompleteListener due to connect timeout is failed immediately.
...
Fixed by copying the exchange queue and failing only the exchanges
that are present in the copy.
2015-01-08 16:56:59 +01:00
Joakim Erdfelt
a3201a3c81
Happy New Year 2015
2015-01-07 17:06:59 -07:00
Joakim Erdfelt
6a0668b7a1
Happy New Year 2015
2015-01-07 17:03:30 -07:00
Simone Bordet
a85a74bbdc
Reworked buffer releasing to ensure that it is always executed before
...
fillInterested() is called.
This is needed to avoid race conditions where fillInterested()
triggers a new thread entering onFillable() and acquiring a new buffer
while the previous thread is releasing the previous buffer.
2015-01-02 18:22:39 +01:00
Greg Wilkins
cc216eb8ee
fixed client proxy test
2015-01-02 15:38:12 +01:00
Greg Wilkins
e1e57924dc
fixed client test for new lazy consumeAll behaviour
2015-01-02 15:36:34 +01:00
Greg Wilkins
dcd9182f87
fixed client test for new lazy consumeAll behaviour
2015-01-02 15:31:34 +01:00
Greg Wilkins
a4d2895400
removed unneeded execute for SslConnection onFillable
2015-01-02 15:24:14 +01:00
Greg Wilkins
3af9b145a3
Deprecated the AbstractConnection dispatchIO mechanism
2015-01-01 16:18:13 +01:00
Greg Wilkins
5f2a7fdfce
fixed http client respond before consumed test.
...
The server now is a bit lazier if the handler has not consumed content. It will not block to consume and gives up and closes the connection instead.
2014-12-31 11:48:23 +01:00
Simone Bordet
9cff4a57e7
Merged branch 'master' into 'jetty-9.3-ewyk'.
2014-12-22 21:34:10 +01:00
Simone Bordet
e8c88cfd9c
Merged branch 'jetty-9.2.x' into 'master'.
2014-12-22 21:32:09 +01:00
Simone Bordet
c944b06a61
New tests testing request retry.
2014-12-22 21:27:59 +01:00
Greg Wilkins
3b34423b17
EWYK SelectorManager
2014-12-18 17:06:32 +01:00
Greg Wilkins
cdd2b0a9d2
refacted SelectorManager to have a ManagedSelector
2014-12-17 16:29:24 +01:00
Greg Wilkins
28fb3e45d0
453636 Improved spin detection on test
2014-12-10 10:16:16 +01:00
Simone Bordet
64597b318c
Merged branch 'jetty-9.2.x' into 'master'.
2014-11-03 17:25:37 +01:00
Simone Bordet
9c64fb73e4
449603 - OutputStreamContentProvider hangs when host is not available.
...
Fixed by having HttpRequest.abort() to fail the ContentProvider.
In this way, the ContentProvider knows, even before being used to
send the request content, that the request has failed, and may
forward the failure to the client code.
2014-11-03 16:50:59 +01:00
Simone Bordet
cbd7b75e10
Removed unused code.
2014-11-03 10:55:13 +01:00
Greg Wilkins
31e448ffd6
Removed duplication of HttpGenerator$Info vs http.MetaData
...
Use MetaData throughout code base
2014-10-24 15:51:20 +11:00
Simone Bordet
360fce58be
Merged branch 'jetty-9.2.x' into 'master'.
2014-10-23 12:54:07 +02:00
Simone Bordet
fac197f868
Clarified semantic of Request.header().
2014-10-23 12:53:37 +02:00
Simone Bordet
9cb21d1377
Merged branch 'jetty-9.2.x' into 'master'.
2014-10-23 12:42:00 +02:00
Simone Bordet
f7baf9923f
Fixed issue caused by the fix to #447746 : user agent header must not
...
be added, but overwritten.
2014-10-23 12:41:16 +02:00
Simone Bordet
65832dfae3
Merged branch 'jetty-9.2.x' into 'master'.
2014-10-23 11:47:02 +02:00
Simone Bordet
84b38aba15
447746 - HttpClient is always going to send User-Agent header even though I do not want it to.
2014-10-23 11:46:18 +02:00
Simone Bordet
0eade706a6
Removed Thread.dumpStack() calls used for debugging.
2014-10-22 18:10:25 +02:00
Simone Bordet
6268421dd0
Merged branch 'jetty-9.2.x' into 'master'.
2014-10-16 18:05:12 +02:00
Simone Bordet
f2eaa963f8
Removed debugging statements.
2014-10-16 17:42:32 +02:00
Simone Bordet
e7d830c26e
Merged branch 'jetty-9.2.x' into 'master'.
2014-10-13 16:57:52 +02:00
Simone Bordet
2dba2ea2c2
Improved exception reporting.
2014-10-13 16:55:59 +02:00
Simone Bordet
6ed0170913
Removed call to Thread.dumpStack().
2014-09-26 11:34:26 +02:00
Simone Bordet
8d2efaf7eb
445167 - Allow configuration of dispatch after select.
...
Introduced parameter "dispatchIO" in the relevant factories so that
they can be configured by users and connections will be created
taking into account this parameter.
For less configurable connection factories, this parameter is
currently hardcoded to either true or false depending on the case.
For example, ALPN and NPN connections have it to false, since they
don't do any blocking operation in onFillable().
2014-09-26 10:13:16 +02:00
Simone Bordet
a8b461fe91
Cosmetics: removed unused imports, cleaned up source code, improved javadocs.
2014-09-26 10:13:16 +02:00
Simone Bordet
f1678124dc
444764 - HttpClient notifies callbacks for last chunk of content twice.
...
Fixed by filtering out notification of the callbacks in case the
HttpContent is already consumed.
2014-09-23 11:33:44 +02:00
Simone Bordet
1cd367ae7c
444764 - HttpClient notifies callbacks for last chunk of content twice.
...
Fixed by filtering out notification of the callbacks in case the
HttpContent is already consumed.
2014-09-22 18:16:49 +02:00
Simone Bordet
48510bc71a
444214 - Socks4Proxy fails when reading less than 8 bytes.
2014-09-16 21:37:51 +02:00
Simone Bordet
f93c1cf593
444214 - Socks4Proxy fails when reading less than 8 bytes.
2014-09-16 21:20:45 +02:00
Simone Bordet
1878b344c7
Added SOCKS 4 tests.
2014-09-16 14:24:45 +02:00
Joakim Erdfelt
2481be42fe
Adding timeouts for problematic test case
2014-09-11 10:47:43 -07:00
Simone Bordet
ee3ab1f8ea
Merged branch 'master' into 'jetty-http2'.
2014-09-01 11:57:09 +02:00
Simone Bordet
9dbd2cd9d8
442950 - Embedded Jetty client requests to localhost hangs with high cpu usage (NIO OP_CONNECT Solaris/Sparc).
...
Now checking the return value of SocketChannel.connect() to determine
whether to register the channel (true) or finish the connect (false).
2014-09-01 11:28:59 +02:00
Greg Wilkins
23eba39748
Merge remote-tracking branch 'origin/master' into jetty-http2
2014-08-21 16:39:45 +10:00
Greg Wilkins
7584488702
javadoc
2014-08-21 09:43:35 +10:00
Simone Bordet
3ace246cff
Catching Throwable instead of Exception.
2014-08-08 18:16:56 +02:00
Greg Wilkins
eaf374fa58
refactored Dispatcher for new HttpURI
2014-07-25 17:28:35 +10:00
Greg Wilkins
fa3d7d0f7e
Merge remote-tracking branch 'origin/master' into jetty-http2
...
Conflicts:
jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextDispatchWithQueryStrings.java
2014-07-23 16:53:13 +10:00
Greg Wilkins
3a6879d3e8
expanded tabs in indents
2014-07-23 16:49:05 +10:00
Simone Bordet
467773dbdf
Merged branch 'master' into 'jetty-http2'.
2014-07-22 21:14:46 +02:00
Simone Bordet
dd914db3cf
Reorganized GZIP tests.
2014-07-22 20:55:18 +02:00
Simone Bordet
52172fb3c4
440038 - Content decoding may fail.
...
Properly looping around the decoding step to ensure that the encoded
content is fully consumed.
2014-07-21 19:21:44 +02:00
Simone Bordet
816b85ea4d
439895 - No event callback should be invoked after the "failure" callback.
...
Fixed HttpSender and HttpReceiver to use a non-blocking collaborative
mechanism to notify callbacks.
Only the "failed" callback can run concurrently with other callbacks.
No other callback can run after the "complete" callback: a failure
concurrent with another callback will notify the "failed" callback,
finish the running callback and only then invoke the "complete" callback.
2014-07-21 16:48:21 +02:00
Greg Wilkins
853e020210
Merge remote-tracking branch 'origin/master' into jetty-http2
2014-07-16 15:31:48 +10:00
Simone Bordet
745f757552
Guarded calls to LOG.debug() with if (LOG.isDebugEnabled()) to reduce allocation of varargs Object[].
2014-07-15 18:49:14 +02:00
Greg Wilkins
4d2a580c2c
439375 preferred rfc7231 format is mime;charset=lowercase-9
2014-07-11 17:56:08 +10:00
Greg Wilkins
5e281dd449
Merge remote-tracking branch 'origin/master' into jetty-http2
...
Conflicts:
jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
2014-07-10 14:43:39 +10:00
Greg Wilkins
55ca09a00e
438190 findbug improvements
2014-07-10 14:41:32 +10:00
Greg Wilkins
706fe1eba3
Merge remote-tracking branch 'origin/master' into jetty-http2
2014-07-03 16:01:37 +10:00
Greg Wilkins
7fbf521d4e
438204 correctly wrap IPv6 hostnames in URIs generated by jetty
2014-07-03 10:11:16 +10:00
Greg Wilkins
228600caf5
fixed race in HttpReceiverOverHTTPTest
2014-07-02 15:08:06 +10:00
Simone Bordet
2608af8f0d
Merged branch 'origin/master' into 'jetty-http2'.
2014-06-26 11:54:50 +02:00
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
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
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
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
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
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
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
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
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
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
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
Greg Wilkins
6146f0cc9c
cleanup threadpool usage
2013-09-30 14:07:17 +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
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