by the type (AP_FTYPE_CONTENT_SET-1) from CACHE_OUT / CACHE_SAVE
(AP_FTYPE_CONTENT_SET+1). This ensures that subrequests to non local
resources do not get stuck in the middle of the road with the contents
only written to the temp file, because CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ
are inserted *before* the SUBREQ_CORE filter in the filter chain.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@325960 13f79535-47bb-0310-9956-ffa450edef68
* Add r->uri to the debug messages in the quick handler; makes debugging
easier.
* Always reset headers_in for lookup's, some modules make subrequests
and then rewrite the url. Having a conditional request at this point
is not what they expect (nor reasonable for them to handle).
* Don't store a per-request config on lookups; for the same reason.
* Return DECLINED when in lookup mode and ap_meets_conditions() indicated
we have the content but don't know if it's fresh or not. We have no idea
whether the backend will have a 404, a 304 or any other kind of a
response - so we have to assume we cannot handle the request.
* remove the unused "url" argument from the cache_create_entity() function
* Whitespace/comment fixups in mod_cache.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@291588 13f79535-47bb-0310-9956-ffa450edef68
are matched case-insensitively, port-based vhosts are catered for and the
scheme included for future multi-scheme caching compatibility.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239407 13f79535-47bb-0310-9956-ffa450edef68
(up to the cache root) to get rid of unused empty directories.
* cache/mod_disk_cache.c
(remove_url): Try to delete directories; also change two APR_ENOENT to
APR_STATUS_IS_ENOENT.
(Justin tweaked some comments.)
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232334 13f79535-47bb-0310-9956-ffa450edef68
is valid, but cache is unwritable and headers cannot be updated.
Submitted by: Colm MacCarthaigh <colm stdlib.net>
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231488 13f79535-47bb-0310-9956-ffa450edef68
Remove entities from the cache when re-validation receives a 404 or other
content-no-longer-present error.
Suggested by: Paul Querna, Justin Erenkrantz
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231487 13f79535-47bb-0310-9956-ffa450edef68
These Vary headers are used to build a new hash for a URL, based on the
client's headers. This allows mod_disk_cache to store many variations of one
URI, where previously it would only store a single variant.
htcacheclean needs to be updated to understand the new file format. I plan on
updating htcacheclean in the next couple days.
PR: 35211
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190530 13f79535-47bb-0310-9956-ffa450edef68
*) Remove the first set of Validation code. Use the main if structure to check for both 'Vary: *' and 'Cache-Control: no-store'.
*) Add logging of failures for a provider's store_body function.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190033 13f79535-47bb-0310-9956-ffa450edef68
This makes binaries far easier to debug, during operation and for post-crash
.dmp analysis. Do not alter /Gs optimizations per brane.
Reviewed by: stoddard, brane
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170253 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_cache.c
(cache_url_handler): Add more debug output. Restore original request
headers when CACHE_SAVE filter isn't added to fix up after the request.
* modules/cache/cache_storage.c
(cache_select_url): Add more debug output.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157162 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/cache_util.c
(ap_cache_check_freshness): On Cache-Control/Pragma no-cache force
revalidation by marking the resource as stale. Unless IgnoreCacheControl
is set ofcourse.
* modules/cache/mod_cache.c
(cache_url_handler): Remove Cache-Control/Pragma no-cache check and
accompagnying comment.
(cache_save_filter): Move FIXME comment to the correct location.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156480 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_cache.c
(cache_save_filter): Instead of unconditionally returning a 304 when
the original request was conditional and we issued a cache revalidating
request, handle the request as if it came in while our cache was
still valid.
* modules/cache/cache_storage.c
(cache_select_url): Strip off the conditional headers from the original
request, prior to adding our own for the purpose of revalidating our
cached response.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156330 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_disk_cache.c
(store_headers): Stop second guessing mod_cache and just store the
headers in a new file (overwriting the old).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156306 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_cache.c: If we add a new Expires value, tell our client;
merge in headers properly (or better than before) so that we can update the
header fields on a revalidated but with updated header fields.
* modules/cache/mod_cache.h, modules/cache/cache_storage.c:
Add preserve_orig flag to ap_cache_accept_headers to allow updating of fields.
* modules/cache/mod_disk_cache.c: Load status value from disk.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152973 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/cache_storage.c
(cache_select_url): Add If-Modified-Since regardless of having
an ETag or not. See: RFC2616, 14.26.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152948 13f79535-47bb-0310-9956-ffa450edef68
* modules/cache/mod_cache.c
(cache_save_filter): Load in the cached status and headers; send a flush
rather than an EOS when the client request is conditional.
* modules/cache/mod_cache.h: Export ap_cache_accept_headers.
* modules/cache/cache_storage.c: Rename accept_headers to
ap_cache_accept_headers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@152680 13f79535-47bb-0310-9956-ffa450edef68