Mercurial > hg > nginx
comparison src/http/modules/ngx_http_slice_filter_module.c @ 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 | f583559aadc7 |
children |
comparison
equal
deleted
inserted
replaced
7683:fac6e1a46206 | 7684:32a343635b50 |
---|---|
178 r->headers_out.content_length_n = cr.complete_length; | 178 r->headers_out.content_length_n = cr.complete_length; |
179 r->headers_out.content_offset = cr.start; | 179 r->headers_out.content_offset = cr.start; |
180 r->headers_out.content_range->hash = 0; | 180 r->headers_out.content_range->hash = 0; |
181 r->headers_out.content_range = NULL; | 181 r->headers_out.content_range = NULL; |
182 | 182 |
183 if (r->headers_out.accept_ranges) { | |
184 r->headers_out.accept_ranges->hash = 0; | |
185 r->headers_out.accept_ranges = NULL; | |
186 } | |
187 | |
183 r->allow_ranges = 1; | 188 r->allow_ranges = 1; |
184 r->subrequest_ranges = 1; | 189 r->subrequest_ranges = 1; |
185 r->single_range = 1; | 190 r->single_range = 1; |
186 | 191 |
187 rc = ngx_http_next_header_filter(r); | 192 rc = ngx_http_next_header_filter(r); |