Mercurial > hg > nginx
changeset 2704:ac1e2e199c9f
shutdown client connection for cacheable header only responses
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 15 Apr 2009 11:19:27 +0000 |
parents | 3b6afa999c2f |
children | d040c3786239 |
files | src/http/ngx_http_upstream.c |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c Wed Apr 15 11:17:38 2009 +0000 +++ b/src/http/ngx_http_upstream.c Wed Apr 15 11:19:27 2009 +0000 @@ -1830,11 +1830,20 @@ return; } + c = r->connection; + if (r->header_only) { + if (u->cacheable || u->store) { + + if (ngx_shutdown_socket(c->fd, NGX_WRITE_SHUTDOWN) == -1) { + ngx_connection_error(c, ngx_socket_errno, + ngx_shutdown_socket_n " failed"); + } + r->read_event_handler = ngx_http_request_empty_handler; r->write_event_handler = ngx_http_request_empty_handler; - r->connection->error = 1; + c->error = 1; } else { ngx_http_upstream_finalize_request(r, u, rc); @@ -1849,8 +1858,6 @@ r->request_body->temp_file->file.fd = NGX_INVALID_FILE; } - c = r->connection; - clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); if (!u->buffering) {