diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2011-05-25 14:55:59 +0000 |
|---|---|---|
| committer | Jonathan Kolb <jon@b0g.us> | 2011-05-25 14:55:59 +0000 |
| commit | 05db4154017269f45cc8742ca187855e1331b08d (patch) | |
| tree | b39f6526ef879ba55c0d334385cdded679fab736 /src/http/ngx_http_upstream.c | |
| parent | 1b122b0876a0f0e1efcb4be6d730f353b04759ea (diff) | |
| download | nginx-1.0.3.tar.gz | |
Changes with nginx 1.0.3 25 May 2011v1.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.
Diffstat (limited to 'src/http/ngx_http_upstream.c')
| -rw-r--r-- | src/http/ngx_http_upstream.c | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index 914d72c84..8f1ee42c3 100644 --- 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_t *r, ngx_http_upstream_t *u) 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_t *r, ngx_http_upstream_t *u) 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_request_t *r, ngx_http_upstream_t *u) 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; |
