Alen Turkovic
4695041df4
Pass HttpContext to SSLConnectionSocketFactory#prepareSocket method ( #404 )
2023-03-13 15:42:38 +01:00
Damiano Albani
3403571c18
Fix minor typo in Javadoc
2023-03-13 15:42:38 +01:00
Oleg Kalnichevski
2f87e4a6b7
Regression: async execution runtimes set the negotiated protocol version in the execution context at the wrong point of request execution
2022-11-21 22:37:49 +01:00
Bryan Keller
9cde791f35
Cancel connection request on exception
2022-11-14 22:16:43 +01:00
Gary Gregory
290ec22022
Fix compiler warnings in tests
...
Use try-with-resources, also avoids possible leaks on test failures
2022-11-14 22:13:14 +01:00
Gary Gregory
230a2caf67
Replace deprecated use of LangUtils#equals() with Objects.equals()
2022-11-14 09:57:05 -05:00
Oleg Kalnichevski
0ca5635898
HTTPCLIENT-2247: Test cases to document present assumptions about the correct handling of public domain suffixes
2022-11-13 12:28:53 +01:00
Oleg Kalnichevski
32228cd4ff
Regression: Multipart body builder and multipart formatters fail to escape special characters such as backslash and quote mark
2022-11-13 12:28:51 +01:00
Oleg Kalnichevski
16b2cf467d
HTTPCLIENT-2242: RoutingSupport fails to copy InetAddress when normalizing HttpHost
2022-11-06 11:18:15 +01:00
Oleg Kalnichevski
fe1e095ef9
Regression: connection managers fail to take into account per route connection config when closing expired connections
2022-11-06 11:11:53 +01:00
Oleg Kalnichevski
d76d27bed7
Bug fix: PoolingAsyncClientConnectionManager fails to update the execution context upon upgrade to HTTP/2
2022-11-05 16:42:47 +01:00
Oleg Kalnichevski
7626230ffd
Fixed integration tests broken by JUnit 5 upgrade
2022-11-05 11:16:05 +01:00
Oleg Kalnichevski
ba45d80b07
HTTPCLIENT-2240: fixed incorrect CONNECT method initialization in ProxyClient
2022-10-23 20:01:46 +02:00
Oleg Kalnichevski
646ff6988e
Corrected ClientExecuteProxy example
2022-10-23 20:01:46 +02:00
Oleg Kalnichevski
7ab435c271
HTTPCLIENT-2236: MultihomeIOSessionRequester fails to enhance the cause exception in case of connect failure if the remoteAddress argument has been given
2022-10-03 15:25:19 +02:00
Gary Gregory
bfa6a5ea72
Use Objects.toString() instead of String type cast
2022-10-02 16:46:07 +02:00
Oleg Kalnichevski
9c0575494a
HTTPCLIENT-2232: last protocol interceptrs moved at the end of the H2 protocol processing pipeline
2022-09-11 18:50:45 +02:00
Oleg Kalnichevski
ed7701c509
H2 async runtime to proactively set HTTP/2 protocol version in the execution context
2022-09-11 18:47:31 +02:00
Oleg Kalnichevski
3fe6a8bcdf
HTTPCLIENT-2231: a race condition in the main async exec when the request execution on an I/O thread is faster then execution pipeline management on the client thread
2022-08-19 14:04:25 +02:00
Arturo Bernal
18fa09f6a2
Avoid duplicate redundant objects and use Singleton instead.
2022-07-08 19:11:10 +02:00
Gary Gregory
1cd12fc1dc
Cleaning up:
...
- Super interface already implements FutureCallback
- No need to override methods to only call super
- Add missing Javadoc tag
- Access static field directly
2022-07-06 10:13:23 -04:00
jkmcl
69e2ed6c41
Remove unused local variable
2022-07-01 10:50:03 +02:00
jkmcl
8d9b52abd1
Remove redundant if
2022-07-01 10:50:03 +02:00
Oleg Kalnichevski
3771129376
HTTPCLIENT-2225: connection route calculation does not take the default RequestConfig into account
2022-06-29 09:46:19 +02:00
jkmcl
518eb410fe
Avoid unnecessary use of Instant.toEpochMilli
...
Avoid unnecessary use of Instant.toEpochMilli by using Instant.compareTo
to compare Instants direclty
2022-06-26 23:34:51 +02:00
jkmcl
15951d8094
Use HTTP header name constants
...
Use HTTP header name constants instead of string literals.
2022-06-20 19:25:00 +02:00
Carter Kozak
944e308a52
ResponseEntityProxy.writeTo(null) leaves connections in the correct state
...
Previously writeTo would conditionally delegate to the wrapped
entity if the provided outputstream was non-null, however in the
null case the entity would not be drained and the connection would
be released potentially with bytes remaining. If this occurs in
practice, it may result in timeouts as the server expects to write
data to the response while the client is attempting to send a
request.
2022-06-13 19:29:19 +02:00
Carter Kozak
3bd017cb0a
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.
2022-06-11 14:11:06 +02:00
Oleg Kalnichevski
91a93accd7
Corrected javadoc errors in Base64
2022-06-03 23:48:13 +02:00
j3graham
26dcc6f914
HTTPCLIENT-2218: Use Java 8 Base64 utility ( #370 )
2022-06-01 23:04:29 +02:00
殷成涛
db47570efe
add br decompression support ( #363 )
2022-05-18 15:18:25 +02:00
niranjan ghule
34327ae83e
Refactor testcase
2022-05-11 11:56:59 +02:00
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
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
bb04d078ad
Java 1.8 upgrade
2021-05-11 21:34:49 +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
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
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
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
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
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
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
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