[dev] status line processing in filter module

Manlio Perillo manlio_perillo at libero.it
Fri Oct 19 16:55:59 MSD 2007


When trying to enable support for Last-Modified validation in mod_wsgi I 
have found this code in the filter module:

/* status line */

     if (r->headers_out.status_line.len) {
         len += r->headers_out.status_line.len;
         status = NGX_INVALID_ARRAY_INDEX;

     } else {

The problem here is that the WSGI application returns a full status line 
(including the Reason-Phrase).

This means that the not_modified_filter has no effect, since nginx will 
not set the status_code to NGX_HTTP_NOT_MODIFIED and r->header_only = 1.

Of course in mod_wsgi I can just ignore the Reason-Phrase.

One last thing: does Nginx supports the Etag validation?

Thanks  Manlio Perillo

More information about the nginx mailing list