Scott Gifford
a8fc99f4a2
HttpByteArrayCacheEntrySerializer minor code cleanup for HTTPCORE-615.
...
MemcachedCacheEntryHttp inner class NoAgeCacheValidityPolicy should be static.
Add missing javadoc @param and @return entries to MemcachedCacheEntryHttp.
Remove extra blank lines.
2020-01-07 09:30:02 +01:00
Gary Gregory
634886ab61
[HTTPCLIENT-2046] Rename AuthSchemes enum to StandardAuthScheme final class
...
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard auth schemes by name supported by the HttpClient. The
previous enum suffered from two issues:
* it was exhaustive implying that no more auth schemes can be supported
* its sole purpose was to contain an id for the declared auth scheme;
the enum values theirselves were never used directly
This closes #196
2020-01-01 21:57:53 +01:00
Scott Gifford
f765a81b31
HTTPCORE-615: Implement HTTP-based cache serializer-deserializer. ( #192 )
...
HTTPCORE-615: Implement HTTP-based cache serializer-deserializer.
2019-12-30 10:57:58 +01:00
Scott Gifford
40173ca071
Fix bug in ResourceIOException where message was not passed to super.
2019-12-30 10:52:26 +01:00
Michael Osipov
167dbc7576
Make consistent use of AuthSchemes#id
...
This closes #189
2019-12-27 12:26:34 +01:00
Michael Osipov
a5dac4c6f2
HTTPCLIENT-2038: CacheConfig should use TimeValue
2019-12-15 12:45:14 +01:00
Michael Osipov
ebccd5d225
Use String#isEmpty()
2019-12-15 11:49:26 +01:00
Michael Osipov
810e56b419
Don't explicitly declare runtime exceptions
2019-12-15 11:36:31 +01:00
Michael Osipov
83bc2c497d
ExponentialBackOffSchedulingStrategy should use TimeValue internally
2019-12-15 11:36:31 +01:00
Michael Osipov
846a25561c
Use language-agnotic Locale.ROOT
2019-12-15 11:36:30 +01:00
Michael Osipov
3d502c9ac4
Correct Javadoc
2019-12-15 11:28:11 +01:00
Michael Osipov
434d5e5046
Fix formatting
2019-12-15 11:28:11 +01:00
Michael Osipov
bca9a873a5
Use consistent variable names
2019-12-15 11:28:08 +01:00
Oleg Kalnichevski
a1c63d46df
Marked caching async clients as experimental (no functional changes)
2019-12-12 11:02:56 +01:00
Michael Osipov
6cff260eff
HTTPCLIENT-2031: Don't use plural names for enums
...
This closes #180
2019-12-10 10:50:28 +01:00
Olof Larsson
e1f48e788d
HTTPCLIENT-2023: Allow nested arrays and all primitive types in DefaultHttpCacheEntrySerializer
2019-11-08 10:40:01 +01:00
Oleg Kalnichevski
4d3b3ee2a3
Removed Base64 decoding from TestByteArrayCacheEntrySerializer
2019-10-23 17:24:56 +02:00
Oleg Kalnichevski
25748c48b2
Upgraded HttpClient version to 5.0-beta7-SNAPSHOT
2019-10-09 10:30:55 +02:00
Oleg Kalnichevski
a0febeb6f1
Upgraded HttpClient version to 5.0-beta6-SNAPSHOT
2019-07-21 11:22:12 +02:00
Kirill Usov
b717fde289
Information response (1xx) processing
2019-07-14 16:11:16 +02:00
Oleg Kalnichevski
669020ccac
Renamed Http2 to H2 (no functional changes)
2019-07-14 15:50:44 +02:00
Oleg Kalnichevski
8e42474a6c
Deprecated HttpClient functionality now provided out of HttpCore
2019-07-14 15:48:21 +02:00
Gary Gregory
81c1bc4dc3
Clean up.
2019-05-03 10:28:40 -04:00
Oleg Kalnichevski
72d9b378cd
Upgraded HttpClient version to 5.0-beta5-SNAPSHOT
2019-04-06 10:36:42 +02:00
Oleg Kalnichevski
3fac3a4435
HttpClient 5.0-beta4 release
2019-04-03 10:41:53 +02:00
Artem Smotrakov
adf8691dcd
HTTPCLIENT-1976: Unsafe deserialization in DefaultHttpCacheEntrySerializer
2019-04-02 14:07:27 +02:00
Ryan Schmitt
f8653a011a
Upgrade HttpCore to version 5.0-beta7
2019-02-27 14:36:53 -08:00
Raymond, Jayson
e6ca403d29
Some well known proxies respond with Content-Length=0, when returning 304. For robustness, always use the cached entity's content length, as modern browsers do.
2019-02-06 07:21:09 -08:00
Oleg Kalnichevski
df4b6d5c80
Upgraded HttpClient version to 5.0-beta4-SNAPSHOT
2018-12-16 11:12:33 +01:00
Oleg Kalnichevski
6a0dc58570
HttpClient 5.0-beta3 release
2018-12-11 10:14:12 +01:00
Oleg Kalnichevski
b452006756
Upgraded HttpCore to version 5.0-beta6
2018-12-04 15:49:56 +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
1b6175d76a
Updated remote javadoc references
2018-10-23 15:14:34 +02:00
Gary Gregory
3e5df337c5
Update tests from Easymock 3.2 to 3.6.
2018-10-22 16:55:19 -06: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
Gary Gregory
8e486b356e
Reuse our UriScheme enum instead of magic strings.
2018-10-03 09:25:17 -06: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
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
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
Sudheera Palihakkara
5f2ad23ab3
HTTPCLIENT-1690: Avoid updating the cache entry with Content-Encoding headers too. (missing piece from last commit). Updated the test case
2018-01-15 13:03:57 +01:00
Sudheera Palihakkara
a3bcad3989
HTTPCLIENT-1690: Avoid merging Content-Encoding headers coming with 304 status to cache entry
2018-01-15 10:16:35 +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
Oleg Kalnichevski
3780b706ae
Fixed cache module dependency declaration
2018-01-11 10:24:56 +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
f16ac3ec3b
Better method name (no functional changes)
2018-01-07 13:59:28 +01:00
Oleg Kalnichevski
7cf4240b3f
Redesigned cache entry re-validation logic; added classic and async implementations of cache re-validators
2018-01-07 12:48:59 +01:00
Oleg Kalnichevski
79b76030fd
Replaced FailureCache by generic ConcurrentCountMap
2018-01-05 15:09:05 +01:00
Oleg Kalnichevski
0561bacc66
Decoupled SchedulingStrategy and its implementations from HTTP cache specific logic
2018-01-05 12:29:14 +01:00
Oleg Kalnichevski
eb1cab46e6
HTTPCLIENT-1384: clean up of HttpCacheInvalidator and HttpAsyncCacheInvalidator APIs
2018-01-02 13:41:31 +01:00
Oleg Kalnichevski
c78032d638
HTTPCLIENT-1395: added config parameter to skip an extra cache entry freshness check upon cache update in case of a cache miss
2018-01-01 18:31:43 +01:00
Oleg Kalnichevski
194e4f5289
Corrected handling of request with non-repeatable by caching request execution interceptors
2018-01-01 16:52:50 +01:00
Oleg Kalnichevski
c607197fd0
Code cleanup in AsyncCachingExec: async code made more consistent with that of its classic counterpart and hopefully a bit more readable
2018-01-01 16:45:46 +01:00
Oleg Kalnichevski
77703a7eef
HttCache and HttpAsyncCache implementation to treat ResourceIOExceptions as non-fatal and log ResourceIOExceptions as warnings
2017-12-30 12:31:46 +01:00
Oleg Kalnichevski
749b02ac03
HTTPCLIENT-1824: asynchronous HTTP cache executor to use asynchronous HTTP cache APIs; changed algorithm of the backend response freshness check (both classic and async cache implementations)
2017-12-27 11:53:09 +01:00
Oleg Kalnichevski
b4768fc86b
HTTPCLIENT-1824: asynchronous HTTP response cache
2017-12-27 11:53:03 +01:00
Oleg Kalnichevski
3f52d0bf90
HTTPCLIENT-1824: asynchronous HTTP cache invalidator
2017-12-26 18:12:18 +01:00
Oleg Kalnichevski
6200a17c0c
Redesign of CacheKeyGenerator and HttpCacheInvalidator APIs
2017-12-26 18:09:08 +01:00
Oleg Kalnichevski
6459d6882c
Added Date util methods for common operations
2017-12-26 17:18:20 +01:00
Oleg Kalnichevski
e262842466
Added Cancellable convenience methods
2017-12-23 10:48:46 +01:00
Oleg Kalnichevski
d6d3d364eb
Clean up of CacheEntryUpdater (CacheEntryUpdater renamed to CacheUpdateHandler)
2017-12-22 15:12:44 +01:00
Oleg Kalnichevski
123a68d513
Clean up of BasicHttpCache and related test classes
2017-12-22 11:10:08 +01:00
Oleg Kalnichevski
b2d063c6a8
Removed unused code
2017-12-21 14:49:25 +01:00
Oleg Kalnichevski
8d08c38d4f
Bugfix: fixed incorrect behaviour of HttpCacheEntryMatcher, fixed incorrect mapping of cache entries returned by bulk retrieval methods
2017-12-21 14:49:25 +01:00
Oleg Kalnichevski
29666a1ad4
New APIs for cache entry bulk retrieval; bulk retrieval support by Memcached storage implementation
2017-12-20 11:46:57 +01:00
Oleg Kalnichevski
002f40f9d3
HTTPCLIENT-1824, HTTPCLIENT-1868: Asynchronous HTTP cache storage API; Memcached backend implementation of async HTTP cache storage
2017-12-20 11:24:52 +01:00
Oleg Kalnichevski
ebcb55d641
Renamed HttpCacheUpdateCallback to HttpCacheCASOperation (CAS = Compare-And-Swap)
2017-12-20 10:27:37 +01:00
Oleg Kalnichevski
9581cbc7a0
Factored out request URI generation and normalization logic fron CacheKeyGenerator into HttpCacheSupport
2017-12-08 13:27:03 +01:00
Oleg Kalnichevski
043fe4dd90
Use StandardMethods
2017-12-07 19:59:33 +01:00
Oleg Kalnichevski
b1659264f7
Clean up of test cases
2017-12-07 19:59:32 +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
Oleg Kalnichevski
5da1bd8f8d
Builder for caching HTTP/2 HttpAsyncClient
2017-11-14 21:17:44 +01:00
Oleg Kalnichevski
87865c5cd5
Fixed style check violations (no functional changes)
2017-11-01 22:30:52 +01:00
Oleg Kalnichevski
26024a3b8e
Upgraded Ehcache to version 3.4.0
2017-10-19 15:52:30 +02:00
Oleg Kalnichevski
f215fdcd32
Factored out logic shared by Memcached and Ehcache implementations into an abstract base class
2017-10-19 15:36:11 +02:00
Oleg Kalnichevski
f70c974241
Renamed class (no functional changes)
2017-10-16 23:41:40 +02:00
Oleg Kalnichevski
fc41f47ad3
CacheInvalidator to use URI class instead of URL
2017-10-16 23:39:11 +02:00
Oleg Kalnichevski
935573104c
Use stable (HttpRequest implementation independent) implementation of key generation
2017-10-16 23:01:13 +02:00
Oleg Kalnichevski
74ed4dfebf
Revised HTTP cache debug logging
2017-10-16 23:00:19 +02:00
Oleg Kalnichevski
30320fe2f4
Fixed NPE in case of a missing Max-Forwards header
2017-10-16 23:00:19 +02:00
Oleg Kalnichevski
0c862432d8
Removed unstable (due to a race condition) integration test
2017-10-16 23:00:19 +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
849d1a138e
HTTPCLIENT-1827: Asynchronous cache exec interceptor with caching support for streamed HTTP exchanges; removed incomplete response checks as response integrity is enforced in the transport layer; async cache re-validation is currently broken in the classic and unsuppoted in the async implementations
2017-10-16 22:51:32 +02:00
Oleg Kalnichevski
6076f5542b
Fixed regression in cache validity logic for file backed cache entries
2017-10-13 13:22:23 +02:00
Oleg Kalnichevski
bb96781e5b
Revised HTTP cache exception handling
2017-10-12 15:42:17 +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
212d7a2e83
Reduced dependency on classic (blocking) I/O APIs in CacheExec
2017-10-03 10:41:15 +02:00
Oleg Kalnichevski
e71d8fac88
Removed IOUtils as redundant; try-with-resources for resource management
2017-10-03 09:43:03 +02:00
Oleg Kalnichevski
1d66105c3a
Removed dependency on classic (blocking) I/O APIs from CachedHttpResponseGenerator
2017-10-02 22:00:38 +02:00
Oleg Kalnichevski
0226eaff6d
Removed dependency on classic (blocking) I/O APIs from RequestProtocolCompliance and ResponseProtocolCompliance; removed compliance checks unrelated to HTTP caching enforced by protocol handlers
2017-10-02 17:34:40 +02:00
Oleg Kalnichevski
d75c5c2be2
Removed dependency on classic (blocking) I/O APIs from ConditionalRequestBuilder
2017-10-02 17:34:40 +02:00