276 Commits

Author SHA1 Message Date
Oleg Kalnichevski
f182b73e48 Added methods to passivate and activate managed connections. These methods are used to restore / store the original socket timeout value upon connection lease / release 2017-11-17 17:49:14 +01:00
Oleg Kalnichevski
e3cd57a570 Fixed ALPN handshake failure in HTTP/2 integration tests 2017-11-14 19:27:25 +01:00
Oleg Kalnichevski
6228a73613 * HTTP/2 multiplexing HttpAsyncClient implementation
* Restructured integration tests to reduce test duplication
2017-11-13 22:30:12 +01:00
Oleg Kalnichevski
703b7968c5 Treat System#getProperty as a privileged action 2017-11-13 10:46:09 +01:00
Oleg Kalnichevski
3db1228242 Improved minimal HttpAsyncClient implementation; added minimal HTTP/2 multiplexing HttpAsyncClient implementation 2017-11-12 16:20:58 +01:00
Oleg Kalnichevski
79c153409b Async exec runtime and connection management improvements 2017-11-12 16:20:58 +01:00
Oleg Kalnichevski
d992bec7ad Fixed handling of task cancelation 2017-11-12 16:20:27 +01:00
Oleg Kalnichevski
1577356f37 Fixed handling of request configuration by async clients 2017-11-09 11:26:51 +01:00
Oleg Kalnichevski
7c0a1127be Multi-home DNS aware implementation of ConnectionInitiator; ConnectTimeoutException and HttpHostConnectException to use NamedEndpoint instead of HttpHost 2017-11-08 15:01:18 +01:00
Oleg Kalnichevski
2ad0370517 Revised handling of non-repeatable requests 2017-11-07 09:42:07 +01:00
Oleg Kalnichevski
45f1a2a740 Improved internal client exchange handling code 2017-11-05 13:57:34 +01:00
Oleg Kalnichevski
389272de3a Upgraded HttpCore dependency to version 5.0-beta1 2017-11-05 13:57:34 +01:00
Oleg Kalnichevski
d88e32f952 Annotation for cacheable auth schemes 2017-11-04 11:10:22 +01:00
Oleg Kalnichevski
87865c5cd5 Fixed style check violations (no functional changes) 2017-11-01 22:30:52 +01:00
Oleg Kalnichevski
a403075948 HTTPCLIENT-1873: Config option for Kerberos delegation 2017-10-23 11:36:14 +02:00
Oleg Kalnichevski
d054442cdf Compatibility with Java 9 (tested with Oracle JDK 9.0.1); updated SSL/TLS examples 2017-10-22 17:15:50 +02:00
Oleg Kalnichevski
572a370f4b Added #toString() 2017-10-22 17:13:55 +02:00
Oleg Kalnichevski
09aee8c422 Removed #finalize() methods deprecated in Java 9 2017-10-22 14:33:01 +02:00
Oleg Kalnichevski
9368c5f5c8 HTTPCLIENT-1855: disabled caching of DIGEST auth scheme instances due to unreliability of nonce counter when the auth cache is shared by multiple sessions 2017-10-20 12:04:26 +02:00
Oleg Kalnichevski
45f1657907 HTTPCLIENT-1827: Builder for CachingHttpAsyncClient instances with full support for streamed HTTP exchanges 2017-10-16 22:59:26 +02:00
Oleg Kalnichevski
b24aa01866 Upgraded parent POM to version 9; Removed explicit plugin version declaration (should be inherited from the parent POM) 2017-10-04 14:04:17 +02:00
Oleg Kalnichevski
20f4290d01 Removed dependency on classic (blocking) I/O APIs from HttpCache 2017-10-02 17:34:40 +02:00
Oleg Kalnichevski
e2a464084c Removed deprecated code 2017-10-01 11:42:51 +02:00
Oleg Kalnichevski
f959d44ec7 Deprecated Content-Transfer-Encoding field in MIME body parts per RFC 7578, section 4.7 2017-09-30 23:51:52 +02:00
Ioannis Sermetziadis
a424709d89 HTTPCLIENT-293 Implemented the percent encoding of the filename parameter of the Content-Disposition header based on RFC7578 sections 2 and 4.2. In the new MultipartForm implementation I included a PercentCodec that performs encoding/decoding to/from the percent encoding as described in RFC7578 and RFC3986. 2017-09-30 23:51:43 +02:00
Ioannis Sermetziadis
9560aef476 HTTPCLIENT-293 Refactored code in order to support multipart header field parameters in the data model and postpone the formatting and encoding of the parameters until the moment written into a stream, which is essential in order to avoid multiple encodings of the same value. 2017-09-30 23:51:22 +02:00
Oleg Kalnichevski
9ac5808bdb Added MessageCopier and implementations for HttpRequest and ClassicHttpRequest messages; removed message copy methods from ExecSupport 2017-09-30 23:00:45 +02:00
Oleg Kalnichevski
e8972624ac Redesign of SimpleHttpRequest / SimpleHttpResponse APIs 2017-09-29 17:02:41 +02:00
Andy Klimczak
26a253fcb4 Fix typo in HttpClients.java Javadoc closes #83. 2017-09-06 14:55:34 -06:00
Oleg Kalnichevski
d2b3385ba2 Redesign of classic and asynchronous connection manager APIs 2017-09-06 17:44:36 +02:00
Oleg Kalnichevski
6d17126cbf Moved classes and renamed packages (no functional changes) 2017-09-02 17:27:30 +02:00
Oleg Kalnichevski
dcc09e92e0 Logging improvements 2017-09-01 20:30:10 +02:00
Oleg Kalnichevski
b58e7d46d7 Upgraded HttpCore to version 5.0-alpha4 2017-09-01 20:29:58 +02:00
Carter Kozak
272ea1fa83 Fixed NPE PoolingAsyncClientConnectionManager
PoolingAsyncClientConnectionManager.validateAfterInactivity causes
an NPE when PoolEntries are initially created with no Connection.

Added logic to avoid checking the connection on every pool
checkout similar to the blocking pool.

Added an connection.isOpen check to http1.x connections leased
from the pool, although I'm unsure if it's at all effective.

Closes PR #82
2017-08-09 20:28:18 +02:00
Carter Kozak
a10967a427 BasicCookieStore no longer synchronizes on reads
BasicCookieStore uses a ReentrantReadWriteLock to avoid
synchronization on getCookies/toString while maintaining
thread safety.

Closes PR #81
2017-08-08 23:07:52 +02:00
Tomas Celaya
9efcba8730 [HTTPCLIENT-1865] DefaultServiceUnavailableRetryStrategy does not
respect HttpEntity#isRepeatable.
2017-08-01 19:25:17 +02:00
Gary Gregory
f2146cab62 [HTTPCLIENT-1858] Clone some code from Log4j 2 to cache a StringBuilder
in a ThreadLocal. Update to use the StringBuilder's capacity instead of
its length to measure upper bound.
2017-08-01 19:12:15 +02:00
Jay Modi
fe6b90a8c6 [HTTPASYNC-124] Add doPrivileged blocks to async client and connection
manager builders.
2017-08-01 19:12:02 +02:00
Oleg Kalnichevski
643ea6c3e0 Fixed javadocs 2017-07-16 23:01:36 +02:00
Gary Gregory
527dce78a7 [HTTPCLIENT-1858] Clone some code from Log4j 2 to cache a StringBuilder in a ThreadLocal. 2017-07-16 22:42:16 +02:00
Karl Wright
55fe0fb139 HTTPCLIENT-1859: Encode header name, filename appropriately 2017-06-22 09:51:27 -04:00
Oleg Kalnichevski
1cba813bf8 CredSSP scheme to throw SSLInitializationException in case of SSL context initialization failure instead of untyped RuntimeException 2017-05-29 20:21:57 +02:00
Oleg Kalnichevski
a034a34db2 Line ending normalization 2017-05-29 20:08:10 +02:00
Oleg Kalnichevski
4f4576ec94 Use SSLInitializationException from HttpCore 2017-05-29 19:21:04 +02:00
Pavol Loffay
4bd79fb3dd Allow to add exec interceptor as the first and the last
Closes PR #76
2017-05-18 09:27:58 +02:00
Oleg Kalnichevski
8a1b96bfa7 Upgraded HttpClient version to 5.0-alpha3-SNAPSHOT
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1794682 13f79535-47bb-0310-9956-ffa450edef68
2017-05-10 08:19:07 +00:00
Gary D. Gregory
ace93bbbed No need for two (2) license headers.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1794478 13f79535-47bb-0310-9956-ffa450edef68
2017-05-08 22:55:38 +00:00
Gary D. Gregory
9050d81207 Javadoc: Close tag.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1794414 13f79535-47bb-0310-9956-ffa450edef68
2017-05-08 17:11:27 +00:00
Gary D. Gregory
07c74cd8b1 Better parameter name.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1794412 13f79535-47bb-0310-9956-ffa450edef68
2017-05-08 16:51:27 +00:00
Gary D. Gregory
4fa296bbfd Sort imports.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1794411 13f79535-47bb-0310-9956-ffa450edef68
2017-05-08 16:51:12 +00:00