Ryan Schmitt
4ee9d3107f
Revert "Use connectTimeout as TLS handshake timeout"
...
This reverts commit d3e34f70c4
. Although
this commit did fix TLS handshake timeouts, it then broke response
timeouts by causing the connectTimeout to also be used as a
socketTimeout (even after the TLS connection is established.)
2018-11-30 15:02:23 -08:00
Oleg Kalnichevski
03de3ab16c
Removed experimental CredSsp auth scheme
2018-11-16 10:26:16 +01:00
Ryan Schmitt
d3e34f70c4
Use connectTimeout as TLS handshake timeout
2018-11-13 13:47:18 -08:00
Oleg Kalnichevski
de59e984c7
Code simplification; removed dependency on classic API specific classes
2018-11-08 10:55:42 +01:00
Oleg Kalnichevski
56b43f388b
Upgraded download-maven-plugin to version 1.4.1
2018-11-03 14:25:23 +01:00
Oleg Kalnichevski
3c25ca7266
HTTPCLIENT-1949: DigestScheme to use HttpRequest#getRequestUri instead of HttpRequest#getPath
2018-10-30 13:06:30 +01:00
Oleg Kalnichevski
65802bc8d3
Added reference to JDK-8212885
2018-10-29 11:18:32 +01:00
Oleg Kalnichevski
eb0ee46c05
Upgraded HttpClient version to 5.0-beta3-SNAPSHOT
2018-10-27 10:30:11 +02:00
Oleg Kalnichevski
83f9ab8d1d
HttpClient 5.0-beta2 release
2018-10-23 15:40:37 +02:00
Oleg Kalnichevski
d799a588ef
Hack to make hostname verification work with TLSv1.3 resumed sessions
2018-10-23 09:28:40 +02:00
Oleg Kalnichevski
75ca519314
Added #responseTimeout to RequestConfig
2018-10-22 15:52:03 +02:00
Oleg Kalnichevski
b74cb12d44
Renamed RequestConfig#connectionTimeout to RequestConfig#connectTimeout
2018-10-22 15:14:04 +02:00
Ryan Schmitt
e92c75be8a
HTTPCLIENT-1942: Add example of full-duplex reactive message exchange
2018-10-22 11:45:02 +02:00
Oleg Kalnichevski
64470a970d
Use Timeout instead of long / TimeUnit
2018-10-22 11:37:14 +02:00
Oleg Kalnichevski
160bac0cbb
Fixed inconsistencies in usage of RequestConfig#connectionTimeout and Request#connectionRequestTimeout
2018-10-22 10:44:00 +02:00
Oleg Kalnichevski
f4bb8fec5b
Tweaked expected exception check in FutureRequestExecutionService test
2018-10-21 19:32:13 +02:00
Oleg Kalnichevski
8150e37cc3
Do not enforce HTTP/2 TLS requirements in case of FORCE_HTTP_1 protocol version policy
2018-10-21 19:11:27 +02:00
Oleg Kalnichevski
309afeff07
Added builders for SSLConnectionSocketFactory and client TlsStrategy
2018-10-21 16:52:40 +02:00
Oleg Kalnichevski
1eab98760b
Added enum for supported TLS versions & TLS version parser
2018-10-21 16:52:40 +02:00
Oleg Kalnichevski
e72d745ecd
Extracted hostname verification code into a separate support class
2018-10-21 16:52:40 +02:00
Oleg Kalnichevski
2b6f7e53d0
HTTPCLIENT-1946: handling of 308 status as per RFC 7538
2018-10-21 13:40:46 +02:00
Oleg Kalnichevski
8ebb629563
Javadoc cleanup
2018-10-21 13:34:45 +02:00
Oleg Kalnichevski
ab7be3fd53
Upgraded HttpCore to version 5.0-beta5
2018-10-21 13:24:49 +02:00
Oleg Kalnichevski
37c8006472
Javadocs; renamed some methods (no functional changes)
2018-10-17 23:40:12 +02:00
Oleg Kalnichevski
c446639820
AsyncConnectionEndpoint to support graceful and immediate close modes
2018-10-17 14:31:12 +02:00
Oleg Kalnichevski
a1d6db5ec3
Simplified ManagedAsyncClientConnection interface
2018-10-17 13:16:29 +02:00
Oleg Kalnichevski
447e276fb6
HttpAuthenticator to re-use the logger of its parent
2018-10-16 16:18:25 +02:00
Oleg Kalnichevski
ac90342039
Use enums for supported cookie policies and auth schemes
2018-10-14 20:05:17 +02:00
Oleg Kalnichevski
9e8ab71517
Use HttpUriRequest interface for a better compatibility with HttpClient 4.x
2018-10-14 17:59:10 +02:00
Oleg Kalnichevski
49cdb631f5
Made classic and async execution runtime APIs more consistent
2018-10-14 16:52:21 +02:00
Oleg Kalnichevski
49487b4fe5
Moved class to another package (no functional changes)
2018-10-14 15:11:16 +02:00
Oleg Kalnichevski
678cc1bcb8
Updated BASIC and DIGET preemptive authentication examples
2018-10-05 17:41:25 +02:00
Oleg Kalnichevski
0fb2060fcb
DigestScheme to expose last nonce and nonce count values
2018-10-05 17:41:25 +02:00
Gary Gregory
8e486b356e
Reuse our UriScheme enum instead of magic strings.
2018-10-03 09:25:17 -06:00
Gary Gregory
d711bd637e
Add org.apache.hc.client5.http.config.RequestConfig.toString() and
...
camcel-case an ivar.
2018-09-21 18:04:38 -06:00
Oleg Kalnichevski
9eb00018ce
Async clients to support request specific push consumers
2018-09-20 17:16:06 +02:00
Johnny Lim
6fec5136dd
Fix typo
2018-09-04 11:13:52 +02:00
Ryan Schmitt
b2f09ae0eb
Enable hard cancellation by default
...
This change makes request cancellation behavior more consistent across
different client types (blocking, non-blocking HTTP/1.1, and HTTP/2).
2018-08-31 13:24:38 -07:00
Ryan Schmitt
ec99279712
HTTPCLIENT-1944: Add hardCancellationEnabled option to RequestConfig
2018-08-30 18:24:30 -07:00
Oleg Kalnichevski
cbe00beb56
Removed duplicate class (no functional changes)
2018-08-30 11:36:46 +02:00
Oleg Kalnichevski
1614c25168
Upgraded HttpCore dependency to version 5.0-beta3
2018-08-30 10:54:54 +02:00
Gary Gregory
3aa9c1fd33
- Always use blocks
...
- Add missing serial version ID (default 1L)
- Camel-case names.
- Don't nest in else clause unnecessarily.
- Remove declared exceptions that are not thrown (but don't break BC.)
- Remove redundant superinterface
- Access static methods directly
- Better local var names.
2018-08-14 20:56:08 +02:00
Mark Mielke
d4be433a76
Fix HttpClient 4.5.4 regression in BasicCookieStore serialization.
...
HttpClient 4.5.4 modified BasicCookieStore to introduce a new
ReadWriteLock field to improve performance. Unfortunately this
also changed the serialized data structure, and any objects
serialized using HttpClient 4.5.3 and before would be unusable
after restore in HttpClient 4.5.4 due to the new "lock" field
being null.
The fix is to change "lock" to be transient, and ensure it is
correctly instantiated upon object restore. This restores
compatibility with HttpClient 4.5.3, as well as maintaining
compatible with the intermediate versions containing the
regression. This also avoids unnecessary serialization of
the new "lock" field, which does not need to be persisted.
2018-08-08 16:43:45 +02:00
Gary Gregory
769e9fab3f
Add missing @Override annotations.
2018-08-05 11:40:07 -06:00
Gary Gregory
c3bdc8913f
Refactor common code in a new Closer utility class.
2018-08-04 23:55:41 +02:00
Gary Gregory
8d87cf515b
Static methods should be accessed directly. Remove redundant type
...
arguments. Remove exceptions not thrown from method signatures. Add
missing @Override. Remove unnecessary semicolons. Don't nest
unnecessarily.
2018-08-04 10:40:01 -06:00
Oleg Kalnichevski
50802106f6
HTTPCLIENT-1934: H2 TLS strategy passes wrong hostname to the hostname verifier
2018-07-17 11:27:20 +02:00
Oleg Kalnichevski
b97c7a08b2
HTTPCLIENT-1933: fixed incorrect method names
2018-07-15 12:28:40 +02:00
Oleg Kalnichevski
fa4a4d3bd6
HTTPCLIENT-1931, HTTPCLIENT-1932: Changed ClassicHttpRequests factory methods to return HttpUriRequestBase; added SimpleHttpRequests factory enum
2018-07-14 12:44:59 +02:00
Gary Gregory
92ee24efb8
Javadoc.
2018-07-14 11:29:32 +02:00
Gary Gregory
db417d80ba
- [HTTPCLIENT-1931] Add factory enum
...
org.apache.hc.client5.http.classic.methods.ClassicHttpRequests
- [HTTPCLIENT-1932] Add factory enum
org.apache.hc.client5.http.aysnc.methods.HttpRequests
2018-07-13 20:18:33 +02:00
Gary Gregory
7875ab19df
Use "String.isEmpty()" instead of "String.length() == 0"
2018-07-12 09:06:57 -06:00
xiaohu-zhang
0c0e9c7b7c
HTTPCLIENT-1928: FutureCallback implementation that catches and logs exceptions thrown in #completed method
2018-07-11 17:20:46 +02:00
Oleg Kalnichevski
fd952c8654
HTTPCLIENT-1882: reset authentication state on I/O or runtime error for connection based authentication schemes (such as NTLM)
2018-07-04 17:17:38 +02:00
Oleg Kalnichevski
ec22a46866
HTTPCLIENT-1924: HttpClient to shut down the connection manager if a fatal error occurs in the course of a request execution
2018-06-17 10:35:28 +02:00
Oleg Kalnichevski
6570228118
Pooling connection managers to implement graceful and immediate shut down
2018-06-16 11:39:24 +02:00
Oleg Kalnichevski
60571ae8fa
Fixed inconsistent method name
2018-05-17 16:39:51 +02:00
Oleg Kalnichevski
a6a29892fa
HTTPCORE-524: updated examples to use nghttp2.org instead of no longer functional http2bin.org
2018-05-10 15:58:49 +02:00
Oleg Kalnichevski
e3cdb72de7
Added examples of full-duplex HTTP/1.1 and HTTP/2 message exchanges
2018-03-15 11:54:11 +01:00
Oleg Kalnichevski
feb6a5fbdc
Simplified signature of #execute methods that take AsyncClientExchangeHandler as a parameter
2018-03-15 11:53:31 +01:00
Oleg Kalnichevski
70ee2d4912
Minimal HttpAsyncClient to resolve default protocol scheme port when leasing endpoints
2018-03-13 21:21:42 +01:00
Oleg Kalnichevski
56cc24525e
HTTPCLIENT-1906: certificates containing alternative subject names other than DNS and IP (such as RFC822) get rejected as invalid
2018-02-26 15:10:57 +01:00
Hans-Peter Keck
a2cc0a511b
HTTPCLIENT-1904: check cookie domain for null
2018-02-09 11:57:11 +01:00
Oleg Kalnichevski
4f7df3d0a2
HTTPCLIENT-1900: proxy protocol processor in the CONNECT exec interceptor does not post-process CONNECT response messages
2018-01-27 10:24:40 +01:00
Gary Gregory
ceec7eeaa6
[HTTPCLIENT-1898] Incorrect comment in example class
...
ClientMultiThreadedExecution.java
2018-01-23 21:01:06 -07:00
Oleg Kalnichevski
68fd176c07
Upgraded HttpClient version to 5.0-beta2-SNAPSHOT
2018-01-18 10:02:04 +01:00
Oleg Kalnichevski
67be267f99
HttpClient 5.0-beta1 release
2018-01-15 13:30:04 +01:00
Oleg Kalnichevski
1e5fe0e01c
DefaultHostnameVerifier to use a custom distinguished name (DN) parser instead of LdapName; removed dependency on Java Naming extensions
2018-01-12 18:47:56 +01:00
Oleg Kalnichevski
10126c70ff
HTTP/2 client implementations to support cancellation of ongoing message exchanges without terminating the underlying connections
2018-01-12 14:40:32 +01:00
Oleg Kalnichevski
695f353b43
Re-use concurrent primitives from HttpCore
2018-01-12 14:20:10 +01:00
Oleg Kalnichevski
dee32207e3
Upgraded HttpCore dependency to version 5.0-beta2
2018-01-12 14:06:08 +01:00
Sudheera Palihakkara
a7a70e8cd4
HTTPCLIENT-1895: added test case for multi-member GZIP content streams (per RFC 1952)
2018-01-11 14:29:12 +01:00
Oleg Kalnichevski
eb71f45ee5
SLF4J logging facade
2018-01-10 13:07:37 +01:00
Oleg Kalnichevski
16147b1852
Completed rewrite of re-validation code in the classic caching exec interceptor; added re-validation to the async caching exec interceptor
2018-01-08 11:13:17 +01:00
Oleg Kalnichevski
1c73280983
Support for execution forks (concurrent request execution) by request execution interceptors
2018-01-04 11:21:01 +01:00
Oleg Kalnichevski
26bb4b6b9c
Renamed ExecRuntimeImpl to InternalExecRuntime (no functional changes)
2018-01-04 10:37:00 +01:00
Oleg Kalnichevski
47a0eb8b65
HTTPCLIENT-1893: Moved HttpContext state logic out of DefaultRedirectStrategy to the redirect execution interceptors; redesigned RedirectLocations class; refactored classic redirect execution interceptor unit tests
2018-01-03 19:37:19 +01:00
Oleg Kalnichevski
b45b72ef77
Added HTTP routing support class; simplified HttpRoutePlanner API
2018-01-03 19:37:12 +01:00
Oleg Kalnichevski
db4b6db79f
Moved ByteArrayBuilder class (no functional changes)
2018-01-03 14:36:20 +01:00
Oleg Kalnichevski
6459d6882c
Added Date util methods for common operations
2017-12-26 17:18:20 +01:00
Oleg Kalnichevski
1e4e204162
Request execution futures to cancel dependent operations when cancelled by the caller
2017-12-23 11:21:55 +01:00
Oleg Kalnichevski
e262842466
Added Cancellable convenience methods
2017-12-23 10:48:46 +01:00
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