Commit Graph

127 Commits

Author SHA1 Message Date
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
Oleg Kalnichevski 20f4290d01 Removed dependency on classic (blocking) I/O APIs from HttpCache 2017-10-02 17:34:40 +02:00
Oleg Kalnichevski 73c67f221d Redesign of HTTP cache resource APIs 2017-10-02 17:33:41 +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
Oleg Kalnichevski 6d17126cbf Moved classes and renamed packages (no functional changes) 2017-09-02 17:27:30 +02:00
Oleg Kalnichevski b58e7d46d7 Upgraded HttpCore to version 5.0-alpha4 2017-09-01 20:29:58 +02:00
Leandro Nunes 45b23c7e0a Avoid fetching the cached entity twice on cache hit.
Closes PR #79
https://github.com/apache/httpcomponents-client/pull/79
2017-05-24 20:42:57 +02:00
Leandro Nunes e07fd9abed Removing unnecessary checks for cache invalidation calls. 2017-05-19 12:16:40 +01: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
Oleg Kalnichevski 28058b8f85 Upgraded Mockito dependency to version 2.7
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1793693 13f79535-47bb-0310-9956-ffa450edef68
2017-05-03 18:31:58 +00:00
Oleg Kalnichevski e8efaea53f Removed remaining JCL usage in the caching module. Cleaned up POM.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1793690 13f79535-47bb-0310-9956-ffa450edef68
2017-05-03 18:31:30 +00:00
Oleg Kalnichevski 25c6afed7c Initial redesign of the classic request execution chain
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1793308 13f79535-47bb-0310-9956-ffa450edef68
2017-05-01 11:11:09 +00:00
Oleg Kalnichevski 04594b97a9 Upgraded HttpCore to version 5.0-alpha3; fixed HttpCore API usage
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1793305 13f79535-47bb-0310-9956-ffa450edef68
2017-05-01 10:47:09 +00:00
Oleg Kalnichevski ee0e084e8c fix cache NFE for big content length
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1790039 13f79535-47bb-0310-9956-ffa450edef68
2017-04-03 19:04:51 +00:00
Gary D. Gregory b1f8cd58f6 Use final.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1788709 13f79535-47bb-0310-9956-ffa450edef68
2017-03-26 02:43:03 +00:00
Oleg Kalnichevski a2927f6a04 Better handling of missing content-type header in OPTIONS with entity
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1787706 13f79535-47bb-0310-9956-ffa450edef68
2017-03-20 10:11:41 +00:00
Oleg Kalnichevski 191183bf75 Moved sync HTTP method classes
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1784141 13f79535-47bb-0310-9956-ffa450edef68
2017-02-23 14:35:01 +00:00
Oleg Kalnichevski 4d0d23dc01 Integration and compatibility tests
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1780849 13f79535-47bb-0310-9956-ffa450edef68
2017-01-29 19:22:20 +00:00
Oleg Kalnichevski 1da6fc21ed Moved connection pool construction logic out of HttpClientBuilder into a separate builder class
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1777768 13f79535-47bb-0310-9956-ffa450edef68
2017-01-07 11:38:46 +00:00
Oleg Kalnichevski e48091da3d Upgraded HttpCore to version 5.0-alpha2; Upgraded to the latest 5.0 APIs
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1776187 13f79535-47bb-0310-9956-ffa450edef68
2016-12-27 19:48:07 +00:00
Gary D. Gregory fd412e7bf1 [HTTPCLIENT-1786] Port from Apache Commons Logging to Apache Log4j 2.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1767391 13f79535-47bb-0310-9956-ffa450edef68
2016-10-31 23:24:37 +00:00
Gary D. Gregory a24b592e87 Use final.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1757448 13f79535-47bb-0310-9956-ffa450edef68
2016-08-23 22:27:27 +00:00
Gary D. Gregory 3c58addf11 SVN move folders from httpclient* to httpclient5* in order to match the Maven artifact ID, which matters for multi-module builds.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1726719 13f79535-47bb-0310-9956-ffa450edef68
2016-01-26 00:22:23 +00:00