Commit Graph

334 Commits

Author SHA1 Message Date
Niels Basjes 9552d5dd1d HTTPCLIENT-2030: Fix PublicSuffixMatcher::getDomainRoot on invalid hostnames 2019-11-26 11:53:49 +01:00
Peter Frank 72af7cf5a5 HTTPCLIENT-2028: Now allowing 0 for validateAfterInactivity
The purpose of this change is to allow stale checking all the time, in previous versions of HttpClient this was accomplished by staleConnectionCheckEnabled=true which is now removed, this adds that idea back
2019-11-22 22:36:07 +01:00
chao chang 989ad0472d update text in pool stats description
total kept alive -> total available
2019-11-10 15:58:52 +01:00
Oleg Kalnichevski d62616bb29 Upgraded HttpCore dependency to version 5.0-beta10 2019-10-31 15:15:53 +01:00
Oleg Kalnichevski 25748c48b2 Upgraded HttpClient version to 5.0-beta7-SNAPSHOT 2019-10-09 10:30:55 +02:00
Oleg Kalnichevski 7d523e9113 Handle TLS session upgrade failures 2019-10-04 14:45:56 +02:00
Ryan Schmitt 90c07f3490 Upgrade httpcore.version to 5.0-beta9 2019-10-04 14:42:38 +02:00
Ryan Schmitt d655994950 Fix fallback PublicSuffixMatcher 2019-10-03 11:01:32 -07:00
Ryan Schmitt 35949e40a9 ClientTlsStrategyBuilder: Set default tlsDetailsFactory 2019-09-27 13:10:24 -07:00
Ryan Schmitt a1adf79100 Enforce h2 TLS rules after negotiating TLS, not before 2019-09-27 13:09:40 -07:00
Gary Gregory 5d21af4849 Remove extra parens. 2019-09-04 20:57:07 -04:00
Oleg Kalnichevski d5e1392840 HTTPCLIENT-2013: revised handling of connect exceptions; improved consistency in behavior of the classic and async clients; ConnectTimeoutException now extends SocketTimeoutException 2019-08-24 23:06:49 +02:00
Oleg Kalnichevski 8f6f6a5357 Improved handling of request cancellation (classic API) 2019-08-24 11:49:24 +02:00
Richard Hernandez 08b35c7f67 Move javadocs to Builder classes 2019-08-23 09:29:39 +02:00
Richard Hernandez c9dc2c9281 Add RequestConfig builder javadocs 2019-08-22 10:06:18 +02:00
Simon Willnauer 1fc46800d8 Execute Socket#connect under doPrivileged
In order to allow users to run under a security manager that only grants
connect permission to the httpcore codebase the connect methods should
be executed in a doPriveledged block.
This is certainly not the only issue that users run into when they
install a SecurityManager with strict permissions but certainly the
most prominent and most likely one. Upstream components like the client
might also need to protect places accessing the proxy selector etc.
2019-08-18 11:34:05 +02:00
itonyli 90e34878a1 HTTPCLIENT-2009: Fxied StringIndexOutOfBoundsException in AuthSupport#extractFromAuthority 2019-08-11 14:57:27 +02:00
Linton Miller 00012c5786 Make Accept-Encoding header handling thread-safe 2019-07-27 23:45:21 +02:00
Oleg Kalnichevski 39cec46715 CloseableHttpClient and CloseableHttpAsyncClient to implement ModalClosable 2019-07-26 14:16:14 +02:00
Oleg Kalnichevski d929456278 Removed deprecated classes 2019-07-26 13:04:21 +02:00
Oleg Kalnichevski a0febeb6f1 Upgraded HttpClient version to 5.0-beta6-SNAPSHOT 2019-07-21 11:22:12 +02:00
Kirill Usov b717fde289 Information response (1xx) processing 2019-07-14 16:11:16 +02:00
Oleg Kalnichevski 669020ccac Renamed Http2 to H2 (no functional changes) 2019-07-14 15:50:44 +02:00
Oleg Kalnichevski 8e42474a6c Deprecated HttpClient functionality now provided out of HttpCore 2019-07-14 15:48:21 +02:00
Oleg Kalnichevski b535a2812b Upgraded HttpCore to version 5.0-beta8 2019-07-14 15:48:21 +02:00
Oleg Kalnichevski a0aa438be8 Logging of multihome connect operations 2019-06-27 20:16:46 +02:00
jeromedemangel 19a87e0c77 HTTPCLIENT-1997: Return the last domain segment instead of normalized domain name from PublicSuffixMatcher#getDomainRoot in case there is no match 2019-06-27 17:26:30 +02:00
Neonailol 9e6287c88b Fix typo in interceptor methods names
Signed-off-by: Neonailol <neonailol@gmail.com>
2019-06-26 12:14:48 +02:00
Oleg Kalnichevski 8603a61b55 HTTPCLIENT-1968: Preserve escaped PATHSAFE characters when normalizing URI path segments 2019-06-21 17:43:41 +02:00
Oleg Kalnichevski 07a9714f3b Better event correlation in connection management logging 2019-06-18 15:03:06 +02:00
Oleg Kalnichevski fdff6b6c0f Misspelled main method name 2019-06-18 15:03:06 +02:00
Serkan Turgut 2267ef26b9 HTTPCLIENT-1992: Impossible to access trailer-headers available in chunked transfer-encoding
1. Implementing getTrailers() in ResponseEntityProxy which will return a
Supplier which propagates the output of ChunkedInputStream.getFooters(),
otherwise it returns a empty list.
2. Fixing a typo in ResponseEntityProxy.enhance() method name.
2019-06-14 11:38:53 +02:00
Oleg Kalnichevski 1afa421f6f HTTPCLIENT-1991: incorrect handling of non-standard DNS entries by PublicSuffixMatcher 2019-06-05 11:07:04 +02:00
Adam Retter d71d0f5a4c Refactor to enable support for non-form based multipart requests 2019-06-03 15:30:02 +02:00
dowy 91f9278b9a Escape DEL character when tracing
DEL characters should be converted to [0x7f] in Wire traces otherwise they are difficult to see in logs.
2019-05-30 11:47:40 +02:00
Jay Modi 7fbbe7c98f HTTPCLIENT-1981: disallow TRACE requests with an enclosed entity 2019-04-11 12:17:14 +02:00
Oleg Kalnichevski 8fdc2ec1b8 Fixed copying of examples for project website 2019-04-06 10:59:23 +02:00
Oleg Kalnichevski 72d9b378cd Upgraded HttpClient version to 5.0-beta5-SNAPSHOT 2019-04-06 10:36:42 +02:00
Oleg Kalnichevski 3fac3a4435 HttpClient 5.0-beta4 release 2019-04-03 10:41:53 +02:00
Oleg Kalnichevski c44a10df75 [HTTPCORE-572] Move examples to the src/test folders for each module 2019-04-02 14:55:24 +02:00
Oleg Kalnichevski 07bd2e26fc Changed route tracking of proxy to not default to false 2019-03-18 09:28:31 +01:00
Artem Smotrakov a2a55f82e5 HTTPCLIENT-1969: Filter out weak cipher suites 2019-03-07 12:20:13 +01:00
Oleg Kalnichevski 285674e4ff HttpClient should retry requests in case of ConnectionClosedException 2019-03-07 09:19:08 +01:00
Oleg Kalnichevski d950fa6ed0 Bug fix: Simple response consumer to discard stored content when releasing resources 2019-03-07 09:19:08 +01:00
Oleg Kalnichevski 39023dfed1 Bug fix: main async request execution handlers to release teh associated response consumer upon exception 2019-03-07 09:19:08 +01:00
Oleg Kalnichevski 74ae768e0d Fixed examples broken by HttpCore upgrade 2019-03-07 09:19:08 +01:00
Ryan Schmitt f8653a011a Upgrade HttpCore to version 5.0-beta7 2019-02-27 14:36:53 -08:00
Gary Gregory 1f06087fad Use final. 2019-01-31 21:11:28 -05:00
Oleg Kalnichevski 123bd993cf HTTPCLIENT-1960: URIBuilder incorrect handling of multiple leading slashes in path component 2019-01-14 09:36:14 +01:00
Oleg Kalnichevski 7824d98d0c HTTPCLIENT-1958: PoolingHttpClientConnectionManager to throw ExecutionException in case of a lease operation cancellation instead of InterruptedException
(fixed previous commit)
2019-01-10 13:37:24 +01:00
Oleg Kalnichevski 50e7dd51e0 HTTPCLIENT-1958: PoolingHttpClientConnectionManager to throw ExecutionException in case of a lease operation cancellation instead of InterruptedException 2019-01-10 10:20:59 +01:00
吴雪山 df415c4f24 Shutdown executorService on AbstractHttpAsyncClientBase shutdown 2019-01-08 13:52:28 +08:00
Michael Osipov 812f18b453 [HTTPCLIENT-1957] Remove use of Proxy-Connection header
This closes #132
2019-01-02 17:19:42 +01:00
Michael Osipov 354ae3586e [HTTPCLIENT-1952] Allow default User Agent to be disabled
This closes #128
2018-12-23 23:56:07 +01:00
Michael Osipov 4450221be7 Improve HttpResponseException#getMessage()
The #getMessage() now properly consists of the status code as such and the
optional reason phrase. Moreover, the pure reason phrase can be retrieved
via #getReasonPhrase.
2018-12-23 21:18:13 +01:00
Alex Panchenko 6275a39c00 replace empty HttpResponseException.message with statusCode
(cherry picked from commit 20dfff12c4)
2018-12-19 17:37:11 +02:00
Oleg Kalnichevski 6b410fe0e7
Merge pull request #124 from eryksz/fixSelfAssigment
Fixed incorrect method parameter name in PoolingAsyncClientConnectionManagerBuilder
2018-12-16 18:20:27 +01:00
Jens Borgland eac6c062b5 Better handling of http(s).proxyUser and http(s).proxyPassword 2018-12-16 18:14:07 +01:00
Oleg Kalnichevski df4b6d5c80 Upgraded HttpClient version to 5.0-beta4-SNAPSHOT 2018-12-16 11:12:33 +01:00
Eryk Szymanski 0c2b8e8a49 Fix PoolingAsyncClientConnectionManagerBuilder
Wrong argument name in setConnPoolPolicy results with self assignment of variable
2018-12-14 16:16:02 +01:00
Oleg Kalnichevski 6a0dc58570 HttpClient 5.0-beta3 release 2018-12-11 10:14:12 +01:00
Oleg Kalnichevski 836e953da0 Added optional dependency on conscrypt-openjdk-uber 1.4.1; support for advanced TLS functions (such as ALPN extension) on Java 1.7 and Java 1.8 through Conscrypt TLS library 2018-12-10 13:18:41 +01:00
Oleg Kalnichevski b452006756 Upgraded HttpCore to version 5.0-beta6 2018-12-04 15:49:56 +01:00
Ryan Schmitt 4ee9d3107f Revert "Use connectTimeout as TLS handshake timeout"
This reverts commit d3e34f70c4. Although
this commit did fix TLS handshake timeouts, it then broke response
timeouts by causing the connectTimeout to also be used as a
socketTimeout (even after the TLS connection is established.)
2018-11-30 15:02:23 -08:00
Oleg Kalnichevski 03de3ab16c Removed experimental CredSsp auth scheme 2018-11-16 10:26:16 +01:00
Ryan Schmitt d3e34f70c4 Use connectTimeout as TLS handshake timeout 2018-11-13 13:47:18 -08:00
Oleg Kalnichevski de59e984c7 Code simplification; removed dependency on classic API specific classes 2018-11-08 10:55:42 +01:00
Oleg Kalnichevski 56b43f388b Upgraded download-maven-plugin to version 1.4.1 2018-11-03 14:25:23 +01:00
Oleg Kalnichevski 3c25ca7266 HTTPCLIENT-1949: DigestScheme to use HttpRequest#getRequestUri instead of HttpRequest#getPath 2018-10-30 13:06:30 +01:00
Oleg Kalnichevski 65802bc8d3 Added reference to JDK-8212885 2018-10-29 11:18:32 +01:00
Oleg Kalnichevski eb0ee46c05 Upgraded HttpClient version to 5.0-beta3-SNAPSHOT 2018-10-27 10:30:11 +02:00
Oleg Kalnichevski 83f9ab8d1d HttpClient 5.0-beta2 release 2018-10-23 15:40:37 +02:00
Oleg Kalnichevski d799a588ef Hack to make hostname verification work with TLSv1.3 resumed sessions 2018-10-23 09:28:40 +02:00
Oleg Kalnichevski 75ca519314 Added #responseTimeout to RequestConfig 2018-10-22 15:52:03 +02:00
Oleg Kalnichevski b74cb12d44 Renamed RequestConfig#connectionTimeout to RequestConfig#connectTimeout 2018-10-22 15:14:04 +02:00
Ryan Schmitt e92c75be8a HTTPCLIENT-1942: Add example of full-duplex reactive message exchange 2018-10-22 11:45:02 +02:00
Oleg Kalnichevski 64470a970d Use Timeout instead of long / TimeUnit 2018-10-22 11:37:14 +02:00
Oleg Kalnichevski 160bac0cbb Fixed inconsistencies in usage of RequestConfig#connectionTimeout and Request#connectionRequestTimeout 2018-10-22 10:44:00 +02:00
Oleg Kalnichevski f4bb8fec5b Tweaked expected exception check in FutureRequestExecutionService test 2018-10-21 19:32:13 +02:00
Oleg Kalnichevski 8150e37cc3 Do not enforce HTTP/2 TLS requirements in case of FORCE_HTTP_1 protocol version policy 2018-10-21 19:11:27 +02:00
Oleg Kalnichevski 309afeff07 Added builders for SSLConnectionSocketFactory and client TlsStrategy 2018-10-21 16:52:40 +02:00
Oleg Kalnichevski 1eab98760b Added enum for supported TLS versions & TLS version parser 2018-10-21 16:52:40 +02:00
Oleg Kalnichevski e72d745ecd Extracted hostname verification code into a separate support class 2018-10-21 16:52:40 +02:00
Oleg Kalnichevski 2b6f7e53d0 HTTPCLIENT-1946: handling of 308 status as per RFC 7538 2018-10-21 13:40:46 +02:00
Oleg Kalnichevski 8ebb629563 Javadoc cleanup 2018-10-21 13:34:45 +02:00
Oleg Kalnichevski ab7be3fd53 Upgraded HttpCore to version 5.0-beta5 2018-10-21 13:24:49 +02:00
Oleg Kalnichevski 37c8006472 Javadocs; renamed some methods (no functional changes) 2018-10-17 23:40:12 +02:00
Oleg Kalnichevski c446639820 AsyncConnectionEndpoint to support graceful and immediate close modes 2018-10-17 14:31:12 +02:00
Oleg Kalnichevski a1d6db5ec3 Simplified ManagedAsyncClientConnection interface 2018-10-17 13:16:29 +02:00
Oleg Kalnichevski 447e276fb6 HttpAuthenticator to re-use the logger of its parent 2018-10-16 16:18:25 +02:00
Oleg Kalnichevski ac90342039 Use enums for supported cookie policies and auth schemes 2018-10-14 20:05:17 +02:00
Oleg Kalnichevski 9e8ab71517 Use HttpUriRequest interface for a better compatibility with HttpClient 4.x 2018-10-14 17:59:10 +02:00
Oleg Kalnichevski 49cdb631f5 Made classic and async execution runtime APIs more consistent 2018-10-14 16:52:21 +02:00
Oleg Kalnichevski 49487b4fe5 Moved class to another package (no functional changes) 2018-10-14 15:11:16 +02:00
Oleg Kalnichevski 678cc1bcb8 Updated BASIC and DIGET preemptive authentication examples 2018-10-05 17:41:25 +02:00
Oleg Kalnichevski 0fb2060fcb DigestScheme to expose last nonce and nonce count values 2018-10-05 17:41:25 +02:00
Gary Gregory 8e486b356e Reuse our UriScheme enum instead of magic strings. 2018-10-03 09:25:17 -06:00
Gary Gregory d711bd637e Add org.apache.hc.client5.http.config.RequestConfig.toString() and
camcel-case an ivar.
2018-09-21 18:04:38 -06:00
Oleg Kalnichevski 9eb00018ce Async clients to support request specific push consumers 2018-09-20 17:16:06 +02:00
Johnny Lim 6fec5136dd Fix typo 2018-09-04 11:13:52 +02:00