Commit a96a4245 authored by Sander Striker's avatar Sander Striker
Browse files

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
parent 5ea177f7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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);
+9 −0
Original line number Diff line number Diff line
@@ -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 */