Commit Graph

2134 Commits

Author SHA1 Message Date
Jonathan Moore 3daa07005e Minor fix for which deprecated constructor was removed.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058248 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 17:37:16 +00:00
Jonathan Moore 7b6ffc39b3 Implementation fix and acceptance tests for protocol recommendation:
"Many HTTP/1.0 cache implementations will treat an Expires value that
is less than or equal to the response Date value as being equivalent
to the Cache-Control response directive "no-cache". If an HTTP/1.1
cache receives such a response, and the response does not include a
Cache-Control header field, it SHOULD consider the response to be non-
cacheable in order to retain compatibility with HTTP/1.0 servers."

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3

Also had to update a few other test cases that incidentally ran afoul
of this recommendation.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058247 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 17:35:29 +00:00
Sebastian Bazley 5ddda40967 Clarify what was actually removed
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058242 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 17:18:50 +00:00
Jonathan Moore 7b141fd52d Document acceptance test (implementation already passes):
"If a new cacheable...response is received from a resource while any
existing responses for the same resource are cached, the cache SHOULD
use the new response to reply to the current request."

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.12


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058232 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 16:57:14 +00:00
Jonathan Moore 759fe0a755 Added unit tests to document protocol recommendation:
"A cache that passes through requests for methods it does not understand
SHOULD invalidate any entities referred to by the Request-URI."

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.10

(Current implementation already does this, but always good to have that
captured in an automated acceptance test).



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058224 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 16:38:28 +00:00
Jonathan Moore bac69b368f Removed deprecated HttpCacheEntry#getVariantURIs and associated
constructors and fields. Also removed code in surrounding classes
that was providing backwards compatibility for the deprecated
Set-based variant data structure. Made a note in the ChangeLog
about the change to the public API between 4.1-beta and 4.1.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1058153 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12 14:21:32 +00:00
Jonathan Moore 3c0bc58a30 On the off chance someone wrote a custom serializer for use with the
4.1-beta version of HttpCacheEntry, we want to make sure things still
work properly. The current implementation of HttpCacheEntry already
throws an UnsupportedOperationException if you try to get at the variant
map but the old set-based data structure is there; now we handle this
exception, log a warning, and then use the old structure. This is a bit
less efficient but still demonstrably works (I added a unit test to the
Ehcache suite, where you can submit a custom serializer, that shows that
the implementation still conforms to all the MUST/MUST NOTs).


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057745 13f79535-47bb-0310-9956-ffa450edef68
2011-01-11 17:28:20 +00:00
Jonathan Moore e95a80b7a2 Responses from HTTP/1.0 origins to requests containing query parameters
SHOULD NOT be taken from a cache.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.9


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057715 13f79535-47bb-0310-9956-ffa450edef68
2011-01-11 16:31:06 +00:00
Oleg Kalnichevski 020d303ec5 Updated 'quick start' page
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057600 13f79535-47bb-0310-9956-ffa450edef68
2011-01-11 12:05:44 +00:00
Jonathan Moore 438411d60d Improved docbook for caching module.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057314 13f79535-47bb-0310-9956-ffa450edef68
2011-01-10 19:02:33 +00:00
Jonathan Moore 6e1d7a0ad3 Javadoc for Ehcache and memcached cache storage backends. I think we're in
good shape for Javadocs on the caching module now.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057287 13f79535-47bb-0310-9956-ffa450edef68
2011-01-10 17:09:56 +00:00
Jonathan Moore 4b29dae09d Javadocs for CachingHttpClient itself.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057265 13f79535-47bb-0310-9956-ffa450edef68
2011-01-10 16:33:51 +00:00
Jonathan Moore 6b723dd61e Added more Javadocs, including, most significantly so far, detailed
docs for CacheConfig talking about all the available configuration
options for the caching module.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057242 13f79535-47bb-0310-9956-ffa450edef68
2011-01-10 15:35:37 +00:00
Oleg Kalnichevski 2eb2eda4bb Changed Browser-Compatibility and Best-Match cookie policies to emulate the behaviour of FireFox more closely when parsing Netscape style cookies. Comma will no longer be treated as a header element separator if Set-Cookie does not contain a Version attribute mandated by the RFC2109 / RFC 2965 cookie specifications
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1057148 13f79535-47bb-0310-9956-ffa450edef68
2011-01-10 10:57:29 +00:00
Sebastian Bazley 7ee591f0f4 Merge jar manifest entries into httpclient parent pom
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056561 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 23:43:27 +00:00
Sebastian Bazley 124c7d5eaf Ensure source jars have full manifest entries
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056545 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 22:28:13 +00:00
Jonathan Moore ca41afb97e Provided lots of missing Javadoc.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056530 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 22:01:54 +00:00
Jonathan Moore f9c0e8cac9 Added Javadoc package.html for org.apache.http.client.cache.
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056504 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 21:01:16 +00:00
Oleg Kalnichevski 4f23a5086e Move default implementations of the majority of abstract classes from DefaultHttpClient to AbstractHttpClient
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056277 13f79535-47bb-0310-9956-ffa450edef68
2011-01-07 11:56:21 +00:00
Oleg Kalnichevski 13b5092f43 Updated project web site, NOTICE and release notes for the coming 4.1 release
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056085 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 21:19:51 +00:00
Oleg Kalnichevski 0e23c5d60b Updated HttpClient DOAP
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056084 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 21:18:29 +00:00
Oleg Kalnichevski 1192bf0854 Removed 'binary with dependencies' assembly; added dependencies to 'bin' assembly
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1056083 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 21:16:57 +00:00
Sebastian Bazley 4fd34899f0 Unnecessary casts
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055732 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:24:49 +00:00
Sebastian Bazley 868e46fd5b Unthrown Exceptions and @Overrides
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055731 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:23:34 +00:00
Sebastian Bazley 4b2dccf239 Exception not thrown
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055730 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:13:13 +00:00
Sebastian Bazley 32e1cc24bb Exception not thrown
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055729 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:11:38 +00:00
Sebastian Bazley 75dd0ae7dd DOcument thread-safety
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055728 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:10:21 +00:00
Sebastian Bazley 7550a6edf6 Make private immutable fields final
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055727 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:06:51 +00:00
Sebastian Bazley d9090f3d37 Not @Immutable, but it is @ThreadSafe
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055726 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:05:55 +00:00
Sebastian Bazley 4896d1752c Tab police
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055725 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 03:02:16 +00:00
Sebastian Bazley 3b4b68fe68 Javadoc fixes
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055723 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 02:57:48 +00:00
Sebastian Bazley 5e95645f07 Missing @Overrides
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055722 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 02:57:27 +00:00
Sebastian Bazley 37e01683fa Exception not thrown
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055721 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 02:56:23 +00:00
Sebastian Bazley 6a970590c0 Unnecessary cast
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055720 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 02:54:42 +00:00
Sebastian Bazley 992078af1c Remove unnecessary store
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055715 13f79535-47bb-0310-9956-ffa450edef68
2011-01-06 02:33:22 +00:00
Oleg Kalnichevski a703914575 HTTPCLIENT-1026: shut down connection manager in a try-finally
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055629 13f79535-47bb-0310-9956-ffa450edef68
2011-01-05 20:39:15 +00:00
Oleg Kalnichevski 441006d804 Use special HttpRoutedConnection interafce to access route details in the protocol level classes, as ManagedClientConnection interface is blocking I/O model specific
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055464 13f79535-47bb-0310-9956-ffa450edef68
2011-01-05 14:16:08 +00:00
Oleg Kalnichevski e95f6ce960 Always use remote port of the underyling connection as default when creating CookieOrigin instance
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1055406 13f79535-47bb-0310-9956-ffa450edef68
2011-01-05 10:54:20 +00:00
Oleg Kalnichevski 232ee999c8 Corrected debug logs: report zero keep-alive duration as indefinite; use better terminology ('indefinitely' instead of 'for ever')
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1054960 13f79535-47bb-0310-9956-ffa450edef68
2011-01-04 10:26:15 +00:00
Oleg Kalnichevski dafdf43025 Fixed misspelled method name
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053832 13f79535-47bb-0310-9956-ffa450edef68
2010-12-30 09:10:00 +00:00
Oleg Kalnichevski 261fb7d7db Moved target host extraction code to a re-usable static method in the URIUtils class
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053679 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 17:35:36 +00:00
Oleg Kalnichevski 21aae1dfe2 Removed calls to deprecated methods
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053675 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 17:05:04 +00:00
Oleg Kalnichevski eda06a75ee Removed static socket factories; adjusted Scheme#hashCode and Scheme#equals
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053589 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29 09:54:02 +00:00
Oleg Kalnichevski 18de7cda9c Support for default scheme initialization; no args constructor for pooling connection and single connection managers
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053367 13f79535-47bb-0310-9956-ffa450edef68
2010-12-28 15:18:26 +00:00
Jonathan Moore b9851bc11c Changed bad host for retry handler tests to bogus.example.com
from www.complete.garbage.invalid, which seems to have better
timing properties for me (and hopefully Hudson).


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053062 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 13:07:53 +00:00
Jonathan Moore 4a63d6a0da Fixed compiler warnings (unused imports, unused private methods).
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1053060 13f79535-47bb-0310-9956-ffa450edef68
2010-12-27 12:55:32 +00:00
Jonathan Moore 856c1c28ad HTTPCLIENT-1035: committed validating acceptance test and wired in new
cache invalidation call. Also cleaned up some unit tests in
TestCachingHttpClient: static imports of EasyMock methods, as well as
removing unit tests that exercised some protected methods, especially
where they are already covered by acceptance tests against a public
interface (unit testing protected methods leads to brittle tests). Also
rewrite some of the unit tests in TestCachingHttpClient to depend on
fewer mocks (often, just a mock backend HttpClient and mock cache
storage).


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1052894 13f79535-47bb-0310-9956-ffa450edef68
2010-12-26 15:10:39 +00:00
Jonathan Moore 7b99aca6ab HTTPCLIENT-1035: finished cache-flushing logic for updated
entries mentioned by Content-Location in responses. Still
not hooked in to main request handling flow yet.



git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1052234 13f79535-47bb-0310-9956-ffa450edef68
2010-12-23 12:02:37 +00:00
Jonathan Moore 68ed95699e HTTPCLIENT-1035: begin adding functionality for flushing updated
entries mentioned by Content-Location in responses. Not yet hooked
in to be used.


git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1051865 13f79535-47bb-0310-9956-ffa450edef68
2010-12-22 11:59:23 +00:00
Sebastian Bazley 7bd182d481 Make mode a final field of HttpMultipart
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1051681 13f79535-47bb-0310-9956-ffa450edef68
2010-12-21 22:25:45 +00:00