Oleg Kalnichevski [Wed, 29 Jun 2022 07:43:07 +0000 (09:43 +0200)]
HTTPCLIENT-2225: connection route calculation does not take the default RequestConfig into account
Carter Kozak [Fri, 10 Jun 2022 18:31:04 +0000 (14:31 -0400)]
HTTPCLIENT-2221 Closing a classic response/entity allows connection reuse
Previously, a partially consumed response body closed via
CloseableHttpResponse.close or HttpEntity.close would fully consume
remaining bytes (via close), however it would not release the
connection for reuse.
If CloseableHttpResponse.close was called, it would follow the close
with a discard/disconnect, however if only the entity was closed,
the connection would remain in a checked-out (leaked) state.
Now, we take advantage of the fact that closing a response stream
on any reusable connection is required to drain bytes on closure.
Failures are detected by writeTo and the stream returned by
getContent, so we can be confident that we will not return a
broken connection to the pool.
Oleg Kalnichevski [Wed, 4 May 2022 19:13:52 +0000 (21:13 +0200)]
HTTPCLIENT-2212: MinimalHttpAsyncClient fails to release client endpoints in case of a connect error (such as TLS handshake failure)
Richard Hernandez [Wed, 6 Apr 2022 15:52:09 +0000 (08:52 -0700)]
Create daemon threads in InternalAbstractHttpAsyncClient
John Gallagher [Tue, 15 Mar 2022 20:38:52 +0000 (16:38 -0400)]
StringBody: just write the bytes to the output stream
Oleg Kalnichevski [Sat, 26 Feb 2022 13:45:43 +0000 (14:45 +0100)]
HTTPCLIENT-2206: Corrected resource de-allocation by fluent response objects
David Schlosnagle [Sat, 26 Feb 2022 11:45:18 +0000 (06:45 -0500)]
Optimize ExecSupport.getNextExchangeId() (#352)
Oleg Kalnichevski [Sun, 13 Feb 2022 18:57:15 +0000 (19:57 +0100)]
HTTPCLIENT-2203: Corrected target host normalization by the request execution interceptors
Oleg Kalnichevski [Mon, 31 Jan 2022 17:52:44 +0000 (18:52 +0100)]
Upgraded HttpClient version to 5.1.4-SNAPSHOT
Oleg Kalnichevski [Mon, 24 Jan 2022 17:20:16 +0000 (18:20 +0100)]
Updated release notes for HttpClient 5.1.3 release
Oleg Kalnichevski [Mon, 24 Jan 2022 17:11:35 +0000 (18:11 +0100)]
Updated copyright statement in NOTICE.txt
Oleg Kalnichevski [Mon, 24 Jan 2022 13:12:56 +0000 (14:12 +0100)]
Fixed incompatibility with older versions of Android shipping with Commons Codec < 1.4
Oleg Kalnichevski [Mon, 24 Jan 2022 12:58:07 +0000 (13:58 +0100)]
Bug fix: ByteArrayBuilder incorrectly handles empty strings
Oleg Kalnichevski [Wed, 12 Jan 2022 10:02:53 +0000 (11:02 +0100)]
HTTPCLIENT-2195, regression: classic ConnectExec incorrectly discards the proxy response body even if the request cannot be executed and the response is final
JasonMathison [Wed, 5 Jan 2022 20:54:46 +0000 (15:54 -0500)]
Httpclient-2194 async retries not including body (#343)
Oleg Kalnichevski [Sat, 25 Dec 2021 15:28:34 +0000 (16:28 +0100)]
Automatically retry requests that failed with RequestNotExecutedException
Oleg Kalnichevski [Wed, 22 Dec 2021 22:32:23 +0000 (23:32 +0100)]
Upgraded HttpCore to version 5.1.3
Oleg Kalnichevski [Thu, 16 Dec 2021 19:40:04 +0000 (20:40 +0100)]
Bug fix: Incorrect connection validity check in the async connection manager can cause an IllegalStateException and lead to a connection leak. Treat closed connections as valid due to the connection open check being inherently racy
mxd4 [Wed, 15 Dec 2021 10:04:15 +0000 (11:04 +0100)]
Bump log4j to 2.12.3
Oleg Kalnichevski [Tue, 16 Nov 2021 19:57:17 +0000 (20:57 +0100)]
Upgraded HttpClient version to 5.1.3-SNAPSHOT
Arturo Bernal [Mon, 1 Nov 2021 16:50:10 +0000 (17:50 +0100)]
HTTPCLIENT-2079: version.properties contains non-interpolated value
This closes #321
Oleg Kalnichevski [Sat, 13 Nov 2021 12:11:18 +0000 (13:11 +0100)]
Updated release notes for HttpClient 5.1.2 release
Carter Kozak [Fri, 12 Nov 2021 18:39:31 +0000 (13:39 -0500)]
HTTPCLIENT-2184: Fix classic client connection reuse
This fixes an issue in which connections were not returned to the
pool when requests contained non-repeatable bodies AND responses
were streamed. When both of these criteria were met, responses
were returned without ResponseEntityProxy enhancements so that
closing the response entity or stream no longer completed the
exchange, thus leaking the connection which forever lived in the
`leased` state in the connection pool.
Oleg Kalnichevski [Mon, 25 Oct 2021 20:52:15 +0000 (22:52 +0200)]
Upgraded HttpClient version to 5.1.2-SNAPSHOT
Oleg Kalnichevski [Wed, 20 Oct 2021 13:50:57 +0000 (15:50 +0200)]
Updated release notes for HttpClient 5.1.1 release
Gary Gregory [Wed, 13 Oct 2021 19:57:23 +0000 (15:57 -0400)]
Don't initialize AtomicReference to its default value.
Oleg Kalnichevski [Thu, 30 Sep 2021 15:28:47 +0000 (17:28 +0200)]
Upgraded HttpCore to version 5.1.2
Oleg Kalnichevski [Mon, 27 Sep 2021 12:35:24 +0000 (14:35 +0200)]
Always bind the exchange ID to the execution context
Oleg Kalnichevski [Sun, 26 Sep 2021 13:51:23 +0000 (15:51 +0200)]
Corrected resolution of the target host in DefaultUserTokenHandler
Oleg Kalnichevski [Fri, 24 Sep 2021 21:18:02 +0000 (23:18 +0200)]
More consistent handling of request scheme and authority by protocol interceptors
Oleg Kalnichevski [Fri, 17 Sep 2021 20:38:14 +0000 (22:38 +0200)]
HTTPCLIENT-2177: automatically force HTTP/1.1 protocol policy when executing requests via a proxy tunnel
Oleg Kalnichevski [Fri, 17 Sep 2021 14:28:18 +0000 (16:28 +0200)]
HTTPCLIENT-2177: fixed incorrect route state tracking by the async connect executor when negotiating a tunnel via a proxy
Oleg Kalnichevski [Fri, 17 Sep 2021 14:23:21 +0000 (16:23 +0200)]
HTTPCLIENT-2177: keep successful tunnel connections alive regardless of `Connection: close`
Oleg Kalnichevski [Tue, 31 Aug 2021 13:38:51 +0000 (15:38 +0200)]
HTTPCLIENT-2173: test case for identity transfer encoded response messages
Oleg Kalnichevski [Tue, 31 Aug 2021 13:38:05 +0000 (15:38 +0200)]
HTTPCLIENT-2173: async pooling connection manager to close half-open connection gracefully
Jaikiran Pai [Sun, 22 Aug 2021 13:47:57 +0000 (19:17 +0530)]
Don't retry a request for NoRouteToHostException
Oleg Kalnichevski [Thu, 19 Aug 2021 13:29:39 +0000 (15:29 +0200)]
HTTPCLIENT-2170: Classic protocol layer no longer releases the underlying connection back to the pool prematurely while the NTLM handshake is still ongoing
Oleg Kalnichevski [Sun, 20 Jun 2021 19:39:18 +0000 (21:39 +0200)]
Fixed connection lease request cancellation race in both classic and asyc pooling connection managers
Oleg Kalnichevski [Tue, 11 May 2021 21:14:47 +0000 (23:14 +0200)]
Updated site URL in distribution management
Oleg Kalnichevski [Tue, 11 May 2021 19:33:57 +0000 (21:33 +0200)]
Upgraded API level to 5.1
Oleg Kalnichevski [Tue, 11 May 2021 19:03:27 +0000 (21:03 +0200)]
Upgraded HttpClient version to 5.1.1-SNAPSHOT
Oleg Kalnichevski [Fri, 7 May 2021 16:51:03 +0000 (18:51 +0200)]
Upgraded HttpCore to version 5.1.1
Oleg Kalnichevski [Thu, 6 May 2021 17:44:31 +0000 (19:44 +0200)]
Updated release notes for HttpClient 5.1 release
Oleg Kalnichevski [Sat, 1 May 2021 15:26:07 +0000 (17:26 +0200)]
HTTPCLIENT-2157: response object generated by the classic caching backend is missing the original content encoding
Oleg Kalnichevski [Wed, 28 Apr 2021 14:31:16 +0000 (16:31 +0200)]
Extra sage-guards for concurrent connection endpoint acquisition and request execution cancellation
Oleg Kalnichevski [Sun, 25 Apr 2021 13:08:52 +0000 (15:08 +0200)]
HTTPCLIENT-2152: Fixed handling of unexpected unchecked exception by the async request retry exec interceptor
Oleg Kalnichevski [Sun, 25 Apr 2021 13:04:36 +0000 (15:04 +0200)]
Async clients to support scheduled (delayed) re-execution of requests
Carter Kozak [Sun, 11 Apr 2021 14:29:55 +0000 (10:29 -0400)]
HTTPCLIENT-2148: fluent Executor volatile access thread safety (#301)
Peter Dettman [Fri, 9 Apr 2021 12:16:18 +0000 (19:16 +0700)]
HTTPCLIENT-2149: When no dNSName, match against CN
rrodewald [Tue, 6 Apr 2021 16:12:49 +0000 (18:12 +0200)]
HTTPCLIENT-2147: fixed broken preemptive auth in HC Fluent
Oleg Kalnichevski [Fri, 2 Apr 2021 20:00:52 +0000 (22:00 +0200)]
HTTPCORE-672: cleanup of H2 connection validation code
Ryan Schmitt [Wed, 31 Mar 2021 17:51:26 +0000 (10:51 -0700)]
HttpAsyncClientBuilder: Make IOReactor exception callback configurable
Oleg Kalnichevski [Mon, 29 Mar 2021 07:27:44 +0000 (09:27 +0200)]
Updated release notes for HttpClient 5.1
Arturo Bernal [Sat, 27 Mar 2021 18:46:46 +0000 (19:46 +0100)]
Fix javadoc
Oleg Kalnichevski [Wed, 24 Mar 2021 18:35:55 +0000 (19:35 +0100)]
HTTPCLIENT-2141: HttpClient to not retry requests if the retry interval exceeds the response timeout
Sandeep Kulkarni [Thu, 18 Mar 2021 07:58:11 +0000 (13:28 +0530)]
Fixed NPE during dispose in Response if entity is null
Arturo Bernal [Tue, 16 Mar 2021 06:05:24 +0000 (07:05 +0100)]
Reuse org.apache.hc.core5.http.Method HTTP spec enum
Oleg Kalnichevski [Mon, 15 Mar 2021 20:44:37 +0000 (21:44 +0100)]
Blocking connection managers to validate connections after inactivity of more than 2s by default; behavior of async connection managers remains the same
Oleg Kalnichevski [Mon, 15 Mar 2021 20:38:55 +0000 (21:38 +0100)]
Fixed context logging in BasicHttpClientConnectionManager
Oleg Kalnichevski [Sun, 14 Mar 2021 21:06:55 +0000 (22:06 +0100)]
Deprecated request factory classes in favor of request builders
Oleg Kalnichevski [Sun, 14 Mar 2021 19:37:08 +0000 (20:37 +0100)]
Better javadocs for simple message classes
Oleg Kalnichevski [Sun, 14 Mar 2021 19:08:37 +0000 (20:08 +0100)]
Improved async client examples
Oleg Kalnichevski [Sun, 14 Mar 2021 15:29:58 +0000 (16:29 +0100)]
Simple message builders
Sandeep Kulkarni [Sun, 14 Mar 2021 15:25:47 +0000 (20:55 +0530)]
Fixed typo for enum name Postion to Position
Arturo Bernal [Sun, 14 Mar 2021 06:53:13 +0000 (07:53 +0100)]
Fixed typos javadocs and var names
Oleg Kalnichevski [Sat, 13 Mar 2021 16:16:17 +0000 (17:16 +0100)]
HTTPCLIENT-2140: Upgraded Commons Codec to version 1.15
Oleg Kalnichevski [Mon, 8 Mar 2021 21:39:07 +0000 (22:39 +0100)]
Request factory classes to re-use `Method#normalizedValueOf`
Oleg Kalnichevski [Mon, 8 Mar 2021 21:28:33 +0000 (22:28 +0100)]
Cleanup of redirect request generation code in Redirect exec interceptors
Oleg Kalnichevski [Mon, 8 Mar 2021 21:27:43 +0000 (22:27 +0100)]
Improved proxy request message generation
Oleg Kalnichevski [Mon, 8 Mar 2021 21:26:30 +0000 (22:26 +0100)]
Deprecated message copiers in favor of generic message builders
Oleg Kalnichevski [Mon, 8 Mar 2021 20:47:36 +0000 (21:47 +0100)]
Upgraded HttpCore to version 5.1
leedonggyu [Thu, 25 Feb 2021 06:24:23 +0000 (15:24 +0900)]
Remove duplicated conditional statement in ResponseProcessCookies
Oleg Kalnichevski [Tue, 23 Feb 2021 17:40:55 +0000 (18:40 +0100)]
Deleted sample code moved to HttpComponents Website project
Carey Lin [Sat, 20 Feb 2021 15:57:20 +0000 (10:57 -0500)]
Fix the issues causing Kerberos/SPNego to fail
1. At the beginning of the negotiate, no token is defined in "WWW-Authenticate: Negotiate".
2. Kerberos expects HTTP.
imbyungjun [Tue, 16 Feb 2021 14:46:43 +0000 (23:46 +0900)]
Fix typo on cookie formatting method
Arturo Bernal [Tue, 9 Feb 2021 06:26:05 +0000 (07:26 +0100)]
Fix Typo
Oleg Kalnichevski [Wed, 10 Feb 2021 21:06:51 +0000 (22:06 +0100)]
Upgraded HttpClient version to 5.1-beta2-SNAPSHOT
Oleg Kalnichevski [Sun, 7 Feb 2021 11:16:39 +0000 (12:16 +0100)]
Updated copyright statement in NOTICE.txt
Oleg Kalnichevski [Sat, 6 Feb 2021 17:05:01 +0000 (18:05 +0100)]
Deprecated some URIUtils methods in favor of URIBuilder
Oleg Kalnichevski [Sat, 6 Feb 2021 16:36:24 +0000 (17:36 +0100)]
Request message copy optimization
Oleg Kalnichevski [Sat, 6 Feb 2021 13:13:47 +0000 (14:13 +0100)]
Updated release notes for HttpClient 5.1-beta1 release
Oleg Kalnichevski [Sat, 6 Feb 2021 12:28:08 +0000 (13:28 +0100)]
Upgraded project version to 5.1-beta1-SNAPSHOT
Oleg Kalnichevski [Sat, 6 Feb 2021 12:26:05 +0000 (13:26 +0100)]
RFC 3986 conformance: re-use URIBuilder new functionality in URIUtils#normalizeSyntax
Oleg Kalnichevski [Fri, 5 Feb 2021 21:24:08 +0000 (22:24 +0100)]
Upgraded HttpCore to version 5.1-beta3
Arturo Bernal [Fri, 5 Feb 2021 13:00:06 +0000 (14:00 +0100)]
Minor Improvement:
* Avoid duplicate code
* Simplify if else
* Inline variables
Hervé Boutemy [Fri, 29 Jan 2021 07:05:33 +0000 (08:05 +0100)]
scm-publish to /components/httpcomponents-client-5.0.x/LATEST
Arturo Bernal [Mon, 25 Jan 2021 19:12:15 +0000 (20:12 +0100)]
Minor Improvements:
* Use Empty collections
* Unnecessary toString
Oleg Kalnichevski [Sun, 17 Jan 2021 10:12:33 +0000 (11:12 +0100)]
No need to copy example sources as resources when generating site content
Hervé Boutemy [Sun, 10 Jan 2021 17:07:02 +0000 (18:07 +0100)]
activate SCM publish to /httpcomponents-client-5.0.x/doc/
Hervé Boutemy [Sat, 9 Jan 2021 20:51:14 +0000 (21:51 +0100)]
improve documentation format
Arturo Bernal [Mon, 4 Jan 2021 20:16:34 +0000 (21:16 +0100)]
Minor Improvements:
* Remove redundant initialization
Oleg Kalnichevski [Sun, 20 Dec 2020 13:00:19 +0000 (14:00 +0100)]
Improved context and wire logging
Oleg Kalnichevski [Sat, 19 Dec 2020 11:12:15 +0000 (12:12 +0100)]
Improved I/O session logging
Marcono1234 [Wed, 23 Dec 2020 23:36:35 +0000 (00:36 +0100)]
Fix incorrect logger API dependency in README
Marcono1234 [Wed, 23 Dec 2020 18:06:54 +0000 (19:06 +0100)]
Convert README to markdown
Arturo Bernal [Thu, 31 Dec 2020 07:39:22 +0000 (08:39 +0100)]
Minor Improvements:
* Add final to variable
* Unnecessary semicolon
* Use Standard Charset object
* Unnecessary conversion to String
* Simplifiable conditional expression
* Replace 'Arrays.asList()' with Collections.singletonList
* Redundant local variable. Simplify
Rob Spoor [Wed, 9 Dec 2020 10:54:58 +0000 (11:54 +0100)]
Add interceptors before MAIN_TRANSPORT so they won't be ignored (#272)
Carter Kozak [Sun, 6 Dec 2020 21:38:16 +0000 (16:38 -0500)]
HTTPCLIENT-2104: ManagedHttpClientConnectionFactory supports ResponseOutOfOrderStrategy configuration
Oleg Kalnichevski [Wed, 2 Dec 2020 15:11:30 +0000 (16:11 +0100)]
Fixed generics
Oleg Kalnichevski [Wed, 2 Dec 2020 15:11:14 +0000 (16:11 +0100)]
Upgraded HttpCore to version 5.1-beta2