Jonathan Moore
5f88f05627
HTTPCLIENT-975: committed patch for stale-while-revalidate from
...
Michajlo Matijkiw (michajlo_matijkiw at comcast dot com).
Stale-while-revalidate functionality is currently off by default
until we can add bounding to the revalidation queue (or make it
configurable).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049941 13f79535-47bb-0310-9956-ffa450edef68
2010-12-16 11:54:30 +00:00
Jonathan Moore
3c0cef4586
Added additional acceptance test for variant negotiation:
...
"If any of the existing cache entries contains only partial content
for the associated entity, its entity-tag SHOULD NOT be included in
the If-None-Match header field unless the request is for a range
that would be fully satisfied by that entry."
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.6 )
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049287 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 21:37:31 +00:00
Jonathan Moore
d60c36c40c
Renamed URIExtractor to CacheKeyGenerator, which is more descriptive
...
of what we actually use it for.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049278 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 21:18:06 +00:00
Jonathan Moore
a91847b57c
HTTPCLIENT-975: committed patch to support stale-if-error from
...
RFC5861, with thanks to Mohammed Azeem Uddin
(mohammedazeem_uddin at comcast dot com).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049179 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 17:18:06 +00:00
Jonathan Moore
70e7ee17d5
HTTPCLIENT-1034: committed patch to update documentation to list
...
httpclient-cache as a module of the HttpClient component, plus
adding a link to the external benchmarking writeup done by
Comcast Interactive Media. With thanks to Matthew Hawthorne
(matthew_hawthorne -at- comcast.com).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049124 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 15:27:35 +00:00
Jonathan Moore
6eaaac8251
Added ASF header to Variant.java.
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049099 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 14:16:47 +00:00
Jonathan Moore
0ae68981c8
HTTPCLIENT-1032: during variant negotiation, when the origin specifies
...
reuse of an existing variant, we no longer cache another copy of the
variant, but rather update the variantMap in the parent entry to
reflect the variant's reuse for requests whose varying headers match
those of the current request.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049051 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 11:48:34 +00:00
Jonathan Moore
e16a59b38c
HTTPCLIENT-1032: added a method to HttpCache to allow updating a specific
...
variant cache entry if its cache key is known. Committed patch with the
additional acceptance test, which now passes. We are still caching extra
copies of the re-used variant, though, so the issue is not yet closed.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049048 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 11:30:10 +00:00
Jonathan Moore
477fdb1a3c
HTTPCLIENT-1032: variant information is now passed back from the HttpCache
...
as a Map<String,Variant> mapping Etags to specific information about the
variants (variant key, cache key, cache entry).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1049045 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14 11:12:36 +00:00
Jonathan Moore
6e5139df32
HTTPCLIENT-1032: added a Variant class to track a set of related
...
information about a particular cached variant.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045389 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 22:14:07 +00:00
Jonathan Moore
ae8764760b
HTTPCLIENT-1032: caching of 200 origin response from variant
...
negotiation should be stored w.r.t. original client request.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045360 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 20:25:08 +00:00
Jonathan Moore
24a5f0c060
HTTPCLIENT-1032: Refactor to clean up duplicated code in cache
...
entry validation (regular, and variant reuse negotation) by
extracting code to shared method.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045357 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 20:17:49 +00:00
Jonathan Moore
a26fb6a846
Fixing pom (build was barfing on "--" inside an XML comment).
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045291 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 18:51:55 +00:00
Sebastian Bazley
a11743431b
Fix up clirr version comparison so defaults to 4.0, except cache=4.1-alpha2
...
Can also override individually using -DcomparisonVersion and -Dcache.comparisonVersion
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045260 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 17:53:59 +00:00
Jonathan Moore
618754b6a9
HTTPCLIENT-1032: renamed HttpCache#getVariantCacheEntries to
...
HttpCache#getVariantCacheEntriesWithEtags and had it return a
Map of etags to cache entries. Doing the filtering here makes
it simpler downstream, and returning a map makes it easier to
find the appropriate entry when handling a 304 indicating we
should use an existing variant.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1045084 13f79535-47bb-0310-9956-ffa450edef68
2010-12-13 11:55:36 +00:00
Jonathan Moore
62dd08891c
HTTPCLIENT-1032: variant storage now separates a "variant key" (determined by
...
the portion of a request covered by Vary headers on an entry) from a
"variant cache key" (the place in the cache storage where a particular variant
response is stored). The variantMap in an HttpCacheEntry now maps variant keys
to variant cache keys, setting us up for the possibility of having multiple
variant keys point to the same variant cache entry.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044826 13f79535-47bb-0310-9956-ffa450edef68
2010-12-12 14:37:48 +00:00
Jonathan Moore
4e7d9fa5c8
HTTPCLIENT-1032: minor refactoring on URIExtractor to clean up
...
internal-only API for getVariantKey()
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044824 13f79535-47bb-0310-9956-ffa450edef68
2010-12-12 14:24:25 +00:00
Jonathan Moore
2c04f2689b
HTTPCLIENT-1032: fix Javadocs on HttpCacheEntry.
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044820 13f79535-47bb-0310-9956-ffa450edef68
2010-12-12 13:29:43 +00:00
Jonathan Moore
e025613aab
HTTPCLIENT-1032: change variant storage mechanism in HttpCacheEntry from
...
a Set to a Map; Set-based interface retained for backwards-compatibility.
Currently, the map just maps a variantURI to itself--in essence it is
still really just a set; however, this sets us up for mapping different
variant keys to the same cache key (coming next).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044818 13f79535-47bb-0310-9956-ffa450edef68
2010-12-12 13:24:29 +00:00
Jonathan Moore
9771dcd667
Disabling logging during unit tests.
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044728 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 21:36:18 +00:00
Jonathan Moore
7359258155
HTTPCLIENT-1032: additional test coverage for CacheEntryUpdater. Also,
...
fixed small bug where Warning headers should not be removed from an
entry if the origin response is not used for updating cache entry
headers because it is post-dated.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044648 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 13:12:05 +00:00
Oleg Kalnichevski
ef148fc522
TABS -> SPACES
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044639 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 11:57:09 +00:00
Jonathan Moore
f1add71205
Convert tabs to spaces.
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044637 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 11:45:50 +00:00
Jonathan Moore
47a66573e9
HTTPCLIENT-1032: additional unit test coverage for HttpCacheEntry
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1044636 13f79535-47bb-0310-9956-ffa450edef68
2010-12-11 11:33:42 +00:00
Jonathan Moore
e1e7f9c80e
Cache revalidation of entries now sends etags of all cached variants on
...
the conditional request. (Commit of my own patch posted to
https://issues.apache.org/jira/browse/HTTPCLIENT-1024 before I had
commit rights).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1043717 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08 22:04:48 +00:00
Sebastian Bazley
179c717923
Wrong component name - use property instead to ensure correctness
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1042707 13f79535-47bb-0310-9956-ffa450edef68
2010-12-06 16:27:43 +00:00
Oleg Kalnichevski
317cddd89a
Upgraded project version to 4.1-beta2-SNAPSHOT
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1037288 13f79535-47bb-0310-9956-ffa450edef68
2010-11-20 18:17:57 +00:00
Oleg Kalnichevski
bb9ad833c1
Added missing AL header
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1035063 13f79535-47bb-0310-9956-ffa450edef68
2010-11-14 20:42:47 +00:00
Oleg Kalnichevski
e2bd5afdde
Made HeapResource and FileResource classes public
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1034824 13f79535-47bb-0310-9956-ffa450edef68
2010-11-13 17:50:43 +00:00
Oleg Kalnichevski
9e54454530
Generate LICENSE and NOTICE resources automatically using maven plugin; fixed javadoc links to external resources
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1031582 13f79535-47bb-0310-9956-ffa450edef68
2010-11-05 14:28:48 +00:00
Oleg Kalnichevski
31590950b5
Javadoc fixes
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1030510 13f79535-47bb-0310-9956-ffa450edef68
2010-11-03 16:04:47 +00:00
Oleg Kalnichevski
c76574f947
Dedicated branch for testing maven-notice-plugin
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/branches/notice-plugin-test@1026503 13f79535-47bb-0310-9956-ffa450edef68
2010-10-22 21:47:45 +00:00
Oleg Kalnichevski
6b539c8c86
HTTPCLIENT-990: Allow heuristic freshness caching
...
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1024393 13f79535-47bb-0310-9956-ffa450edef68
2010-10-19 20:17:16 +00:00
Oleg Kalnichevski
de7daf36de
HTTPCLIENT-1015: Support only-if-cached directive
...
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1024383 13f79535-47bb-0310-9956-ffa450edef68
2010-10-19 19:54:29 +00:00
Oleg Kalnichevski
65528c02ec
HTTPCLIENT-1005: reduced public API
...
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1023261 13f79535-47bb-0310-9956-ffa450edef68
2010-10-16 12:04:02 +00:00
Oleg Kalnichevski
6892f58f2c
HTTPCLIENT-1008: send all variants' ETags on "variant miss"
...
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1023085 13f79535-47bb-0310-9956-ffa450edef68
2010-10-15 19:43:18 +00:00
Oleg Kalnichevski
e6190109d8
HTTPCLIENT-1011: Handling of IOExceptions thrown by cache components
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1022965 13f79535-47bb-0310-9956-ffa450edef68
2010-10-15 15:20:10 +00:00
Oleg Kalnichevski
dfe45e8f56
HTTPCLIENT-1009: [follow-up] chunked value for CombinedEntity
...
Contributed by Joe Campbell <joseph.r.campbell at gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1022947 13f79535-47bb-0310-9956-ffa450edef68
2010-10-15 14:35:28 +00:00
Oleg Kalnichevski
0f2cc20b22
HTTPCLIENT-1009: content-type / content-encoding headers on cache response entities
...
Contributed by Felix Berger <bflat1 at gmx.net>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1006348 13f79535-47bb-0310-9956-ffa450edef68
2010-10-10 19:59:39 +00:00
Oleg Kalnichevski
c1f9d2b336
HTTPCLIENT-1009: content-type / content-encoding headers on cache response entities (test case)
...
Contributed by Joe Campbell <joseph.r.campbell at gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1006346 13f79535-47bb-0310-9956-ffa450edef68
2010-10-10 19:53:42 +00:00
Oleg Kalnichevski
804359f1ab
HTTPCLIENT-1003: Handle conditional requests in cache
...
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com> and Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1004777 13f79535-47bb-0310-9956-ffa450edef68
2010-10-05 19:24:42 +00:00
Oleg Kalnichevski
0b2189222b
HTTPCLIENT-1001: cacheEntryUpdater does not properly update cache entry resource
...
Contributed by Michajlo Matijkiw <michajlo_matijkiw at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1003455 13f79535-47bb-0310-9956-ffa450edef68
2010-10-01 09:49:15 +00:00
Oleg Kalnichevski
9ced45d7e6
HTTPCLIENT-999: tests to guarantee transparency of caching module on end-to-end headers
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1000028 13f79535-47bb-0310-9956-ffa450edef68
2010-09-22 15:12:47 +00:00
Oleg Kalnichevski
6d41d97eb9
HTTPCLIENT-998: cache should use both Last-Modified and ETag for validations when available
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1000023 13f79535-47bb-0310-9956-ffa450edef68
2010-09-22 15:06:53 +00:00
Oleg Kalnichevski
e82184af36
HTTPCLIENT-997: cache module should handle out-of-order validations properly and unconditionally refresh
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1000011 13f79535-47bb-0310-9956-ffa450edef68
2010-09-22 14:52:44 +00:00
Oleg Kalnichevski
c3e43de4f1
HTTPCLIENT-994: cache does not allow client to override origin-specified freshness using max-stale
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@997480 13f79535-47bb-0310-9956-ffa450edef68
2010-09-15 20:00:41 +00:00
Oleg Kalnichevski
ff55577526
HTTPCLIENT-995: cache returns cached responses even if validators not consistent with all conditional headers
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@996644 13f79535-47bb-0310-9956-ffa450edef68
2010-09-13 19:05:19 +00:00
Oleg Kalnichevski
aeffde46e6
HTTPCLIENT-977: memcached implementation for HttpCache
...
Contributed by Mohammed Azeem Uddin <mohammedazeem_uddin at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@995257 13f79535-47bb-0310-9956-ffa450edef68
2010-09-08 21:17:05 +00:00
Oleg Kalnichevski
d78939ec1a
HTTPCLIENT-992: cache should not generate stale responses to requests explicitly requesting first-hand or fresh ones
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@995246 13f79535-47bb-0310-9956-ffa450edef68
2010-09-08 20:44:31 +00:00
Oleg Kalnichevski
18d3966ed8
HTTPCLIENT-991: cache module produces improperly formatted Warning header when revalidation fails
...
Contributed by Jonathan Moore <jonathan_moore at comcast.com>
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@995241 13f79535-47bb-0310-9956-ffa450edef68
2010-09-08 20:34:57 +00:00