Mercurial > hg > nginx
changeset 7684:32a343635b50
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.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 09 Jul 2020 16:21:37 +0300 |
parents | fac6e1a46206 |
children | 4f30f75dbdf3 |
files | src/http/modules/ngx_http_slice_filter_module.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_slice_filter_module.c Thu Jul 09 17:33:22 2020 +0300 +++ b/src/http/modules/ngx_http_slice_filter_module.c Thu Jul 09 16:21:37 2020 +0300 @@ -180,6 +180,11 @@ 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;