niranjan ghule
daac18619a
Remove unused code
2022-05-05 10:52:49 +02:00
Oleg Kalnichevski
62fb4bcbe0
HTTPCLIENT-2212: MinimalHttpAsyncClient fails to release client endpoints in case of a connect error (such as TLS handshake failure)
2022-05-05 10:47:27 +02:00
Richard Hernandez
36678c44dc
Create daemon threads in InternalAbstractHttpAsyncClient
2022-04-06 12:22:36 -07:00
Anthony Baldocchi
94017237b2
HTTPCLIENT-2080: add getRetryInterval to HttpRequestRetryStrategy for use on retriable IOExceptions ( #356 )
2022-03-30 16:31:07 +02:00
Ryan Schmitt
c395aad5ad
Fix infinite recursion in SSLConnectionSocketFactory
2022-03-23 09:09:14 +01:00
Oleg Kalnichevski
f00ce5da9e
HTTPCLIENT-2200: Protocol interceptors are executed before the connection route has been fully established
2022-03-17 17:43:22 +01:00
Oleg Kalnichevski
a3bbcc82ae
Upgraded HttpCore to version 5.2-beta1
2022-03-17 17:18:12 +01:00
John Gallagher
5f9bc347ee
StringBody: just write the bytes to the output stream
2022-03-16 10:01:24 +01:00
Andriy Redko
6a487ba686
HTTPCLIENT-2209: Pass HttpContext to AsyncClientConnectionOperator ( #353 )
2022-03-12 18:53:45 +01:00
David Schlosnagle
04aeaa5bcd
Optimize ExecSupport.getNextExchangeId() ( #352 )
2022-02-26 12:45:18 +01:00
cda007
157174543f
Added option to set an IOSessionListener on async client builders
2022-02-21 12:15:30 +01:00
Oleg Kalnichevski
19626731c0
HTTPCLIENT-2203: Corrected target host normalization by the request execution interceptors; added ContextBuilder with support for preemptive authentication initialization
2022-02-13 20:07:47 +01:00
Oleg Kalnichevski
8881ef4b3f
Fixed incompatibility with older versions of Android shipping with Commons Codec < 1.4
2022-01-24 14:16:33 +01:00
Oleg Kalnichevski
235900eb57
Bug fix: ByteArrayBuilder incorrectly handles empty strings
2022-01-24 14:05:33 +01:00
Andrei Vasilev
75e8dc6f9b
HTTPCLIENT-2198, Fixed NPE in TlsConfig.toString()
...
Replaced called to Arrays.asList() to Arrays.toString(), which allows for null argument.
2022-01-22 08:55:40 +01:00
Andrei Vasilev
d4c0e961ab
HTTPCLIENT-2198, Fixed AbstractClientTlsStrategy to respect HttpVersionPolicy
...
Updated AbstractClientTlsStrategy to pass only the HttpVersionPolicy set by TlsConfig instead of the entire TlsConfig to H2TlsSupport.selectApplicationProtocols() method.
2022-01-21 09:04:24 +01:00
Oleg Kalnichevski
3ee994b25c
HTTPCLIENT-2195, regression: classic ConnectExec incorrectly discards the proxy response body even if the request cannot be executed and the response is final
2022-01-13 15:37:23 +01:00
Arturo Bernal
9e876e7ff0
Remove no need it ConnectionConfig.
2022-01-13 15:04:20 +01:00
Arturo Bernal
d2a9977290
HTTPCLIENT-2188 - Improve logging when BasicHttpClientConnectionManager is still allocated
2022-01-13 15:00:54 +01:00
JasonMathison
dd0bbda070
Httpclient-2194 async retries not including body ( #343 )
2022-01-05 21:55:58 +01:00
Oleg Kalnichevski
e6ad081b3c
Deprecated execute methods that return an open response object in favor of execute methods with a response handler and automatic resource deallocation
2021-12-26 17:02:55 +01:00
Oleg Kalnichevski
19571aa207
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
2021-12-17 10:58:09 +01:00
Arturo Bernal
6ba9b4acdc
Method to check if the connection manager has been shut down and is closed or not.
2021-12-15 12:21:59 +01:00
Arturo Bernal
f8f5bbda87
Complete test for HTTP Methods.
2021-12-04 13:43:16 +01:00
Arturo Bernal
d323e0d684
HTTPCLIENT-2189 - Cookie and Cache APIs to use Java time primitives
2021-11-29 14:21:01 +01:00
Arturo Bernal
0a42d173ef
HTTPCLIENT-2186 - Migrate Test to Unit 5.
2021-11-21 19:44:13 +01:00
Arturo Bernal
ef9f8ba9ab
Convert QOP constants into an enum.
2021-11-19 12:22:58 +01:00
Arturo Bernal
d2c59fd5e4
HTTPCLIENT-2065: Simplify additon of content type parameters in MultipartEntityBuilder
...
This closes #320
2021-11-14 09:51:07 +01:00
Arturo Bernal
af2cc82e82
HTTPCLIENT-2066 Provide ByteArrayBody constructors w/o filename parameter
...
This closes #319
2021-11-13 18:04:46 +01:00
Arturo Bernal
0926f1e07a
HTTPCLIENT-2079: version.properties contains non-interpolated value
...
This closes #321
2021-11-13 17:47:16 +01:00
Michael Osipov
f055b3e83b
Apply English locale to all date header formatters
2021-11-13 17:09:45 +01:00
Carter Kozak
e09c5d0691
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.
2021-11-12 17:33:59 -05:00
Arturo Bernal
4d0caa4f42
Fix typo method and class. Deprecate the old ones.
2021-11-12 22:16:52 +01:00
Oleg Kalnichevski
0e8adf79dc
Updated examples and unit tests to make use of lambda expressions for response message processing
2021-11-12 22:16:43 +01:00
Arturo Bernal
58386f857b
Add @OverRide.
2021-11-06 14:59:45 +01:00
Arturo Bernal
0289c78e8d
Use {@code } instead <code>.
2021-11-06 14:59:19 +01:00
Oleg Kalnichevski
1eb2d40df1
Upgraded HttpClient version to 5.2-alpha2-SNAPSHOT
2021-11-01 18:04:02 +01:00
Oleg Kalnichevski
000fa7bc10
Fixed javadoc errors
2021-10-29 14:55:37 +02:00
Arturo Bernal
1fb79b96f6
Make IOReactor IO session decorator and exception callback configurable.
2021-10-26 14:27:09 +02:00
Oleg Kalnichevski
dfc2086d24
Replaced SimpleDateFormat and Calendar with Java 8 Time APIs; removed thread-local from DateUtils
2021-10-24 16:50:07 +02:00
Oleg Kalnichevski
ffc8cd7585
Updated connection and TLS configuration examples
2021-10-23 19:48:00 +02:00
Oleg Kalnichevski
a02455acb3
Support for connection TTL setting on a per-route basis
2021-10-23 19:24:39 +02:00
Arturo Bernal
fff097615b
Make IOReactor IO session decorator configurable.
2021-10-23 18:34:14 +02:00
Arturo Bernal
012429391c
* Fix javadoc typo.
...
* Use java array declarations instead of "c" way.
2021-10-23 18:10:15 +02:00
Arturo Bernal
bc7aae743a
Re-use core URIScheme instead of String.
2021-10-23 18:10:15 +02:00
Gary Gregory
238401731b
Don't initialize AtomicReference to its default value.
2021-10-23 18:10:15 +02:00
Oleg Kalnichevski
8b73f6b83c
HTTPCLIENT-2182: access to SSLSession attributes via reflection disallowed as of Java 16. Core TLS functions now use new Java 1.8 API introduced by 8u251 update
2021-10-23 18:09:11 +02:00
Oleg Kalnichevski
b10d43f2bb
HTTPCLIENT-2135: TLS configuration on a per-host basis
2021-10-23 18:07:41 +02:00
Gary Gregory
445d4271f9
Use compact array initialization syntax.
2021-10-13 10:36:49 +02:00
Gary Gregory
b6ae693fe5
Don't initialize AtomicReference to its default value.
2021-10-13 10:36:49 +02:00
Oleg Kalnichevski
4dd7cefbde
Corrected resolution of the target host in DefaultUserTokenHandler
2021-09-29 18:01:47 +02:00
Oleg Kalnichevski
fb0c073783
RFC 7230: treat presence of a userinfo component in request URI as an HTTP protocol violation
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
30c253b37b
AuthCache conformance to RFC 7617
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
5390aef223
Always bind the exchange ID to the execution context
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
013851d898
Logger cleanup (no functional changes)
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
4150ac0592
Refactored AuthCache keeping logic into a separate utility class
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
670f0456ba
More consistent handling of request scheme and authority by protocol interceptors
2021-09-29 18:01:46 +02:00
Oleg Kalnichevski
7b47b28d46
Added immutable CredentialsProvider implementations and a CredentialsProvider builder; changed test cases and examples to use immutable CredentialsProvider where possible
2021-09-29 18:01:45 +02:00
Oleg Kalnichevski
17ebfc529e
HTTPCLIENT-2120: force HTTP/1.1 protocol policy when creating a tunnel via HTTP/1.1 proxy
2021-09-29 18:01:43 +02:00
Oleg Kalnichevski
9496bb8475
Better connect operation logging
2021-09-18 21:31:10 +02:00
Oleg Kalnichevski
90f69c87b2
HTTPCLIENT-2177: fixed incorrect route state tracking by the async connect executor when negotiating a tunnel via a proxy
2021-09-18 21:31:04 +02:00
Oleg Kalnichevski
4ce032c92c
HTTPCLIENT-2177: keep successful tunnel connections alive regardless of `Connection: close`
2021-09-18 21:31:02 +02:00
Oleg Kalnichevski
50f93ec18b
HTTPCLIENT-2045: BASIC auth scheme conformance to RFC 7617
2021-09-17 11:17:49 +02:00
Marcono1234
8e8774e6b5
Fix bad test class name
2021-09-11 17:01:59 +02:00
Oleg Kalnichevski
92f757eee3
HTTPCLIENT-2120: support for H2 via HTTP/1.1 proxy
2021-09-09 14:58:49 +02:00
Oleg Kalnichevski
bdc7f3b93e
Upgraded HttpCore to version 5.2-alpha1
2021-09-09 14:23:37 +02:00
Oleg Kalnichevski
c56c00c549
Fixed deprecation warnings that could be fixed and suppressed those that could not
2021-09-09 13:49:44 +02:00
Jaikiran Pai
755b69ea3c
Don't retry a request for NoRouteToHostException
2021-08-23 22:24:15 +02:00
Oleg Kalnichevski
5164a4e7b4
HTTPCLIENT-2170: Classic protocol layer no longer releases the underlying connection back to the pool prematurely while the NTLM handshake is still ongoing
2021-08-19 18:58:41 +02:00
Oleg Kalnichevski
29ba623ebe
Fixed connection lease request cancellation race in both classic and asyc pooling connection managers
2021-06-28 22:27:01 +02:00
Oleg Kalnichevski
aff1d2024c
Better exception asserts in unit tests
2021-06-19 21:10:43 +02:00
Arturo Bernal
d77112f608
Replace assert calls by simpler but equivalent calls.
2021-06-19 16:47:44 +02:00
Arturo Bernal
fde3fca687
Simplify conditions and avoid extra checks.
...
Inline return variables.
2021-06-19 16:47:41 +02:00
Oleg Kalnichevski
0805cfe582
Updated test cases with exception asserts
2021-05-24 18:53:58 +02:00
Oleg Kalnichevski
82432f50d9
Removed references to deprecated Assert#assertThat
2021-05-24 16:58:33 +02:00
Oleg Kalnichevski
8580d7fddf
Redundant type declarations
2021-05-24 14:43:18 +02:00
Oleg Kalnichevski
2072651983
Upgraded Mockito to version 3.10.0
2021-05-24 14:43:08 +02:00
Oleg Kalnichevski
f36637dc2f
Moved connection management related settings from RequestConfig to new class ConnectionMgmtConfig
2021-05-24 12:43:41 +02:00
Arturo Bernal
f5d3c14afd
HTTPCLIENT-2139 - Cookie Header HttpOnly attribute
2021-05-24 12:43:34 +02:00
Oleg Kalnichevski
646257e107
Upgraded project version to 5.2-alpha1-SNAPSHOT
2021-05-24 11:30:08 +02:00
Oleg Kalnichevski
bb04d078ad
Java 1.8 upgrade
2021-05-11 21:34:49 +02:00
Oleg Kalnichevski
6693c186f4
Upgraded HttpClient version to 5.1.1-SNAPSHOT
2021-05-11 21:03:27 +02:00
Oleg Kalnichevski
c4b2a8480d
Upgraded HttpCore to version 5.1.1
2021-05-07 18:51:03 +02:00
Oleg Kalnichevski
d8d7ad37a3
Extra sage-guards for concurrent connection endpoint acquisition and request execution cancellation
2021-04-28 16:31:16 +02:00
Oleg Kalnichevski
09f50cd80c
HTTPCLIENT-2152: Fixed handling of unexpected unchecked exception by the async request retry exec interceptor
2021-04-27 13:07:13 +02:00
Oleg Kalnichevski
13137eb6c7
Async clients to support scheduled (delayed) re-execution of requests
2021-04-27 12:57:15 +02:00
Peter Dettman
58a17cc549
HTTPCLIENT-2149: When no dNSName, match against CN
2021-04-10 11:50:23 +02:00
Oleg Kalnichevski
935abae04e
HTTPCORE-672: cleanup of H2 connection validation code
2021-04-02 22:06:50 +02:00
Ryan Schmitt
f597588198
HttpAsyncClientBuilder: Make IOReactor exception callback configurable
2021-03-31 11:32:23 -07:00
Oleg Kalnichevski
73c1530b3f
HTTPCLIENT-2141: HttpClient to not retry requests if the retry interval exceeds the response timeout
2021-03-28 12:28:21 +02:00
Arturo Bernal
879a063b57
Reuse org.apache.hc.core5.http.Method HTTP spec enum
2021-03-16 12:53:31 +01:00
Oleg Kalnichevski
10e2deb210
Blocking connection managers to validate connections after inactivity of more than 2s by default; behavior of async connection managers remains the same
2021-03-16 09:24:14 +01:00
Oleg Kalnichevski
5875ca1c37
Fixed context logging in BasicHttpClientConnectionManager
2021-03-15 21:49:07 +01:00
Oleg Kalnichevski
2404540f1f
Deprecated request factory classes in favor of request builders
2021-03-14 22:13:55 +01:00
Oleg Kalnichevski
e0c19c0b53
Better javadocs for simple message classes
2021-03-14 20:37:08 +01:00
Oleg Kalnichevski
567b53d4b1
Improved async client examples
2021-03-14 20:08:37 +01:00
Oleg Kalnichevski
1174c240e2
Simple message builders
2021-03-14 18:59:22 +01:00
Sandeep Kulkarni
d94495131a
Fixed typo for enum name Postion to Position
2021-03-14 16:44:32 +01:00
Arturo Bernal
118e7359a1
Fixed typos javadocs and var names
2021-03-14 16:34:18 +01:00
Oleg Kalnichevski
d41d67fa94
Request factory classes to re-use `Method#normalizedValueOf`
2021-03-11 22:47:29 +01:00
Oleg Kalnichevski
b6b89a7296
Cleanup of redirect request generation code in Redirect exec interceptors
2021-03-11 22:47:29 +01:00
Oleg Kalnichevski
8b29c0680b
Improved proxy request message generation
2021-03-11 22:47:29 +01:00
Oleg Kalnichevski
3de88293fe
Deprecated message copiers in favor of generic message builders
2021-03-11 22:47:29 +01:00
leedonggyu
8aea7da1df
Remove duplicated conditional statement in ResponseProcessCookies
2021-02-25 10:47:42 +01:00
Oleg Kalnichevski
de5c6a237a
Deleted sample code moved to HttpComponents Website project
2021-02-23 19:18:47 +01:00
Carey Lin
a0184188c1
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.
2021-02-20 17:41:20 +01:00
imbyungjun
c39117e366
Fix typo on cookie formatting method
2021-02-16 20:01:54 +01:00
Arturo Bernal
f2e9ad3b11
Fix Typo
2021-02-10 22:09:20 +01:00
Oleg Kalnichevski
744c9d8020
Upgraded HttpClient version to 5.1-beta2-SNAPSHOT
2021-02-10 22:06:51 +01:00
Oleg Kalnichevski
4b295dff15
Deprecated some URIUtils methods in favor of URIBuilder
2021-02-06 18:05:01 +01:00
Oleg Kalnichevski
e6a7fe8a0c
Request message copy optimization
2021-02-06 17:36:24 +01:00
Oleg Kalnichevski
f9ea1b6238
Upgraded project version to 5.1-beta1-SNAPSHOT
2021-02-06 13:28:08 +01:00
Oleg Kalnichevski
af3a7526d2
RFC 3986 conformance: re-use URIBuilder new functionality in URIUtils#normalizeSyntax
2021-02-06 13:26:52 +01:00
Arturo Bernal
0940d35602
Minor Improvement:
...
* Avoid duplicate code
* Simplify if else
* Inline variables
2021-02-05 22:18:45 +01:00
Arturo Bernal
3c9f1f85e1
Minor Improvements:
...
* Use Empty collections
* Unnecessary toString
2021-01-26 09:14:46 +01:00
Oleg Kalnichevski
b71e2fcb83
No need to copy example sources as resources when generating site content
2021-01-17 11:12:33 +01:00
Hervé Boutemy
3b0a7aeee8
improve documentation format
2021-01-12 09:33:48 +01:00
Arturo Bernal
6a02e818ff
Minor Improvements:
...
* Remove redundant initialization
2021-01-05 20:01:19 +01:00
Oleg Kalnichevski
8285223560
Improved context and wire logging
2021-01-03 15:18:28 +01:00
Oleg Kalnichevski
a0b4dbb34b
Improved I/O session logging
2021-01-03 15:18:28 +01:00
Arturo Bernal
36e1bde6ff
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
2020-12-31 13:50:06 +01:00
Rob Spoor
25c124917b
Add interceptors before MAIN_TRANSPORT so they won't be ignored ( #272 )
2020-12-09 11:54:58 +01:00
Carter Kozak
8d5cfd326e
HTTPCLIENT-2104: ManagedHttpClientConnectionFactory supports ResponseOutOfOrderStrategy configuration
2020-12-06 16:38:16 -05:00
Oleg Kalnichevski
22cf9671b1
Fixed generics
2020-12-02 16:11:30 +01:00
Gary Gregory
75f9adea87
Remove redundant returns.
2020-11-24 09:22:25 -05:00
Gary Gregory
712148ecc3
Remove redundant modifiers.
...
- All methods in a final class are already final.
- All members of an interface are public.
- All inner enums are static.
2020-11-24 09:22:25 -05:00
Gary Gregory
956b8194ff
Simplify if/else.
2020-11-24 09:22:25 -05:00
Koji Lin
bf1822c55e
Fix NPE when H2/Async client interceptors are added using first/last ( #268 )
2020-11-06 09:49:55 +01:00
Oleg Kalnichevski
f6333a5001
HTTPCLIENT-2126: `InternalAbstractHttpAsyncClient` incorrectly handles response messages with no enclosed entity
2020-11-06 09:40:23 +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
594e5fcefb
Upgraded HttpClient version to 5.0.3-SNAPSHOT
2020-09-27 12:12:59 +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
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
aec050315e
Remove default config
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
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
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
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
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
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
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
61f3a943e1
Upgraded HttpClient version to 5.0.1-SNAPSHOT
2020-02-22 09:56:16 +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
934a6d5e77
Removed dodgy work-around for resumed TLS sessions given that JDK-8212885 fix has been ported to Java 11 and released in Oracle JDK 11.0.3
2020-02-15 14:46:59 +01:00
Oleg Kalnichevski
5bcf6b61f3
Bug fix: custom SSL context is ignored
2020-02-14 10:37:03 +01:00
Ryan Schmitt
6559b60342
DefaultHttpRequestRetryStrategy: Allow zero retry interval
2020-01-30 11:21:35 -08:00
Gary Gregory
d1c4199db3
No need to use the type name of an input arg in the method name. ( #208 )
...
* No need to use the type name of an input arg in the method name.
* Do not use input type names in method names.
2020-01-29 19:20:05 -05:00
Oleg Kalnichevski
4401991d93
HTTPCLIENT-2047: fixed regression in DefaultHostnameVerifier causing rejection of certs with non-standard domains.
...
This reverts commit 87cc64fc
2020-01-29 09:44:39 +01:00
Oleg Kalnichevski
3575cff3dc
Bug fix: fixed handling of private domains by PublicSuffixMatcher
2020-01-29 09:43:19 +01:00
Gary Gregory
95dbbf099b
Now that ClassicHttpRequests is no longer an enum, we need to way to
...
generically build requests from method names. Update all factory classes
with matching APIs for Method and String method name inputs.
(#204 ), (#205 )
2020-01-28 23:11:56 +01:00
Oleg Kalnichevski
afa8f5ecd1
Upgraded HttpClient version to 5.0-beta8-SNAPSHOT
2020-01-26 12:42:54 +01:00
Michael Osipov
5a8a6d0fc8
Convert convenience builders form enums to final classes
...
Turn exhaustive enum builder pattern to a final class with builder
methods serving HTTP request objects.
This closes #202
2020-01-19 20:23:33 +01:00
Oleg Kalnichevski
303e435d79
Domain name normalization
2020-01-14 11:01:59 +01:00
Gary Gregory
071fa68a3c
Misc clean ups. ( #200 )
2020-01-09 11:45:04 -05:00
Michael Osipov
0812192f46
Rename CookieSpecs enum to StandardCookieSpec final class
...
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard cookie specifications by name supported by the HttpClient.
The previous enum suffered from two issues:
* it was exhaustive implying that no more cookie specifications can be supported
* its sole purpose was to contain an id for the declared cookie specification;
the enum values theirselves were never used directly
This also reuses the naming approach of HttpMultipartMode of symbolic names for
implementation behavior.
This closes #197
2020-01-08 17:29:09 +01:00
Ryan Schmitt
87cc64fc88
DefaultHostnameVerifier: Match DNS and CN names against ICANN domains
...
This change ensures that during hostname verification the public suffix
list is only used to prevent wildcard matching against entire TLDs (e.g.
`*.com`). Currently, private domains are also being matched against,
which is preventing reasonable wildcards (such as
`*.s3.eu-central-1.amazonaws.com`) from being respected.
2020-01-07 10:09:02 -08:00
Ryan Schmitt
3aec96d3db
Upgraded HttpCore to version 5.0-beta11
2020-01-07 15:41:18 +01:00
Michael Osipov
3730b03a99
Properly distinguish between AuthScheme and auth scheme name
...
Throughout the code the terms 'authScheme' and 'scheme' have been used
synonymously for an AuthScheme instance and a string-based auth scheme
name. To avoid confusion, fields, methods and variable have been adapted
to distinguish both properly. If necessary, Javadoc has been modified to
denote the nature of the input.
Also an auth scheme name is retained as-is, but normalized to lowercase
if comparsion is required.
This closes #193
2020-01-01 22:51:19 +01:00
Gary Gregory
634886ab61
[HTTPCLIENT-2046] Rename AuthSchemes enum to StandardAuthScheme final class
...
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard auth schemes by name supported by the HttpClient. The
previous enum suffered from two issues:
* it was exhaustive implying that no more auth schemes can be supported
* its sole purpose was to contain an id for the declared auth scheme;
the enum values theirselves were never used directly
This closes #196
2020-01-01 21:57:53 +01:00
Oleg Kalnichevski
54a341ea92
Simplified MIME multipart generation modes (legacy, strict and extended)
2020-01-01 13:47:53 +01:00
Oleg Kalnichevski
56463de35d
MIME code cleanup and class renaming (no functional changes)
2020-01-01 13:47:53 +01:00
Gary Gregory
3fd383f870
[HTTPCLIENT-2044] Don't create stateless/immutable factory objects
...
Decide later if some of these classes should have a private default
constructor.
This closes #195
2019-12-31 20:43:56 +01:00
Gary Gregory
eaa8c5f648
[HTTPCLIENT-2043] Rename classes documented as factories from *Provider to *Factory ( #194 )
...
This closes #194
2019-12-31 11:27:16 -05:00
Michael Osipov
f71ee38819
[HTTPCLIENT-2041] AuthenticationStrategy#select() assumes challanges key to be lowercase
...
Properly document that lowercase keys are required.
2019-12-27 12:32:13 +01:00
Michael Osipov
782d8e40a0
Use proper scheme names in text
2019-12-27 12:26:55 +01:00
Michael Osipov
167dbc7576
Make consistent use of AuthSchemes#id
...
This closes #189
2019-12-27 12:26:34 +01:00
Michael Osipov
2744c73471
Apply consistent id field names
...
As with HttpCore an entity should have a consistent id field, named 'id'
throughout the entire codebase.
This closes #188
2019-12-26 15:32:22 +01:00
Oleg Kalnichevski
a2ebb62881
HTTPCLIENT-2040: Copy headers from the original request to the redirect request
2019-12-25 09:29:11 +01:00
Oleg Kalnichevski
35a63d3426
Removed RFC 2965 specific requirements deprecated and superseded by RFC 6265
...
Partially reverts commit 379a8351
2019-12-20 10:24:20 +01:00
Michael Osipov
86b1a3b711
Use language-agnotic Locale.ROOT
2019-12-15 16:15:36 +01:00
Michael Osipov
667fc9e218
HTTPCLIENT-2037: AIMDBackoffManager should use TimeValue
2019-12-15 12:21:59 +01:00
Michael Osipov
8be681964c
Use paste tense for EntityBuilder#gzipCompressed
...
Both gzipCompressed and chunked denote a state of an entity where both
should use consistent tenses.
2019-12-15 11:36:32 +01:00
Michael Osipov
6c1e4676a1
Remove unused StringBuilder
2019-12-15 11:36:31 +01:00
Michael Osipov
41a7f5f718
Correct typo in class name 'MultihomeConnectionInitiator'
...
This class was erronously named 'MultuhomeConnectionInitiator'
2019-12-15 11:36:30 +01:00
Michael Osipov
8adc6c3277
Fix variable name typo
2019-12-15 11:36:29 +01:00
Michael Osipov
830263d279
Use TimeValue#sleep()
2019-12-15 11:28:11 +01:00
Michael Osipov
3d502c9ac4
Correct Javadoc
2019-12-15 11:28:11 +01:00
Michael Osipov
434d5e5046
Fix formatting
2019-12-15 11:28:11 +01:00
Michael Osipov
bca9a873a5
Use consistent variable names
2019-12-15 11:28:08 +01:00
Michael Osipov
52c6cf7037
HTTPCLIENT-2035: Remove HttpRequestRetryHandler in favor of HttpRequestRetryStrategy
...
This closes #183
2019-12-12 08:45:27 +01:00
Michael Osipov
e06af3d50b
HTTPCLIENT-2019: Remove ServiceUnavailableRetryStrategy in favor of HttpRequestRetryStrategy
...
This closes #182
2019-12-12 08:35:08 +01:00
Michael Osipov
6cff260eff
HTTPCLIENT-2031: Don't use plural names for enums
...
This closes #180
2019-12-10 10:50:28 +01:00
Michael Osipov
1d56c27e6d
HTTPCLIENT-2034: Introduce HttpRequestRetryStrategy
2019-12-10 08:43:14 +01:00
Oleg Kalnichevski
070f30fdc4
Fixed session i/o and wire logging in async clients
2019-12-05 15:30:18 +01:00
Oleg Kalnichevski
f3c418c50a
CloseableHttpAsyncClient to support explicit HttpHost execution parameter
2019-12-05 10:15:21 +01:00
Oleg Kalnichevski
d0541123c2
Fixed typo in method name (no functional changes)
2019-12-05 10:15:21 +01:00
Michael Osipov
742bc47a80
HTTPCLIENT-2020: DefaultBackoffStrategy should include TOO_MANY_REQUESTS (429) too
2019-11-27 13:16:44 +01:00
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