comparison src/http/modules/ngx_http_fastcgi_module.c @ 3597:0d8b8c84bab7 stable-0.7

merge r3518, r3527: cache related fixes: *) do not cache response if it has "no-store" or "private" in "Cache-Control" header *) proxy_no_cache and fastcgi_no_cache
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Jun 2010 12:23:23 +0000
parents 3354dfba9da4
children
comparison
equal deleted inserted replaced
3596:555de5bdb800 3597:0d8b8c84bab7
330 NGX_HTTP_MAIN_CONF|NGX_CONF_2MORE, 330 NGX_HTTP_MAIN_CONF|NGX_CONF_2MORE,
331 ngx_http_file_cache_set_slot, 331 ngx_http_file_cache_set_slot,
332 0, 332 0,
333 0, 333 0,
334 &ngx_http_fastcgi_module }, 334 &ngx_http_fastcgi_module },
335
336 { ngx_string("fastcgi_no_cache"),
337 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
338 ngx_http_no_cache_set_slot,
339 NGX_HTTP_LOC_CONF_OFFSET,
340 offsetof(ngx_http_fastcgi_loc_conf_t, upstream.no_cache),
341 NULL },
335 342
336 { ngx_string("fastcgi_cache_valid"), 343 { ngx_string("fastcgi_cache_valid"),
337 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE, 344 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_1MORE,
338 ngx_http_file_cache_valid_set_slot, 345 ngx_http_file_cache_valid_set_slot,
339 NGX_HTTP_LOC_CONF_OFFSET, 346 NGX_HTTP_LOC_CONF_OFFSET,
1888 conf->upstream.pass_request_body = NGX_CONF_UNSET; 1895 conf->upstream.pass_request_body = NGX_CONF_UNSET;
1889 1896
1890 #if (NGX_HTTP_CACHE) 1897 #if (NGX_HTTP_CACHE)
1891 conf->upstream.cache = NGX_CONF_UNSET_PTR; 1898 conf->upstream.cache = NGX_CONF_UNSET_PTR;
1892 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT; 1899 conf->upstream.cache_min_uses = NGX_CONF_UNSET_UINT;
1900 conf->upstream.no_cache = NGX_CONF_UNSET_PTR;
1893 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR; 1901 conf->upstream.cache_valid = NGX_CONF_UNSET_PTR;
1894 #endif 1902 #endif
1895 1903
1896 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR; 1904 conf->upstream.hide_headers = NGX_CONF_UNSET_PTR;
1897 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR; 1905 conf->upstream.pass_headers = NGX_CONF_UNSET_PTR;
2109 conf->upstream.cache_methods = prev->upstream.cache_methods; 2117 conf->upstream.cache_methods = prev->upstream.cache_methods;
2110 } 2118 }
2111 2119
2112 conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD; 2120 conf->upstream.cache_methods |= NGX_HTTP_GET|NGX_HTTP_HEAD;
2113 2121
2122 ngx_conf_merge_ptr_value(conf->upstream.no_cache,
2123 prev->upstream.no_cache, NULL);
2124
2114 ngx_conf_merge_ptr_value(conf->upstream.cache_valid, 2125 ngx_conf_merge_ptr_value(conf->upstream.cache_valid,
2115 prev->upstream.cache_valid, NULL); 2126 prev->upstream.cache_valid, NULL);
2116 2127
2117 if (conf->cache_key.value.data == NULL) { 2128 if (conf->cache_key.value.data == NULL) {
2118 conf->cache_key = prev->cache_key; 2129 conf->cache_key = prev->cache_key;