summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2020-07-09 16:21:37 +0300
committerRoman Arutyunyan <arut@nginx.com>2020-07-09 16:21:37 +0300
commit5cef7de7a116bab3af9097dac5a22f7652be4273 (patch)
treedae187ed80a451467bf744e2d4a78e5b91b3b6f2
parent826fb0d45c964d597975c1a08070cf9a579a08ac (diff)
downloadnginx-5cef7de7a116bab3af9097dac5a22f7652be4273.tar.gz
nginx-5cef7de7a116bab3af9097dac5a22f7652be4273.tar.bz2
Slice filter: clear original Accept-Ranges.
The slice filter allows ranges for the response by setting the r->allow_ranges flag, which enables the range filter. If the range was not requested, the range filter adds an Accept-Ranges header to the response to signal the support for ranges. Previously, if an Accept-Ranges header was already present in the first slice response, client received two copies of this header. Now, the slice filter removes the Accept-Ranges header from the response prior to setting the r->allow_ranges flag.
-rw-r--r--src/http/modules/ngx_http_slice_filter_module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/http/modules/ngx_http_slice_filter_module.c b/src/http/modules/ngx_http_slice_filter_module.c
index c1edbca2b..186380a2f 100644
--- a/src/http/modules/ngx_http_slice_filter_module.c
+++ b/src/http/modules/ngx_http_slice_filter_module.c
@@ -180,6 +180,11 @@ ngx_http_slice_header_filter(ngx_http_request_t *r)
r->headers_out.content_range->hash = 0;
r->headers_out.content_range = NULL;
+ if (r->headers_out.accept_ranges) {
+ r->headers_out.accept_ranges->hash = 0;
+ r->headers_out.accept_ranges = NULL;
+ }
+
r->allow_ranges = 1;
r->subrequest_ranges = 1;
r->single_range = 1;