Mercurial > hg > nginx
changeset 6907:d16ba0ea3434
Slice filter: fetch slices in cloned subrequests.
Previously, slice subrequest location was selected based on request URI.
If request is then redirected to a new location, its context array is cleared,
making the slice module loose current slice range information. This lead to
broken output. Now subrequests with the NGX_HTTP_SUBREQUEST_CLONE flag are
created for slices. Such subrequests stay in the same location as the parent
request and keep the right slice context.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Fri, 10 Feb 2017 16:33:12 +0300 |
parents | 1aeaae6e9446 |
children | 609daeb3b48b |
files | src/http/modules/ngx_http_slice_filter_module.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_slice_filter_module.c Fri Feb 10 15:13:41 2017 +0300 +++ b/src/http/modules/ngx_http_slice_filter_module.c Fri Feb 10 16:33:12 2017 +0300 @@ -244,7 +244,10 @@ return rc; } - if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, 0) != NGX_OK) { + if (ngx_http_subrequest(r, &r->uri, &r->args, &sr, NULL, + NGX_HTTP_SUBREQUEST_CLONE) + != NGX_OK) + { return NGX_ERROR; }