Commit Graph

3314 Commits

Author SHA1 Message Date
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
Oleg Kalnichevski 3dd37952bc Use Java 8 Time APIs for date / time operations in the HTTP cache tests 2021-11-09 22:50:00 +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
Oleg Kalnichevski a8ac78e3b2 Updated release notes for HttpClient 5.2-alpha1 release 2021-10-28 14:39:17 +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
Oleg Kalnichevski eb22ef30fc Upgraded HttpCore to version 5.2-alpha2 2021-10-23 18:10:15 +02:00
Arturo Bernal 277c7228c3 Change loop that don't loop for "if" conditions. 2021-10-23 18:10:15 +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 4b7551a466 Update Travis builds to LTS versions. 2021-10-13 10:37:23 +02:00
Gary Gregory 445d4271f9 Use compact array initialization syntax. 2021-10-13 10:36:49 +02:00
Gary Gregory 68c378bb7c Update some dependencies.
- io.reactivex.rxjava2:rxjava .......................... 2.2.7 -> 2.2.21
- junit:junit ........................................... 4.13 -> 4.13.2
- net.java.dev.jna:jna .................................. 5.2.0 -> 5.9.0
- net.java.dev.jna:jna-platform ......................... 5.2.0 -> 5.9.0
- org.apache.logging.log4j:log4j-core .................. 2.9.1 -> 2.14.1
- org.apache.logging.log4j:log4j-slf4j-impl ............ 2.9.1 -> 2.14.1
- org.conscrypt:conscrypt-openjdk-uber .................. 2.2.1 -> 2.5.2
- org.ehcache.modules:ehcache-api ....................... 3.4.0 -> 3.9.6
- org.mockito:mockito-core ............................. 3.10.0 -> 4.0.0
- JApiCmp ............................................. 0.15.3 -> 0.15.4
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 88a05247e1 Cleanup of authentication test cases 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
Arturo Bernal 1eeca062f2 Use setDefaultConnectionConfig instead of deprecated method setValidateAfterInactivity. 2021-08-27 19:49:22 +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
Chen Zhang e518d8db9c Improve Travis CI build Performance 2021-08-17 15:33:40 +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
Oleg Kalnichevski 760795b6df HTTPCLIENT-1244: Replaced EasyMock with Mockito in the HTTP cache unit tests 2021-06-19 16:49:12 +02:00