changeset 2877:3cd2790f4a9b

add charset for ngx_http_gzip_static_module responses
author Igor Sysoev <igor@sysoev.ru>
date Fri, 22 May 2009 11:05:26 +0000
parents 658725e3eef4
children 8535736ace1a
files src/http/modules/ngx_http_charset_filter_module.c src/http/modules/ngx_http_gzip_static_module.c src/http/ngx_http_request.h
diffstat 3 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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 */
 
--- 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;