Commit Graph

265 Commits

Author SHA1 Message Date
Oleg Kalnichevski 83c2c00109 HTTPCLIENT-979: cache entry resource management extracted from CachingHttpClient
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@986864 13f79535-47bb-0310-9956-ffa450edef68
2010-08-18 19:15:43 +00:00
Oleg Kalnichevski 5c33d5cfd9 Immutable instance variable delcared as final
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@986115 13f79535-47bb-0310-9956-ffa450edef68
2010-08-16 19:49:21 +00:00
Oleg Kalnichevski 6956d4ffc8 HTTPCLIENT-978: ehcache based HTTP cache implementation
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@985733 13f79535-47bb-0310-9956-ffa450edef68
2010-08-15 18:51:32 +00:00
Oleg Kalnichevski a840e65989 SizeLimitedResponseReader can now generate arbitrary type of cache resources using resource factory
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@984949 13f79535-47bb-0310-9956-ffa450edef68
2010-08-12 20:32:54 +00:00
Oleg Kalnichevski e0a296f6b6 Eliminated superfluous CacheEntryFactory; eliminated unnecessary mock objects in test cases
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@984398 13f79535-47bb-0310-9956-ffa450edef68
2010-08-11 13:19:40 +00:00
Oleg Kalnichevski 6f2036bde2 Use ResourceFactory to handle system resource allocation
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@984346 13f79535-47bb-0310-9956-ffa450edef68
2010-08-11 08:59:05 +00:00
Oleg Kalnichevski cb4f012fa7 Refactored HttpCacheEntry / Resource API: HttpCacheEntry is no longer abstract; the same class can be used with any Resource implementations
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@984197 13f79535-47bb-0310-9956-ffa450edef68
2010-08-10 20:15:03 +00:00
Oleg Kalnichevski 1b58a2360d Fixed FileCacheEntry factory
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@983804 13f79535-47bb-0310-9956-ffa450edef68
2010-08-09 20:26:56 +00:00
Oleg Kalnichevski d6a0b4d1a1 HTTP cache entry implementation backed by a temporary file
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@982219 13f79535-47bb-0310-9956-ffa450edef68
2010-08-04 11:34:48 +00:00
Oleg Kalnichevski 7c8a1fdf5b Renamed CacheEntryGenerator to MemCacheEntryFactory
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@981668 13f79535-47bb-0310-9956-ffa450edef68
2010-08-02 19:55:52 +00:00
Oleg Kalnichevski 911350a0c2 Added HttpCache implementations that can be used to store cache entries requiring explict deallocation of system resources; cache entries can be generated using HttpCacheEntryFactory interface
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@981667 13f79535-47bb-0310-9956-ffa450edef68
2010-08-02 19:48:53 +00:00
Oleg Kalnichevski 6602f53a8b Renamed BasicHttpCacheEntry to MemCacheEntry
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@980939 13f79535-47bb-0310-9956-ffa450edef68
2010-07-30 20:20:29 +00:00
Oleg Kalnichevski e0d37d5502 Refactored HttpCacheEntry; new API should allow for cache entries backed by a temporary file
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@980937 13f79535-47bb-0310-9956-ffa450edef68
2010-07-30 20:15:39 +00:00
Oleg Kalnichevski 4ae188acbb Made possible for cache entries to depend on system resources that may require deallocation
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@980767 13f79535-47bb-0310-9956-ffa450edef68
2010-07-30 12:44:44 +00:00
Oleg Kalnichevski b8c1bb05cc HTTPCLIENT-967: support for non-shared (private) caches
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@980759 13f79535-47bb-0310-9956-ffa450edef68
2010-07-30 12:34:30 +00:00
Oleg Kalnichevski 8690e96fa6 HTTPCLIENT-972: Cache config
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@980358 13f79535-47bb-0310-9956-ffa450edef68
2010-07-29 08:30:43 +00:00
Oleg Kalnichevski 7891d8c2d4 Refactored exception handling: replaced HttpCacheOperationException with a more generic IOException. This should provide a more natural way of signaling exceptions for file system based caches
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@979259 13f79535-47bb-0310-9956-ffa450edef68
2010-07-26 12:20:02 +00:00
Oleg Kalnichevski 5059eddd97 Code cleanups
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@967206 13f79535-47bb-0310-9956-ffa450edef68
2010-07-23 19:06:42 +00:00
Oleg Kalnichevski 7205e7d340 HTTP Cache API refactoring: entry validation logic factored out from CacheEntry to a separate policy class; HttpCacheEntry should now contain (almost) no protocol specific code
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@966642 13f79535-47bb-0310-9956-ffa450edef68
2010-07-22 13:16:29 +00:00
Oleg Kalnichevski 5a54675818 Reduced visibility of non-essential classes and methods to default (package private). Visibility can be increased on a case by case basis as the Cache API evolves and matures
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@964565 13f79535-47bb-0310-9956-ffa450edef68
2010-07-15 20:17:00 +00:00
Oleg Kalnichevski c10d235ed2 Generified HttpCache key
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@963854 13f79535-47bb-0310-9956-ffa450edef68
2010-07-13 20:40:56 +00:00
Oleg Kalnichevski 818b97fd4c Removed unused code
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@963853 13f79535-47bb-0310-9956-ffa450edef68
2010-07-13 20:29:04 +00:00
Oleg Kalnichevski 76e37db58a * Disambiguated the contract of HttpCache#updatEntry / HttpCacheUpdateCallback
Contributed by Jonathan Moore <jonathan_moore at comcast.com>

* Fixed method synchronization in BasicHttpCache 


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@963849 13f79535-47bb-0310-9956-ffa450edef68
2010-07-13 20:14:00 +00:00
Oleg Kalnichevski 6aad9ccf99 HTTPCLIENT-963: Fixed handling of 'Cache-Control: no-store' on requests
Contributed by Jonathan Moore <jonathan_moore at comcast.com>



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@963495 13f79535-47bb-0310-9956-ffa450edef68
2010-07-12 21:36:47 +00:00
Oleg Kalnichevski e2efb17400 HTTPCLIENT-965: cache does not honor must-revalidate or proxy-revalidate Cache-Control directives
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@961424 13f79535-47bb-0310-9956-ffa450edef68
2010-07-07 16:09:34 +00:00
Oleg Kalnichevski 448ff5f344 HTTPCLIENT-964: no-cache directives with field names are no longer transmitted downstream
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@961422 13f79535-47bb-0310-9956-ffa450edef68
2010-07-07 16:01:48 +00:00
Oleg Kalnichevski 7b21535a49 HTTPCLIENT-962: Fixed handling of Authorization headers in shared cache mode
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@960338 13f79535-47bb-0310-9956-ffa450edef68
2010-07-04 13:57:45 +00:00
Oleg Kalnichevski c85eaa094b HTTPCLIENT-961: Not all applicable URIs are invalidated on PUT/POST/DELETEs that pass through client cache
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@960337 13f79535-47bb-0310-9956-ffa450edef68
2010-07-04 13:35:27 +00:00
Oleg Kalnichevski 9b8fb9f02a HTTPCLIENT-958: Client cache no longer allows incomplete responses to be passed on to the client
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@959941 13f79535-47bb-0310-9956-ffa450edef68
2010-07-02 10:31:34 +00:00
Sebastian Bazley 25071e091c Disambiguate local links so they work with the Doxia 1.1 (which is current for Maven 2.1.0)
(whilst still remaining compatible with the previous Doxia release)

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@954679 13f79535-47bb-0310-9956-ffa450edef68
2010-06-15 00:15:49 +00:00
Oleg Kalnichevski 0ea086094e HTTPCLIENT-943: CacheClient Javadoc and Constants usage cleanup
Contributed by Joe Campbell <joseph.r.campbell at gmail.com> 


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@948754 13f79535-47bb-0310-9956-ffa450edef68
2010-05-27 10:15:41 +00:00
Oleg Kalnichevski ef2839b770 HTTPCLIENT-937: CacheEntry made immutable; now uses immutable HttpEntity to store cached content
Contributed by David Mays <david_mays at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@947501 13f79535-47bb-0310-9956-ffa450edef68
2010-05-23 21:55:20 +00:00
Oleg Kalnichevski ec44b2c26e Added site for HttpClient cache module
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@945824 13f79535-47bb-0310-9956-ffa450edef68
2010-05-18 18:59:49 +00:00
Oleg Kalnichevski e47331c369 Upgraded project version to 4.1-alpha3-SNAPSHOT
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@945301 13f79535-47bb-0310-9956-ffa450edef68
2010-05-17 18:46:19 +00:00
Oleg Kalnichevski 3d4349f44f o.a.http.client.cache.impl -> o.a.http.impl.client.cache for consistency with other modules
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943668 13f79535-47bb-0310-9956-ffa450edef68
2010-05-12 20:11:27 +00:00
Oleg Kalnichevski ca86507442 Updated POMs for the 4.1-alpha2 release
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943642 13f79535-47bb-0310-9956-ffa450edef68
2010-05-12 19:23:18 +00:00
Oleg Kalnichevski 13f31eb2db HTTPCLIENT-936: Fixed bug causing NPE or an infinite loop in the authentication code in case of a SPNEGO authentication failure
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943620 13f79535-47bb-0310-9956-ffa450edef68
2010-05-12 18:33:17 +00:00
Sebastian Bazley bcfe063e96 Exceptions not thrown
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943283 13f79535-47bb-0310-9956-ffa450edef68
2010-05-11 20:33:03 +00:00
Sebastian Bazley 0152c00300 Make constants final.
Not used outside class, so don't expose mutable arrays

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943281 13f79535-47bb-0310-9956-ffa450edef68
2010-05-11 20:30:52 +00:00
Sebastian Bazley 9e0fcc226d Make constants final
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@943279 13f79535-47bb-0310-9956-ffa450edef68
2010-05-11 20:29:47 +00:00
Oleg Kalnichevski 6974f7bfa1 HTTPCLIENT-427: Added some more acceptance tests as specified in the Section 13 of RFC 2616, in terms of MUST and MUST NOT requirements
Contributed by Jonathan Moore <jonathan_moore at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@942077 13f79535-47bb-0310-9956-ffa450edef68
2010-05-07 14:16:14 +00:00
Oleg Kalnichevski f749748401 Tweaked logging in caching components
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@942073 13f79535-47bb-0310-9956-ffa450edef68
2010-05-07 13:53:13 +00:00
Sebastian Bazley fd2e7a79a9 Javadoc
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941948 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:44:24 +00:00
Sebastian Bazley a85de75581 Make class @Immutable by copying array
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941947 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:43:56 +00:00
Sebastian Bazley 62555455bd +=@NotThreadSafe
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941945 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:34:29 +00:00
Sebastian Bazley b5ce3f91ec Does not throw IOException
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941944 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:31:44 +00:00
Sebastian Bazley 6f23db2533 Not Immutable, but should be ThreadSafe
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941943 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:30:20 +00:00
Sebastian Bazley fb47960bfa No need for AtomicLong fields to be volatile
Now @ThreadSafe

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941942 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 21:28:45 +00:00
Oleg Kalnichevski 1d1df0174d HTTPCLIENT-427: CacheEntry made immutable
Contributed by David Mays <david_mays at comcast.com>


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@941886 13f79535-47bb-0310-9956-ffa450edef68
2010-05-06 20:02:22 +00:00
Sebastian Bazley 1a26a94f95 Unthrown Exceptions
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940065 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 16:04:28 +00:00
Sebastian Bazley ebf24c65df No point catching an Exception only to rethrow it - just let JUnit handle it
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940063 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 15:54:06 +00:00
Sebastian Bazley a5814c279c Avoid possible NPE
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940062 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 15:50:47 +00:00
Sebastian Bazley fd513425a1 Unthrown Exceptions
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940061 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 15:47:02 +00:00
Sebastian Bazley 80415614f7 Unthrown Exceptions
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940060 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 15:45:29 +00:00
Sebastian Bazley 882eae6219 Avoid autobox warning
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@940058 13f79535-47bb-0310-9956-ffa450edef68
2010-05-01 15:45:08 +00:00
Sebastian Bazley 8e89d40f37 Add thread-safety annotations
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939883 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 23:58:50 +00:00
Sebastian Bazley 16a8c31100 CachingHttpClient(HttpCache<CacheEntry> cache, int maxObjectSizeBytes) failed to save maxObjectSizeBytes
Make all immutable private fields final

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939875 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 23:29:15 +00:00
Sebastian Bazley aab7960bce No point creating Integer when we need an int
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939863 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:46:55 +00:00
Sebastian Bazley df4e1924f6 Missing @Override
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939860 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:43:43 +00:00
Sebastian Bazley aaf723d2be Avoid possible NPE
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939859 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:43:26 +00:00
Sebastian Bazley 416085813e Unnecessary casts
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939854 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:33:56 +00:00
Sebastian Bazley 529a3e67fc Make private immutable variables final
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939845 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:18:38 +00:00
Sebastian Bazley 77dc3b08a5 Add missing @Override markers
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939843 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 22:17:51 +00:00
Oleg Kalnichevski c44b15f199 TABS -> SPACES
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939816 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 21:03:23 +00:00
Oleg Kalnichevski 283bba855f HTTPCLIENT-427: HTTP caching support
Contributed by Joe Campbell, David Cleaver, David Mays, Jon Moore, Brad Spenla (Comcast Corporation)


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@939814 13f79535-47bb-0310-9956-ffa450edef68
2010-04-30 21:00:08 +00:00