an intercepted error code was not cached

This commit is contained in:
Igor Sysoev 2010-07-19 15:31:46 +00:00
parent cc963cd7e2
commit f297d0dd27

View File

@ -1720,6 +1720,24 @@ ngx_http_upstream_intercept_errors(ngx_http_request_t *r,
r->headers_out.www_authenticate = h;
}
#if (NGX_HTTP_CACHE)
if (u->cacheable && r->cache) {
time_t valid;
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"http upstream cache fd: %d", r->cache->file.fd);
valid = ngx_http_file_cache_valid(u->conf->cache_valid, status);
if (valid) {
r->cache->valid_sec = ngx_time() + valid;
r->cache->error = status;
}
ngx_http_file_cache_free(r, u->pipe->temp_file);
}
#endif
ngx_http_upstream_finalize_request(r, u, status);
return NGX_OK;