3148 Commits

Author SHA1 Message Date
滕杰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
slisaasquatch
ec82acc858
MultipartEntityBuilder#generateBoundary optimization (#233) 2020-07-04 09:49:07 +02:00
Carter Kozak
84bd290954
HTTPCLIENT-2095: Use slf4j interpolation instead of string concatenation where possible (#232) 2020-07-02 17:51:43 +02:00
Carter Kozak
517e5c8d94 HTTPCLIENT-2094: ConnectionManager validateAfterInactivity zero duration agreement
Both connection managers agree on the meaning of a zero-duration
validateAfterInactivity value. Previously the documentation for
both suggested that zero resulted in no validation, however
the classic client would validate prior to each request and
the async client would never validate.
This commit standardizes behavior on the classic client, which
is consistent with hc4.x, allowing zero to force validation prior
to every request.
2020-07-02 11:29:22 +02:00
Oleg Kalnichevski
da28440a58 RFC 7235 compliance, HTTPCLIENT-2086: fixed parsing of token68 based (base64-encoded) auth schemes. 2020-07-01 12:28:03 +02:00
Oleg Kalnichevski
445b61a01a HTTPCLIENT-2091: Connect timeout is used instead of socket timeout after a tls upgrade 2020-06-30 12:24:25 +02:00
Oleg Kalnichevski
f268d192d4 HTTPCLIENT-2084: client builders incorrectly add message interceptors with LAST position to the head of the list 2020-06-17 12:44:04 +02:00
Carter Kozak
a22d889807 HTTPCLIENT-2083: Fix NPE when classic client interceptors are added
Previously HttpClientBuilder methods addExecInterceptorFirst and
addExecInterceptorLast resulted in NullPointerExceptions because
the execInterceptors list had not been initialized yet.
2020-06-12 10:24:45 +02:00
Oleg Kalnichevski
c6a4a9b376 Upgraded HttpClient version to 5.0.2-SNAPSHOT 2020-06-12 09:48:10 +02:00
Oleg Kalnichevski
c7a766ef4a Updated release notes for HttpClient 5.0.1 release 2020-06-08 19:13:49 +02:00
Oleg Kalnichevski
62e0ecd569 Upgraded HttpCore to version 5.0.1 2020-06-08 19:13:29 +02:00
smashtakov
546351160b fix typo log debug messages 2020-06-03 11:59:51 +02:00
Oleg Kalnichevski
9cfdd54c94 Bug fix: classic connection managers fail to take #isConsistent() flag into account when re-using persistent connections 2020-05-27 16:37:37 +02:00
vonahok
76a12fc4c6
HTTPCLIENT-2077: Authentication failure due to incorrect NTLM auth value check (#223) 2020-04-26 17:08:15 +02:00
Oleg Kalnichevski
e26d537658 HTTPCLIENT-2051: corrected handling of 303 redirects 2020-04-24 12:16:57 +02:00
Oleg Kalnichevski
177fc804e5 HTTPASYNC-160: HttpAsyncClient in INACTIVE or STOPPED state throws a IllegalStateException causing the current thread to terminate 2020-04-18 20:41:21 +02:00
heejeongkim
12ec6f15ea
HTTPCLIENT-2076: fix NPE in LaxExpiresHandler (#222) 2020-04-17 11:14:21 +02:00
Oleg Kalnichevski
3e484c0830 HTTPCLIENT-2074: disallow direct execution of CONNECT methods by standard client implementations 2020-04-08 14:58:38 +02:00
Ralph
272f00297e HTTPCLIENT-2075: new method Request.responseTimeout(Timeout) in Fluent HC 2020-04-08 10:32:14 +02:00
Oleg Kalnichevski
a93d5c0c1d HTTPCLIENT-2073: (regression) WindowsNegotiateScheme incorrectly rejects empty NTLM challenge 2020-04-05 13:22:13 +02:00
Oleg Kalnichevski
9ea79c68c5 Minor tweaks to auth execution logging 2020-04-05 12:43:26 +02:00
Oleg Kalnichevski
92100e13a6 HTTPCLIENT-2069: RequestConfig#copy does not copy #responseTimeout 2020-03-31 14:00:01 +02:00
Oleg Kalnichevski
98daeabc05 HTTPCLIENT-2061: corrected sequence of request execution interceptors in classic HttpClient 2020-03-17 14:51:19 +01:00
Oleg Kalnichevski
1928f8db40 Rewrite of redirect integration test cases 2020-03-17 14:47:46 +01:00
slisaasquatch
ffa0530bb2 Fix NPE for null HttpContext in minimal async clients 2020-03-07 11:09:04 +01:00
slisaasquatch
99f7d2b710 Removed unnecessary BasicFuture wrapping 2020-03-07 11:07:05 +01:00
Oleg Kalnichevski
56ef8b8642 Use try-with-resources in examples 2020-02-24 12:07:55 +01:00
Oleg Kalnichevski
f4fb8b5e1d Added Clirr API compatibility check 2020-02-22 14:18:17 +01:00
Oleg Kalnichevski
61f3a943e1 Upgraded HttpClient version to 5.0.1-SNAPSHOT 2020-02-22 09:56:16 +01:00
Oleg Kalnichevski
ad47e950e3 Updated release notes for HttpClient 5.0 release 2020-02-19 09:37:59 +01:00
Oleg Kalnichevski
24b3f71a8f Removed deprecated methods 2020-02-19 09:37:46 +01:00
Oleg Kalnichevski
53e172553d HTTPCLIENT-2051: Change POST to GET for 301, 302 and 303 redirects. Other unsafe methods to be redirected as is. 2020-02-17 14:56:31 +01:00
Oleg Kalnichevski
42cae6999c Use finite (3 minutes) connection keep-alive period by default 2020-02-17 09:12:39 +01:00
Oleg Kalnichevski
85eec39f7f Updated Travis CI JDK matrix; replaced Oracle JDK 11 with OpenJDK 12 and Oracle JDK 12 2020-02-15 14:46:59 +01:00