[mod_wsgi] header filter
Igor Sysoev
is at rambler-co.ru
Fri Oct 19 19:29:28 MSD 2007
On Fri, Oct 19, 2007 at 05:07:37PM +0200, Manlio Perillo wrote:
> I'm trying to define a custom header filter in mod_wsgi, but my filter
> is not called.
>
> Is this supported?
Yes, of course. It's seems that your module set in filter chain too late -
after ngx_htpt_header_filter_module.
If you use "config" file configuration, you need to write there:
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_YOUR_filter_module"
> The filter is very simple, and I need it since Ningx does not set the
> r->header_only flag:
>
>
> static
> ngx_int_t ngx_http_wsgi_header_filter(ngx_http_request_t *r) {
> /*
> * A custom filter to enable cache validation in mod_wsgi.
> *
> * NOTE: this header filter SHOULD be executed after the
> * not_modified header filter.
> */
>
> if (r->headers_out.status != NGX_HTTP_NOT_MODIFIED) {
> return ngx_http_next_header_filter(r);
> }
>
> if (r->headers_out.status < NGX_HTTP_MOVED_PERMANENTLY) {
> /* 2XX */
> r->header_only = 1;
>
> /* XXX check me */
> r->headers_out.content_type.len = 0;
> r->headers_out.content_type.data = NULL;
> r->headers_out.last_modified_time = -1;
> r->headers_out.last_modified = NULL;
> r->headers_out.content_length = NULL;
> r->headers_out.content_length_n = -1;
> } else if (r->headers_out.status < NGX_HTTP_BAD_REQUEST) {
> r->header_only = 1;
> }
>
> return ngx_http_next_header_filter(r);
> }
>
>
>
> Thanks and regards Manlio Perillo
>
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list