Gunzip filter module

Hello!

I’m pleased to announce gunzip filter module.

This module allows gunzipping responses returned with
Content-Encoding: gzip for clients that doesn’t support it. It
may be usefull if you prefer to store data compressed (to save
space or disk/network IO) but do not want to penalize clients
without gzip support.

Using it should be as simple as:

location /store/ {
    gunzip on;
    proxy_pass http://backend-which-returns-gzipped-content;
}

Note well: only responses with Content-Encoding set to gzip before
this module are handled (e.g. using “add_header Content-Encoding
gzip;” isn’t enough as it happens after). As of now only proxy
and fastcgi are able to do so out of the box. With the following
patches

http://nginx.org/pipermail/nginx-devel/2009-December/000055.html
http://nginx.org/pipermail/nginx-devel/2009-December/000064.html
http://nginx.org/pipermail/nginx-devel/2009-December/000065.html

it will be able to work with perl, static files and memcached
respectively.

This module was designed to work with nginx 0.8.* (though it
should work with 0.7.* too).

You may browse source code repository here:

http://mdounin.ru/hg/ngx_http_gunzip_filter_module/

Download is here:

http://mdounin.ru/files/ngx_http_gunzip_filter_module-0.1.tar.gz

MD5 (ngx_http_gunzip_filter_module-0.1.tar.gz) =
958dc44c287d9f4b5dc63c055144126c
SHA256 (ngx_http_gunzip_filter_module-0.1.tar.gz) =
3ab322c2e3266e0ea0be1b12ff4a29b2c70d681ec897bd8b60d42dab551bf860
SIZE (ngx_http_gunzip_filter_module-0.1.tar.gz) = 6927

Maxim D.