# HG changeset patch # User Igor Sysoev # Date 1242990326 0 # Node ID 3cd2790f4a9b8e7f1abe1ccb3c8619b2f529da79 # Parent 658725e3eef41f9c0c52a97f951b65c8b3d66d7a add charset for ngx_http_gzip_static_module responses diff --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c --- a/src/http/modules/ngx_http_charset_filter_module.c +++ b/src/http/modules/ngx_http_charset_filter_module.c @@ -224,7 +224,8 @@ ngx_http_charset_header_filter(ngx_http_ if (r == r->main) { - if (r->headers_out.content_encoding + if (!r->ignore_content_encoding + && r->headers_out.content_encoding && r->headers_out.content_encoding->value.len) { return ngx_http_next_header_filter(r); diff --git a/src/http/modules/ngx_http_gzip_static_module.c b/src/http/modules/ngx_http_gzip_static_module.c --- a/src/http/modules/ngx_http_gzip_static_module.c +++ b/src/http/modules/ngx_http_gzip_static_module.c @@ -205,6 +205,7 @@ ngx_http_gzip_static_handler(ngx_http_re h->value.data = (u_char *) "gzip"; r->headers_out.content_encoding = h; + r->ignore_content_encoding = 1; /* we need to allocate all before the header would be sent */ diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h --- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -478,6 +478,7 @@ struct ngx_http_request_s { unsigned discard_body:1; unsigned internal:1; unsigned error_page:1; + unsigned ignore_content_encoding:1; unsigned filter_finalize:1; unsigned post_action:1; unsigned request_complete:1;