Commit Graph

674 Commits

Author SHA1 Message Date
Arturo Bernal 94d73429dd Add DistributedProxySelector for efficient and thread-safe proxy selection
This commit introduces the DistributedProxySelector class, which enables efficient and thread-safe proxy selection among multiple ProxySelector instances. The new class ensures proper distribution of proxy selector usage with the help of AtomicInteger and maintains thread safety using ThreadLocal.

Key features and improvements:

Distributes proxy selection among multiple ProxySelector instances
Ensures thread safety by using ThreadLocal<ProxySelector>
Properly handles exceptions and connection failures
Comprehensive JavaDoc documentation for class, methods, and variables
Includes unit tests for various scenarios and edge cases
This new functionality provides a robust and efficient solution for distributing proxy selection in multi-threaded environments, improving the overall performance and reliability of the system.
2023-08-12 17:14:53 +02:00
Arturo Bernal 17da6d24ca Add support for preamble and epilogue in multipart entities
Previously, multipart entities did not support adding a preamble or epilogue to the message. This commit adds support for these features by modifying the AbstractMultipartFormat class to accept preamble and epilogue strings in its constructor. The HttpRFC6532Multipart, HttpRFC7578Multipart, and HttpStrictMultipart classes are updated to pass these parameters to the parent constructor when creating instances of multipart entities.

This change allows users to include custom content at the beginning and end of their multipart messages, which can be useful in certain scenarios such as adding metadata or information about the message contents.
2023-08-12 17:14:53 +02:00
Arturo Bernal 0df9e63932 Enhance ContentResponseHandler to be fault-tolerant
This commit enhances the `ContentResponseHandler` class to be more fault-tolerant by handling responses with null or empty bodies without throwing exceptions. If the response was successful (a 2xx status code), the `Content` object is returned. If no response body exists, `Content.NO_CONTENT` is returned.

The implementation extends `ContentResponseHandler` and overrides its methods to handle the response entity and transform it into the actual response object. This is designed to be efficient and use minimal memory.
2023-08-12 17:14:53 +02:00
Arturo Bernal efe57e03c6 Workaround for URL quoting issue with LLv6 host literals. Due to an issue with URL quoting for LLv6 host literals, the original implementation of SystemDefaultDnsResolver does not support constructing URLs with LLv6 literals that have a ZoneID. This commit implements a workaround that strips the ZoneID from LLv6 literals before resolving them. This allows URLs with LLv6 literals to be constructed without quoting the ZoneID. Note that this workaround does not fully comply with RFC 6874, but it should work in most cases. 2023-08-12 17:14:53 +02:00
Oleg Kalnichevski 95e8abbda8 BEARER auth scheme support (RFC 6750) 2023-08-12 17:14:53 +02:00
Oleg Kalnichevski 2d77d1d579 Normalize scheme name in AuthScope 2023-08-12 17:14:53 +02:00
Oleg Kalnichevski ff35df66a5 Removed references in specific RFCs 2023-08-12 17:14:53 +02:00
Oleg Kalnichevski 55f86b9fd7 Credentials interface should be able to represent different types of user credentials including token based with no password 2023-08-12 17:14:53 +02:00
Oleg Kalnichevski c0194331c3 Upgraded project version to 5.3-alpha1-SNAPSHOT 2023-08-12 17:14:16 +02:00
Christoph Kaser 223669659c Check for timeToLive == 0
Allows setting connection timeToLive and validateAfterInactivity to zero to always close or validate a connection
2023-07-22 13:04:18 +02:00
John Vasileff d72a136817 Per RFC 7616, use the provided Response algorithm in the Request
For digest authentication, in RFC 7616 section "3.4 The Authorization
Header Field":

    The values of the opaque and algorithm fields must be those supplied
    in the WWW-Authenticate response header field for the entity being
    requested.

This commit honors that rule, and removes the previous behavior that
augmented the request header with "algorithm=MD5" when none was provided
in the server's response.

Aside from the specification, it also stands to reason that if the
server failed to provide "algorithm=..." in its "WWW-Authenticate"
header, the server should be fine with the client failing to provide
"algorithm=..." in the "Authorization" header.

The motivation for this change is that including "algorithm=MD5" in the
"Authorization" header causes http requests to fail when made to an
embedded system, which I suspect to be a an Espressif ESP32 web server.
2023-07-20 20:18:05 +02:00
Oleg Kalnichevski 9ad56ad734 Improvements in the ClientConfiguration sample app 2023-07-13 17:57:04 +02:00
Gary Gregory 09ae5f212a Mostly missing Javadoc in org.apache.hc.client5.http.entity and minor
clean ups
2023-07-02 16:31:07 -04:00
Oleg Kalnichevski 3e38a5e5ec HTTPCLIENT-2271: Do not optimize the path component of the resolved URI by default. 2023-04-27 17:13:53 +02:00
Oleg Kalnichevski 48e4229843 HTTPCLIENT-2262: Corrected RequestConfig#connectionRequestTimeout javadocs 2023-03-17 11:23:07 +01:00
Alice Li cda24a64ba chore: update ClientProxyAuthenticationExample 2023-03-13 15:43:31 +01:00
Arturo Bernal 078c7c7eb7 Remove unnecessary declarations. 2023-03-13 15:43:31 +01:00
MartinWitt f198fc0e62 Make inner classes static (#405) 2023-03-13 15:43:24 +01:00
Gary Gregory f78ec699ab Camel case names 2023-03-13 15:43:16 +01:00
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 22e5a0be6b Upgraded HttpClient version to 5.2.2-SNAPSHOT 2022-12-07 14:09:11 +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 e52ff02f74 Upgraded HttpClient version to 5.2.1-SNAPSHOT 2022-11-13 12:28:46 +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
dependabot[bot] fd86093db6 Bump download-maven-plugin from 1.6.0 to 1.6.8
Bumps [download-maven-plugin](https://github.com/maven-download-plugin/maven-download-plugin) from 1.6.0 to 1.6.8.
- [Release notes](https://github.com/maven-download-plugin/maven-download-plugin/releases)
- [Commits](https://github.com/maven-download-plugin/maven-download-plugin/compare/1.6.0...1.6.8)

---
updated-dependencies:
- dependency-name: com.googlecode.maven-download-plugin:download-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-02 16:46:07 +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 8dbaf131f5 Upgraded HttpClient version to 5.2-beta2-SNAPSHOT 2022-06-07 14:42:03 +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 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