Commit Graph

139 Commits

Author SHA1 Message Date
Gary Gregory 9931a9ca94 Replace use of String.indexOf(String) for strings of length one with
indexOf(char)
2017-12-06 09:29:06 -07:00
Oleg Kalnichevski cca56bebe9 AuthScope cleanup 2017-12-05 15:16:05 +01:00
Oleg Kalnichevski 4a55a8cfbd HTTPCLIENT-1885: Content compression exec interceptor generates incorrect 'Accept-Encoding' header value 2017-11-28 10:22:56 +01:00
Oleg Kalnichevski 2b2dd593a3 HTTPCLIENT-1883: SystemDefaultCredentialsProvider to use https.proxy* system properties for origins with port 443 2017-11-26 17:09:59 +01:00
Oleg Kalnichevski 2584dbd311 HTTPCLIENT-1883: Added https.proxy* to the list of system properties taken into account by HttpClientBuilder and HttpAsyncClientBuilder 2017-11-26 16:37:29 +01:00
Oleg Kalnichevski 8f8efa9d6e CredSspScheme to require a valid SSLContext 2017-11-24 22:44:44 +01:00
Oleg Kalnichevski 0c6aaee0b6 Marked CREDSSP auth scheme experimental 2017-11-24 22:40:45 +01:00
Oleg Kalnichevski 701377e926 Eliminated DebugUtil class 2017-11-24 22:39:33 +01:00
Oleg Kalnichevski 450cb40afc Upgraded HttpClient version to 5.0-alpha4-SNAPSHOT 2017-11-24 09:38:15 +01:00
Oleg Kalnichevski ea22019220 HttpClient 5.0-alpha3 release 2017-11-19 12:54:30 +01:00
Karl Wright 42359353a2 HTTPCLIENT-1881: Allow truncated NTLM packets to work with this client. 2017-11-18 06:37:27 -05:00
Oleg Kalnichevski 235348eec6 Replaced socket and connect timeout request parameters with a single connection timeout request parameter. HTTP requests may be executed concurrently over a single HTTP/2 connection and no longer should overwrite connection socket timeout 2017-11-18 11:24:17 +01:00
Oleg Kalnichevski 47dfbfa221 Moved route local address configuration from RequestConfig to DefaultRoutePlanner 2017-11-17 18:23:53 +01:00
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