Range filter: only initialize ctx->ranges in main request.

It is not necessary to initialize ctx->ranges in all request, because
ctx->ranges in subrequest will be reassigned to ctx->ranges of main
request.
This commit is contained in:
hucongcong 2016-11-10 10:44:52 +08:00
parent 42298aeb13
commit 8f8a07f080

View File

@ -224,12 +224,6 @@ parse:
ctx->offset = r->headers_out.content_offset; ctx->offset = r->headers_out.content_offset;
if (ngx_array_init(&ctx->ranges, r->pool, 1, sizeof(ngx_http_range_t))
!= NGX_OK)
{
return NGX_ERROR;
}
ranges = r->single_range ? 1 : clcf->max_ranges; ranges = r->single_range ? 1 : clcf->max_ranges;
switch (ngx_http_range_parse(r, ctx, ranges)) { switch (ngx_http_range_parse(r, ctx, ranges)) {
@ -291,6 +285,12 @@ ngx_http_range_parse(ngx_http_request_t *r, ngx_http_range_filter_ctx_t *ctx,
} }
} }
if (ngx_array_init(&ctx->ranges, r->pool, 1, sizeof(ngx_http_range_t))
!= NGX_OK)
{
return NGX_ERROR;
}
p = r->headers_in.range->value.data + 6; p = r->headers_in.range->value.data + 6;
size = 0; size = 0;
content_length = r->headers_out.content_length_n; content_length = r->headers_out.content_length_n;