diff options
author | Valentin Bartenev <vbart@nginx.com> | 2016-07-19 20:22:44 +0300 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2016-07-19 20:22:44 +0300 |
commit | 19de85a4d75e7eada6afb8f59ce6d5de0ec10d5c (patch) | |
tree | 9d099fd24cb409c186b8e280390e5bc1377a4913 | |
parent | ab5401d204f9cd638204dcabf45152e32920d021 (diff) | |
download | nginx-19de85a4d75e7eada6afb8f59ce6d5de0ec10d5c.tar.gz nginx-19de85a4d75e7eada6afb8f59ce6d5de0ec10d5c.zip |
HTTP/2: prevented output of the HEADERS frame for canceled streams.
It's useless to generate HEADERS if the stream has been canceled already.
-rw-r--r-- | src/http/v2/ngx_http_v2_filter_module.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/http/v2/ngx_http_v2_filter_module.c b/src/http/v2/ngx_http_v2_filter_module.c index 39ff10301..a53cae13f 100644 --- a/src/http/v2/ngx_http_v2_filter_module.c +++ b/src/http/v2/ngx_http_v2_filter_module.c @@ -165,6 +165,12 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) return NGX_OK; } + fc = r->connection; + + if (fc->error) { + return NGX_ERROR; + } + if (r->method == NGX_HTTP_HEAD) { r->header_only = 1; } @@ -255,8 +261,6 @@ ngx_http_v2_header_filter(ngx_http_request_t *r) len += 1 + ngx_http_v2_literal_size("Wed, 31 Dec 1986 18:00:00 GMT"); } - fc = r->connection; - if (r->headers_out.location && r->headers_out.location->value.len) { if (r->headers_out.location->value.data[0] == '/') { |