Mercurial > hg > nginx-vendor-current
diff src/http/ngx_http_upstream.c @ 642:d3cf6c6b0043 NGINX_1_1_5
nginx 1.1.5
*) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
Thanks to Peter Smit.
*) Bugfix: non-cacheable responses might be cached if
"proxy_cache_bypass" directive was used.
Thanks to John Ferlito.
*) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
*) Bugfix: cached responses with an empty body were returned
incorrectly; the bug had appeared in 0.8.31.
*) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
bug had appeared in 0.8.32.
*) Bugfix: in the "return" directive.
*) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
fault; the bug had appeared in 1.1.1.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 05 Oct 2011 00:00:00 +0400 |
parents | eb208e0cf44d |
children | 6f21ae02fb01 |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -683,6 +683,8 @@ ngx_http_upstream_cache(ngx_http_request return NGX_DECLINED; } + u->cacheable = 1; + switch (ngx_http_test_predicates(r, u->conf->cache_bypass)) { case NGX_ERROR: @@ -696,8 +698,6 @@ ngx_http_upstream_cache(ngx_http_request break; } - u->cacheable = 1; - c = r->cache; c->min_uses = u->conf->cache_min_uses; @@ -2181,8 +2181,6 @@ ngx_http_upstream_send_response(ngx_http ngx_http_upstream_finalize_request(r, u, 0); return; } - - u->cacheable = 1; } break; @@ -2927,6 +2925,7 @@ ngx_http_upstream_next(ngx_http_request_ } ngx_close_connection(u->peer.connection); + u->peer.connection = NULL; } #if 0 @@ -3071,7 +3070,12 @@ ngx_http_upstream_finalize_request(ngx_h r->connection->log->action = "sending to client"; - if (rc == 0) { + if (rc == 0 +#if (NGX_HTTP_CACHE) + && !r->cached +#endif + ) + { rc = ngx_http_send_special(r, NGX_HTTP_LAST); } @@ -4329,6 +4333,10 @@ ngx_http_upstream_add(ngx_conf_t *cf, ng continue; } + if (flags & NGX_HTTP_UPSTREAM_CREATE) { + uscfp[i]->flags = flags; + } + return uscfp[i]; }