diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2011-09-15 19:22:35 +0000 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2011-09-15 19:22:35 +0000 |
commit | f2fcf11b25ead5b0c3c0f015a7203f2d30619396 (patch) | |
tree | 0ffe5f9e4658b37c898aaff4c3b76bf3454635c3 /src/http/modules/ngx_http_proxy_module.c | |
parent | f84c69a3014dd2c4479e4c07e487f8aaa22d336f (diff) | |
download | nginx-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.c | 5 |
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); |