Commit Graph

1564 Commits

Author SHA1 Message Date
Joakim Erdfelt c68d3b1d8d Updating to version 9.3.9-SNAPSHOT 2016-03-14 09:07:52 -07:00
Joakim Erdfelt 1f3b3f31f4 Updating to version 9.3.8.v20160314 2016-03-14 08:30:20 -07:00
Simone Bordet 3f82886774 Issue #266 (jetty-client redirection process is aborted if redirect response have corrupt body)
Fixed by disabling content decode, since we are discarding the
content anway.
2016-03-11 11:31:39 +01:00
Simone Bordet 2af81781cd Issue #258 (Http request to origin server over https proxy contains absolute URL)
Fixed by sending the request target in origin-form (and not in
absolute-form) when request is to a https server.
2016-03-10 22:01:17 +01:00
Simone Bordet 4039f00bda Issue #408 (Http client does not work on https with proxy)
Fixed by not considering authority-form targets to be URIs, so that
the request is correctly copied after a 407.
2016-03-10 16:10:45 +01:00
Simone Bordet e6c2c81bea Issue #417 (HttpClient: review support for OPTIONS *)
Implemented support for OPTIONS * HTTP/1.1 requests.
2016-03-10 16:10:45 +01:00
Simone Bordet ffbd817254 Issue #416 (Support HTTPS forward proxies)
Implemented. We were never checking HttpProxy.isSecure().
Now we do, and if so we wrap the connection factory with an SSL one.
2016-03-10 16:10:45 +01:00
Simone Bordet 18b689b820 Code cleanups. 2016-03-08 11:55:54 +01:00
Simone Bordet 8ad0944732 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-07 16:04:46 +01:00
Simone Bordet d36e5864db Issue #377 (HttpClient - No supported cipher suites leads to stuck requests)
Fixed by rethrowing the exception thrown by onOpen() so that the
SelectorManager can act appropriately.
2016-03-07 15:20:12 +01:00
Simone Bordet 815bc54f5d Improved failure reporting. 2016-03-07 10:35:07 +01:00
Simone Bordet fb05062f0d Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-05 14:58:50 +01:00
Simone Bordet a4686bc6a4 Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Fixed by making sure that URI matches take into account default HTTP
ports.
2016-03-05 13:29:31 +01:00
Simone Bordet 311c7466b0 Issue #386 (Explicit Authorization header is dropped when handling 407s)
Fixed by copying explicitly set authorization headers.
2016-03-03 08:20:55 +01:00
Simone Bordet 6d9b36c8a4 Issue #381 (HttpClient does not send the Authorization header with authenticating proxy)
Fixed by tracking correctly the conversation attributes for
authentication, and by applying both proxy authentication results and
server authentication results.
2016-03-02 18:02:20 +01:00
Simone Bordet a8bbe8749f Issue #353 (Jetty Client doesn't forward authentication headers with redirects when using proxy)
Added test case, but code seems already good.
2016-03-01 16:31:40 +01:00
Simone Bordet 24a203f976 Fixed compilation issue. 2016-03-01 15:58:32 +01:00
Simone Bordet 04bb4af12c Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-03-01 15:21:19 +01:00
Simone Bordet d53766f6fe Issue #365 (Potential connection leakage in case of aborted request)
Fixed by releasing the connection that will not be used to the pool.
2016-03-01 15:19:02 +01:00
Simone Bordet 50422a1a1f Replaced usages of Random with ThreadLocalRandom in concurrent code. 2016-02-26 10:29:58 +01:00
Greg Wilkins 3c671aa8b6 Issue #346 HttpParser RFC2616 Compliance mode
Reimplmented HTTP/0.9 support in RFC2616 compliance mode
2016-02-23 17:33:53 +01:00
Simone Bordet 89ead7561e Issue #285 (PathContentProvider - Use of Direct buffers without pooling).
Introduced PathContentProvider.setByteBufferPool() so that a buffer
pool can be set (for example from HttpClient.getByteBufferPool()).
If present, PathContentProvider will use it.
2016-02-22 11:33:23 +01:00
Simone Bordet 1d04b9ece0 Issue #347 (Avoid sending request using a connection that is idle timing out).
Can't make atomic decisions using AtomicInteger _and_ another field.
Now using synchronized.
2016-02-19 12:22:13 +01:00
Greg Wilkins 55eb54799f Issue #346 HttpParser RFC2616 Compliance mode
Added HttpParser.Compliance field to HttpConnectionFactory
2016-02-19 11:41:07 +01:00
Simone Bordet 48c4e08b94 Issue #347 (Avoid sending request using a connection that is idle timing out).
Fixed by improving the guard with a timestamp, and checking that the
time elapsed from the last timestamp is enough to prove it is a real
idle timeout.
2016-02-19 11:36:06 +01:00
Simone Bordet 55817a212f Improved toString(). 2016-02-19 11:36:06 +01:00
Simone Bordet 7c7c49f06b 484446 - InputStreamResponseListener's InputStream uses default read (3) and blocks early on never-ending response.
Implemented read(byte[],int.int) to fix the reported issue.
Reworked InputStreamResponseListener to use a callback approach
rather than blocking waiting for content.
2016-02-12 11:19:31 +01:00
Simone Bordet 9c075ff85c Converted anonymous inner classes to lambdas. 2016-02-11 09:37:46 +01:00
Joakim Erdfelt f98dde5e5b Updating to version 9.2.16-SNAPSHOT 2016-02-10 15:36:41 -07:00
Joakim Erdfelt 9b6890d3c1 Updating to version 9.2.15.v20160210 2016-02-10 14:49:12 -07:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 145e4bee71 487511 - Jetty HTTP won't work on turkish systems.
Fixed usages of toLowerCase() and toUpperCase() to use Locale.ENGLISH.
2016-02-09 17:50:26 +01:00
Joakim Erdfelt 288f2e1f51 Fixing javadoc: Invalid member type qualification 2016-01-21 16:53:04 -07:00
Joakim Erdfelt e0ce545ad7 Updating to version 9.3.8-SNAPSHOT 2016-01-15 17:15:14 -07:00
Joakim Erdfelt c0b191119b Updating to version 9.3.7.v20160115 2016-01-15 16:40:15 -07:00
Joakim Erdfelt b7f9c9aca9 Updating to version 9.3.7-SNAPSHOT 2016-01-13 08:21:01 -07:00
Joakim Erdfelt 21ca3f6690 Updating to version 9.3.7.RC1 2016-01-13 07:30:24 -07:00
Simone Bordet 17a1e76ba0 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-01-05 11:25:20 +01:00
Simone Bordet 0050ad5a99 484621 - Client hangs till timeout when Authentication.authenticate() throws exception.
Fixed by surrounding the call to Authentication.authenticate() with a
try/catch and acting appropriately in case of exceptions.
2016-01-05 11:03:35 +01:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00
Simone Bordet 8f4cc73613 484585 - Avoid sending request using a connection that is idle timing out.
Rewritten handling of idle timeouts in light of issue #484718.
2015-12-21 11:47:05 +01:00
Simone Bordet 988e596c71 484585 - Avoid sending request using a connection that is idle timing out.
Added guard to avoid that the idle timeout expires just before
sending the request.

Reworked the way idle timeouts are handled, to support the case where
the idle timeout just expired and the request can be tried on a
different connection/channel.
2015-12-18 15:56:31 +01:00
Simone Bordet bf9f39dc17 Improved exception reporting. 2015-12-14 15:00:19 +01:00
Simone Bordet 8d28be5786 484210 - HttpClient over HTTP/2 should honor maxConcurrentStreams.
Fixed by sending queued requests in a loop up to maxConcurrentStreams.
Also updating the maxConcurrentStreams value when received from the
server.
2015-12-11 18:00:48 +01:00
Simone Bordet e674d3ec5e 483878 - Parallel requests stuck via the http client transport over HTTP/2. 2015-12-11 17:58:31 +01:00
Simone Bordet c5e56e72e6 Added concurrent load tests. 2015-12-09 10:51:24 +01:00
Joakim Erdfelt 7cdc58e6b9 Merge branch 'jetty-9.2.x' into feature/gziphandler-config 2015-12-08 14:56:26 -07:00
Greg Wilkins 3527c6a71b StringUtil.csvSplit(String)
Conflicts:
	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/AbstractJettyMojo.java
	jetty-security/src/main/java/org/eclipse/jetty/security/PropertyUserStore.java
	jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
	jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java
	jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
	jetty-xml/src/main/java/org/eclipse/jetty/xml/XmlConfiguration.java
2015-12-08 14:54:33 -07:00
Simone Bordet 8d6206b8c7 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-12-08 22:20:05 +01:00
Simone Bordet 1693dd135d 483857 - jetty-client onComplete isn't called in case of exception in GZIPContentDecoder.
Fixed by catching the exceptions and failing the callbacks.

Also using return values from HttpReceiver to compute what to
return to the parser.
2015-12-08 22:10:27 +01:00
Simone Bordet eac966cb9b 483009 - MultiPartContentProvider may send wrong Content-Length.
Introduced method close() to signal when no more parts will be added,
and calculating the Content-Length in setListener() only if when closed.
2015-11-25 16:02:21 +01:00
Greg Wilkins 204591ce82 482855 - Content-Length omitted for POST requests with empty body
Removed HTTP 0.9 support
A few code simplifications
Fixed clients relying on Content-Length headers being ignored
2015-11-25 20:50:59 +11:00
Joakim Erdfelt edf686fe0a Updating to version 9.3.7-SNAPSHOT 2015-11-06 12:13:00 -07:00
Joakim Erdfelt d737e1c638 Updating to version 9.3.6.v20151106 2015-11-06 11:09:32 -07:00
Joakim Erdfelt ec8f8d3e4f Updating to version 9.2.15-SNAPSHOT 2015-11-06 11:06:48 -07:00
Joakim Erdfelt ecba378f5c Updating to version 9.2.14.v20151106 2015-11-06 10:32:14 -07:00
Simone Bordet afc6b9e5c0 Fixed compilation issues. 2015-11-04 15:00:39 +01:00
Simone Bordet 7a34631397 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2015-11-04 13:40:44 +01:00
Simone Bordet 0172b68301 481006 - SSL requests intermittently fail with EOFException when SSL renegotiation is disallowed.
Fixed by notifying the Connection promise from onOpen() rather than
just after the creation of the connection.
2015-11-04 13:26:27 +01:00
Simone Bordet b102bd507a 419966 - Add ContentProvider that submits multipart/form-data.
Second implementation after feedback from the community.
2015-11-02 18:17:51 +01:00
Simone Bordet 45cd1f1ce6 Improved thread safety. 2015-10-30 11:17:28 +01:00
Simone Bordet 4134b1eca8 419966 - Add ContentProvider that submits multipart/form-data.
Implemented this functionality.
2015-10-27 15:32:26 +01:00
Simone Bordet 1ab64ed080 Fixed test.
Made sure that read interest or upgrade only happen after the write
has completed.
2015-10-26 12:34:17 +01:00
Simone Bordet 53df0cba3f Avoid to dump the destinations twice. 2015-10-22 20:49:48 +02:00
Simone Bordet 03b994a32c Fixed HttpDestination lifecycle. 2015-10-21 17:10:26 +02:00
Simone Bordet 3fc6320881 Using EndPoint.upgrade() in client code when connections are upgraded
and removed ClientConnectionFactory.Helper.
2015-10-21 14:32:37 +02:00
Simone Bordet a6ba51fe24 Deprecated ConnectionPool. 2015-10-19 18:13:12 +02:00
Joakim Erdfelt dde32787c4 Updating to version 9.3.6-SNAPSHOT 2015-10-12 15:47:37 -07:00
Joakim Erdfelt 29722bd880 Updating to version 9.3.5.v20151012 2015-10-12 15:10:39 -07:00
Joakim Erdfelt 2cce7510e1 Updating to 9.3.5-SNAPSHOT 2015-10-08 17:49:09 -07:00
Joakim Erdfelt 37296bec3c Updating to version 9.3.4.v20151007 2015-10-07 14:58:38 -07:00
Simone Bordet 399755b352 479026 - Wrong CONNECT request idle timeout.
Explicitly set the CONNECT request idle timeout instead of inheriting
HttpClient's.
2015-10-05 11:52:58 +02:00
Simone Bordet 3dcdb9f802 Merged branch '477878' into 'master'. 2015-09-25 19:34:45 +02:00
Simone Bordet 3201d0acd2 477878 - HttpClient over HTTP/2 doesn't close upload stream.
Clarified the difference between last and consumed in HttpContent.
Fixed HTTP/2 transport to behave correctly in case of last content.
2015-09-25 19:31:40 +02:00
Greg Wilkins 1af9b3e241 477900 Increase client authentication default max content size 2015-09-24 17:23:30 +10:00
Simone Bordet 8c21871cf0 478021 - Client sending Connection: close does not shutdown output.
Fixed behavior of HttpGenerator to change its persistent also for
requests.

Reworked HttpSenderOverHTTP to send headers via IteratingCallback, so
that multiple generation steps can be made to produce SHUTDOWN_OUT.
2015-09-23 22:23:37 +02:00
Simone Bordet f063df4200 Make this exception extend RuntimeException, not Throwable. 2015-09-23 22:23:37 +02:00
Simone Bordet ff97796ab2 Using ServerConnector instead of NetworkConnector to improve ease of use. 2015-09-23 22:23:37 +02:00
Simone Bordet fde718a3ad Added tests to verify behavior in case of server closing (or not) the
connection in presence of a Connection: close header.
2015-09-21 11:34:57 +02:00
Jan Bartel 03a601f2b2 477385 Make jetty osgi manifests only resolve jetty packages against a single distro version 2015-09-16 19:13:47 +10:00
Simone Bordet b23c2bd309 476170 - Support servers that close connections without sending Connection: close header.
Removed previous implementation in favor of a customized
ConnectionPool, that gives more flexibility on the actual logic to
validate connections.
2015-09-01 15:44:30 +02:00
Simone Bordet 60136c6825 Using Queue rather than BlockingQueue in method return types. 2015-09-01 15:30:42 +02:00
Jesse McConnell 20ffd0dd0b Merge branch 'release-9.3.3' 2015-08-31 13:41:21 -05:00
Simone Bordet 4ba2b22da7 476170 - Support servers that close connections without sending Connection: close header.
Adding support for validating the connection only in the HTTP/1.1
transport.
2015-08-30 18:09:54 +02:00
Simone Bordet 7211d415f9 Updated test to run even when not connected to the network. 2015-08-30 18:09:53 +02:00
Jesse McConnell 6409366499 [maven-release-plugin] prepare for next development iteration 2015-08-27 10:11:29 -05:00
Jesse McConnell 3086adc965 [maven-release-plugin] prepare release jetty-9.3.3.v20150827 2015-08-27 10:11:21 -05:00
Jesse McConnell f8734f23ce [maven-release-plugin] prepare for next development iteration 2015-08-25 14:10:01 -05:00
Jesse McConnell e9edf4c24b [maven-release-plugin] prepare release jetty-9.3.3.v20150825 2015-08-25 14:09:54 -05:00
Simone Bordet 6c5477de86 Fixed randonly failing test.
Sometimes the DNS was returning one IPv4 and one IPv6 address.
Replacing the IPv4 one left as the only valid address the IPv6; but
if IPv6 is not deployed on the network infrastructure, then that will
fail too, causing the test to fail.
2015-08-25 18:21:03 +02:00
Simone Bordet ef9724f448 Improved error reporting. 2015-08-25 18:19:29 +02:00
Simone Bordet 3333d1834f Using try-with-resources to close ServerSocket. 2015-08-25 16:22:56 +02:00
Simone Bordet c24aa25dfb 475546 - ClosedChannelException when connecting to HTTPS over HTTP proxy with CONNECT.
Not closing the connection if the request method is CONNECT.
2015-08-25 15:07:50 +02:00
Simone Bordet a93b35d59e Improved documentation regarding the effects of ContentProvider.getLength()
on other HTTP headers such as Content-Length.
2015-08-24 19:20:49 +02:00
Simone Bordet 545fa0f72b 475605 - Add support for multi-homed destinations.
If DNS lookup returns multiple IP addresses, HttpClient tries to
connect to the first; failing that, to the second, and so on.
2015-08-24 12:31:08 +02:00
Simone Bordet 69b90ef59b 474888 - HttpClient JMX support. 2015-08-13 15:16:14 +02:00
Simone Bordet 542ef22ba8 Merged branch 'jetty-9.2.x' into 'master'. 2015-08-05 17:50:25 +02:00
Simone Bordet e0039a95e8 474321 - Allow synchronous address resolution.
Refactored SocketAddressResolver into interface and one sync and one
async implementations. Added getter/setter methods to HttpClient.
2015-08-05 16:51:16 +02:00
Simone Bordet 7149eace17 474319 - Reintroduce blocking connect(). 2015-08-05 14:39:27 +02:00