aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_proxy_module.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2011-09-15 19:22:35 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2011-09-15 19:22:35 +0000
commitf2fcf11b25ead5b0c3c0f015a7203f2d30619396 (patch)
tree0ffe5f9e4658b37c898aaff4c3b76bf3454635c3 /src/http/modules/ngx_http_proxy_module.c
parentf84c69a3014dd2c4479e4c07e487f8aaa22d336f (diff)
downloadnginx-f2fcf11b25ead5b0c3c0f015a7203f2d30619396.tar.gz
nginx-f2fcf11b25ead5b0c3c0f015a7203f2d30619396.zip
Protocol version parsing in ngx_http_parse_status_line().
Once we know protocol version, set u->headers_in.connection_close to indicate implicitly assumed connection close with HTTP before 1.1.
Diffstat (limited to 'src/http/modules/ngx_http_proxy_module.c')
-rw-r--r--src/http/modules/ngx_http_proxy_module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_proxy_module.c b/src/http/modules/ngx_http_proxy_module.c
index 902cfb8f2..0dfa16d17 100644
--- a/src/http/modules/ngx_http_proxy_module.c
+++ b/src/http/modules/ngx_http_proxy_module.c
@@ -1210,6 +1210,7 @@ ngx_http_proxy_process_status_line(ngx_http_request_t *r)
r->http_version = NGX_HTTP_VERSION_9;
u->state->status = NGX_HTTP_OK;
+ u->headers_in.connection_close = 1;
return NGX_OK;
}
@@ -1234,6 +1235,10 @@ ngx_http_proxy_process_status_line(ngx_http_request_t *r)
"http proxy status %ui \"%V\"",
u->headers_in.status_n, &u->headers_in.status_line);
+ if (ctx->status.http_version < NGX_HTTP_VERSION_11) {
+ u->headers_in.connection_close = 1;
+ }
+
u->process_header = ngx_http_proxy_process_header;
return ngx_http_proxy_process_header(r);