A patch to force the gunzip filter module work
mdounin at mdounin.ru
Wed Jan 23 16:11:15 UTC 2013
On Wed, Jan 23, 2013 at 11:46:56AM +0800, 姚伟斌 wrote:
> 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.
More information about the nginx-devel