Commit Graph

3181 Commits

Author SHA1 Message Date
Oleg Kalnichevski f6333a5001 HTTPCLIENT-2126: `InternalAbstractHttpAsyncClient` incorrectly handles response messages with no enclosed entity 2020-11-06 09:40:23 +01:00
Martin Tzvetanov Grigorov 1cd0f73746 Build and test on both AMD64 and ARM64
Use 'arm64' instead of 'arm64-graviton2'

The Graviton2 builder is available only on travis-ci.com. Apache uses travis-ci.org

Install Maven explicitly because it is not pre-installed on the ARM64 image for Trusty
2020-11-05 17:18:12 +01:00
Oleg Kalnichevski c9489606d5 HTTPCLIENT-2126: `AsyncCachingExec` throws NPE when response body is null 2020-11-05 15:14:07 +01:00
Artem Smotrakov f8fa3f3667 Set up CodeQL scans 2020-11-03 16:09:51 +01:00
Artem Smotrakov 02197ea0b8 Added a security policy 2020-10-30 19:21:16 +01:00
Artem Smotrakov feb0377476 Fixed several findings from LGTM.com
- Fixed a few possible null dereferences
- Fixed a few possible out-of-bound array ops
- Added a couple of test cases
2020-10-30 15:51:50 +01:00
Gary Gregory 65c6c25070 [HTTPCLIENT-2124] NullPointerException in MinimalHttpClient.doExecute(HttpHost, ClassicHttpRequest, HttpContext) (#261) 2020-10-25 23:11:14 +01:00
Oleg Kalnichevski 1026a1e558 HTTPCLIENT-2122: async client to throw `HTTP/2 tunneling not supported` protocol exception in case of `force HTTP/2` version policy used along with request proxy routing 2020-10-22 20:27:28 +02:00
Oleg Kalnichevski e73b33c18b HTTPCLIENT-2123: H2AsyncClientBuilder incorrectly adds last request interceptors to the head of the interceptor list 2020-10-21 19:39:05 +02:00
Oleg Kalnichevski a2df6f1e32 HTTPCLIENT-2119: added missing system properties to HttpClientBuilder javadocs 2020-10-17 12:17:15 +02:00
Varun Sivapalan f9b46db6e0 Fix typo in enum 2020-10-06 10:17:11 +02:00
Oleg Kalnichevski 12a6579513 HTTPCLIENT-2118: Corrected PoolingHttpClientConnectionManager javadocs 2020-10-03 12:15:40 +02:00
Oleg Kalnichevski 918ac1535f RFC 3986 conformance: corrected handling of path segments by `URIUtils#normalizeSyntax`; optimized path segment operations 2020-09-27 12:36:29 +02:00
Oleg Kalnichevski 6395fa7c79 RFC 3986 conformance: revised and optimized `URIUtils#extractHost` 2020-09-27 12:36:28 +02:00
Oleg Kalnichevski 0524eed4b9 Replaced deprecated URLEncodedUtils 2020-09-27 12:36:28 +02:00
Oleg Kalnichevski ee26e23b31 Replaced deprecated TokenParser 2020-09-27 12:36:28 +02:00
Oleg Kalnichevski ee5437c1f1 Upgraded HttpCore dependency to version 5.1-beta1 2020-09-27 12:36:28 +02:00
Michael Osipov 5000f34690 Use decimal numbers for endpoint/execution IDs
This closes #249
2020-09-27 12:33:50 +02:00
Oleg Kalnichevski 1c55aa1548 HTTPCLIENT-2106: Added charset parameter for DigestScheme 2020-09-27 12:33:50 +02:00
Carter Kozak 1a70490aac HTTPCLIENT-2103: ManagedHttpClientConnectionFactory provides a fluent builder 2020-09-27 12:33:50 +02:00
Oleg Kalnichevski 9bc49cc439 Fixed 'JdbcRowSetImpl is internal proprietary API and may be removed in a future release' warning 2020-09-27 12:20:32 +02:00
Oleg Kalnichevski 594e5fcefb Upgraded HttpClient version to 5.0.3-SNAPSHOT 2020-09-27 12:12:59 +02:00
Oleg Kalnichevski d0c76ef0ae Updated release notes for HttpClient 5.0.2 release 2020-09-23 18:54:36 +02:00
Michael Osipov c1de3c42de Move public suffix list to generate-resources and apache-release profile 2020-09-22 09:25:43 +02:00
Michael Osipov e249e56c14 Add project modules to dependency management 2020-09-22 09:25:43 +02:00
Michael Osipov e13e4ff548 Unify JXR and Surefire report config 2020-09-22 09:25:43 +02:00
Michael Osipov 37c1a9da1d Unify Javadoc report config 2020-09-22 09:25:43 +02:00
Michael Osipov dd945fe4a0 Remove plugin executions run by release already 2020-09-22 09:25:43 +02:00
Michael Osipov aec050315e Remove default config 2020-09-22 09:25:43 +02:00
Michael Osipov 07716e581d Update SCM URLs 2020-09-22 09:25:43 +02:00
Michael Osipov 14e2f3bf8f Upgrade Parent to 12
Massively remove everything already present in the parent POM.
2020-09-22 09:25:43 +02:00
Michael Osipov 4b5a2f44a1 Replace HTTP with HTTPS 2020-09-22 09:25:43 +02:00
Oleg Kalnichevski ae6725056c HTTPCLIENT-2116: Incorrect request message composition when routing requests via a proxy 2020-09-19 15:35:48 +02:00
滕杰1 20266db737 PoolingAsyncClientConnectionManager incorrectly emits Ping commands to HTTP/1.1 endpoints #255 2020-09-16 11:27:41 +02:00
Oleg Kalnichevski 848abe93a7 Upgraded HttpCore dependency to version 5.0.2 2020-09-14 11:31:39 +02:00
Oleg Kalnichevski feaa72e6e1 HTTPCLIENT-2115: HttpAsyncClientBuilder and H2AsyncClientBuilder fail to take `replaceExecInterceptor()` into account 2020-09-08 16:30:08 +02:00
Carter Kozak 45c45d53e0
HTTPCLIENT-2112: AbstractMultipartFormat respects ByteBuffer.arrayOffset (#253) 2020-08-28 08:05:32 -04:00
Carter Kozak fa08f54077
HTTPCLIENT-2109: Fix RequestConfig.Builder#setConnectionKeepAlive javadoc (#252) 2020-08-23 11:50:21 -04:00
Michael Osipov 3360a69cd2 HTTPCLIENT-2078: Log debug message when no credentials for given auth scope are found
This closes #251
2020-08-18 21:31:25 +02:00
dirkhenselin 2520590437 Avoid updating Content-Length header in a 304 response.
I observed the following problem: `Transfer-Encoding` and
`Content-Length` headers should be mutually exclusive and because I use
chunked transfer, the `Transfer-Encoding` header is set in the response
while the `Content-Length` header is not. In case of a 304 during a
revalidation, the header contains Content-Length=0. Probably a proxy is
responsible for this, just like the comment "Some well-known proxies
respond with Content-Length=0, when returning 304" in the method
CachedHttpResponseGenerator::addMissingContentLengthHeader is saying. In
CacheEntryUpdater::mergeHeaders the Content-Length=0 is merged into the
cached entry, but the cached entry contains also a `Transfer-Encoding`
header, so in the cached entry these headers aren't mutually exclusive
anymore. Because of the `Transfer-Encoding` header the method
CachedHttpResponseGenerator::addMissingContentLengthHeader isn't fixing
the `Content-Length` header and Content-Length=0 causes returning null
instead of the cached content. IMHO the `Content-Length` header should
not be merged into the cached response in case of a 304, at least if the
cached entry contains a `Transfer-Encoding` header.
2020-08-18 14:54:36 +02:00
Carter Kozak 4f47c4abc0 HTTPCLIENT-2107: Threadsafe PoolingHttpClientConnectionManager field volatile access 2020-08-11 12:12:19 +02:00
Oleg Kalnichevski f6da2bac6f HTTPCLIENT-2105: async clients incorrectly handle redirects of requests with enclosed entity 2020-08-09 22:48:30 +02:00
Oleg Kalnichevski 889159b977 Upgraded maven-download-plugin to version 1.6.0 2020-07-18 16:04:02 +02:00
Oleg Kalnichevski ff6308a69f HTTPCLIENT-2100: incorrect handling of EXTENDED mode by MultipartEntityBuilder 2020-07-16 15:43:30 +02:00
Carter Kozak 5bdcb242f0
HTTPCLIENT-2099, HTTPCLIENT-2091: SSLConnectionSocketFactory connect timeout fix (#241)
SSLConnectionSocketFactory no longer overrides the socket timeout
with the connect timeout when an unlimited socket timeout is
configured. This matches behavior of HTTPCLIENT-2091.

Note that in scenarios where SocketConfig sets an infinite timeout
and the RequestConfig sets a bounded timeout, this change results
in the connect-timeout no longer applying to the TLS handshake.
This behavior can be retained by setting the expected timeout in
the SocketConfig.
2020-07-11 17:18:42 +02:00
Gary Gregory a0a2ae0559 Document: Bug fix: BasicExpiresHandler is annotated as immutable but is
not. #240.
2020-07-10 09:01:05 -04:00
Gary Gregory 66f8ca1f09
BasicExpiresHandler is annotated as immutable but is not. (#240) 2020-07-10 08:57:24 -04:00
Carter Kozak 9866865357 HTTPCLIENT-2096: Migrate instance loggers to static fields
Note that this may change the origin of logging when classes
have been subclassed, as the logger origin will use the class
name that defined the logger where previously the subclass type
would be used. In scenarios where external libraries subclass
httpclient utilities this allows httpclient logging to maintain
the `org.apache.hc` prefix instead of inheriting arbitrary
subclass names.

Using some logging frameworks this may result in reduced churn
when httpclient components are created (new connections, for example)
because loggers are looked up once per class.
2020-07-09 11:34:48 +02:00
Niels Basjes 9a967de60e Add Automatic-Module-Name in manifest so Java9 modular applications can depend on this library 2020-07-07 15:48:49 +02:00
Carter Kozak 93e3d0f452 HTTPCLIENT-2097: Fix PoolingAsyncClientConnectionManager boxed primitive reference equality 2020-07-06 18:33:22 +02:00