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);