Mercurial > hg > nginx-vendor-1-0
diff src/http/ngx_http_upstream.c @ 626:a7a5fa2e395b NGINX_1_0_3
nginx 1.0.3
*) Feature: the "auth_basic_user_file" directive supports "$apr1",
"{PLAIN}", and "{SSHA}" password encryption methods.
Thanks to Maxim Dounin.
*) Feature: the "geoip_org" directive and $geoip_org variable.
Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
*) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4
addresses mapped to IPv6 addresses.
*) Bugfix: a segmentation fault occurred in a worker process during
testing IPv4 address mapped to IPv6 address, if access or deny rules
were defined only for IPv6; the bug had appeared in 0.8.22.
*) Bugfix: a cached reponse may be broken if proxy/fastcgi/scgi/
uwsgi_cache_bypass and proxy/fastcgi/scgi/uwsgi_no_cache directive
values were different; the bug had appeared in 0.8.46.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 25 May 2011 00:00:00 +0400 |
parents | 8dc007eddbcf |
children | 83b58b182b76 |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -641,19 +641,6 @@ ngx_http_upstream_cache(ngx_http_request if (c == NULL) { - switch (ngx_http_test_predicates(r, u->conf->cache_bypass)) { - - case NGX_ERROR: - return NGX_ERROR; - - case NGX_DECLINED: - u->cache_status = NGX_HTTP_CACHE_BYPASS; - return NGX_DECLINED; - - default: /* NGX_OK */ - break; - } - if (!(r->method & u->conf->cache_methods)) { return NGX_DECLINED; } @@ -674,6 +661,19 @@ ngx_http_upstream_cache(ngx_http_request ngx_http_file_cache_create_key(r); + switch (ngx_http_test_predicates(r, u->conf->cache_bypass)) { + + case NGX_ERROR: + return NGX_ERROR; + + case NGX_DECLINED: + u->cache_status = NGX_HTTP_CACHE_BYPASS; + return NGX_DECLINED; + + default: /* NGX_OK */ + break; + } + u->cacheable = 1; c = r->cache; @@ -2135,18 +2135,6 @@ ngx_http_upstream_send_response(ngx_http if (u->cache_status == NGX_HTTP_CACHE_BYPASS) { - if (ngx_http_file_cache_new(r) != NGX_OK) { - ngx_http_upstream_finalize_request(r, u, 0); - return; - } - - if (u->create_key(r) != NGX_OK) { - ngx_http_upstream_finalize_request(r, u, 0); - return; - } - - /* TODO: add keys */ - r->cache->min_uses = u->conf->cache_min_uses; r->cache->body_start = u->conf->buffer_size; r->cache->file_cache = u->conf->cache->data;