From 97851ed8005a060022dbfbbfc37edd501b8544f5 Mon Sep 17 00:00:00 2001 From: Sander Striker Date: Fri, 11 Mar 2005 21:39:45 +0000 Subject: [PATCH] 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 --- modules/cache/cache_storage.c | 4 ++++ modules/cache/mod_cache.c | 9 +++++++++ 2 files changed, 13 insertions(+) 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 */ -- 2.50.1