Commit Graph

72 Commits

Author SHA1 Message Date
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
Oleg Kalnichevski 20f4290d01 Removed dependency on classic (blocking) I/O APIs from HttpCache 2017-10-02 17:34:40 +02:00