c->error on 412 responses from not_modified_filter
mdounin at mdounin.ru
Mon Aug 31 02:06:55 UTC 2020
On Thu, Aug 27, 2020 at 06:37:56AM +0000, am55444 wrote:
> I am trying to understand reasoning behind nginx setting ngx_connection_t->error (via filter_finalize check in ngx_http_finalize_request) for 412 responses in ngx_http_not_modified_filter.
> From the initial introduction of filter_finalize, looks like it was intended to handle large responses for image filter. However I couldn't find c->error being read anywhere after ngx_http_terminate_request (which is called from ngx_http_finalize_request).
> Can someone please point me to the right direction?
The c->error flag is set by filter finalization to prevent further
output of the original response after the response produced by the
filter finalization is sent. The c->error flag is tested by the
(Note that this is a hack / a misuse of the c->error flag. And
this hack is known to cause various bad effects. Notably, it
prevents connections from being kept alive.)
More information about the nginx-devel