# HG changeset patch # User Igor Sysoev # Date 1258377730 0 # Node ID e0bc43a5238269bbb9cd07a6549aaa7f41fcdf6e # Parent b3aaccf50be22d48da0446c5aca076a713797da6 backout r3325: postpone filter is a body only filter diff --git a/src/http/modules/ngx_http_chunked_filter_module.c b/src/http/modules/ngx_http_chunked_filter_module.c --- a/src/http/modules/ngx_http_chunked_filter_module.c +++ b/src/http/modules/ngx_http_chunked_filter_module.c @@ -53,6 +53,7 @@ ngx_http_chunked_header_filter(ngx_http_ if (r->headers_out.status == NGX_HTTP_NOT_MODIFIED || r->headers_out.status == NGX_HTTP_NO_CONTENT || r->headers_out.status == NGX_HTTP_CREATED + || r != r->main || (r->method & NGX_HTTP_HEAD)) { return ngx_http_next_header_filter(r); diff --git a/src/http/modules/ngx_http_range_filter_module.c b/src/http/modules/ngx_http_range_filter_module.c --- a/src/http/modules/ngx_http_range_filter_module.c +++ b/src/http/modules/ngx_http_range_filter_module.c @@ -151,6 +151,7 @@ ngx_http_range_header_filter(ngx_http_re if (r->http_version < NGX_HTTP_VERSION_10 || r->headers_out.status != NGX_HTTP_OK + || r != r->main || r->headers_out.content_length_n == -1 || !r->allow_ranges) { diff --git a/src/http/ngx_http_header_filter_module.c b/src/http/ngx_http_header_filter_module.c --- a/src/http/ngx_http_header_filter_module.c +++ b/src/http/ngx_http_header_filter_module.c @@ -176,6 +176,10 @@ ngx_http_header_filter(ngx_http_request_ r->header_sent = 1; + if (r != r->main) { + return NGX_OK; + } + if (r->http_version < NGX_HTTP_VERSION_10) { return NGX_OK; }