diff options
author | Sander Striker <striker@apache.org> | 2005-03-11 21:39:45 +0000 |
---|---|---|
committer | Sander Striker <striker@apache.org> | 2005-03-11 21:39:45 +0000 |
commit | 97851ed8005a060022dbfbbfc37edd501b8544f5 (patch) | |
tree | c010b544ccec07970b3dd38194e13ad554763604 | |
parent | e1148fae727159315b767b02366ec9cef6328480 (diff) | |
download | httpd-97851ed8005a060022dbfbbfc37edd501b8544f5.tar.gz |
Another mod_cache fixlet.
* 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
-rw-r--r-- | modules/cache/cache_storage.c | 4 | ||||
-rw-r--r-- | modules/cache/mod_cache.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/modules/cache/cache_storage.c b/modules/cache/cache_storage.c index 1aaf328253..f43bbb1fe6 100644 --- a/modules/cache/cache_storage.c +++ b/modules/cache/cache_storage.c @@ -255,6 +255,10 @@ int cache_select_url(request_rec *r, char *url) if (!fresh) { const char *etag, *lastmod; + ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server, + "Cached response for %s isn't fresh. Adding/replacing " + "conditional request headers.", r->uri); + /* Make response into a conditional */ cache->stale_headers = apr_table_copy(r->pool, r->headers_in); diff --git a/modules/cache/mod_cache.c b/modules/cache/mod_cache.c index 5da2797108..4138df72cc 100644 --- a/modules/cache/mod_cache.c +++ b/modules/cache/mod_cache.c @@ -117,10 +117,19 @@ static int cache_url_handler(request_rec *r, int lookup) if (rv != OK) { if (rv == DECLINED) { if (!lookup) { + ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server, + "Adding CACHE_SAVE filter."); + /* add cache_save filter to cache this request */ ap_add_output_filter_handle(cache_save_filter_handle, NULL, r, r->connection); } + else if (cache->stale_headers) { + ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server, + "Restoring request headers."); + + r->headers_in = cache->stale_headers; + } } else { /* error */ |