A patch to force the gunzip filter module work

Maxim Dounin mdounin at mdounin.ru
Wed Jan 23 16:11:15 UTC 2013


On Wed, Jan 23, 2013 at 11:46:56AM +0800, 姚伟斌 wrote:

> Hi,
> I have used the gunzip filter module to inflate the compressed response.
> This module is very efficient and help us a lot. But it It just work when
> the request don't send the Accept-Encoding: Gzip header. If the client can
> accept compressed response, it will not work at all. I have changed this
> module and added a gunzip_force directive. Then it will always inflate the
> compressed response when the directive is turned on.
> This patch could be helpful for other filter modules, like ssi module and
> substitute module etc. It can save the bandwidth with backend servers. In
> our company, the intranet bandwidth really kills us.
> This patch is from the separated gunzip module. It should be similar with
> the Nginx official source code. Hope this be helpful.

You probably seen this comment at the top of gunzip handler:

    /* TODO always gunzip - due to configuration or module request */

While configuration directive certainly will work, but it looks 
like a hack (and that's why it wasn't implemented).  I tend to 
think it would be much better to make things just happen 
automatically on module request, much like it's currently done 
with reading response body into memory once 
r->filter_need_in_memory is set by any filter.

Maxim Dounin

More information about the nginx-devel mailing list