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