couple questions regarding log phase handlers

Maxim Dounin mdounin at
Mon Jul 7 22:28:30 UTC 2014


On Mon, Jul 07, 2014 at 01:49:17PM -0700, bsfranks at wrote:

> In the log phase, what is the best way to determine if the client had
> prematurely closed or aborted the request connection?  To check
> r->connection->error and look for HTTP_BAD_REQUEST someplace?  Or possibly
> check one of the members of the connection read or write structs?

Probably r->request_complete, as used for the $request_completion 
variable, see$request_completion.

> Also, is the log phase resumable?  It looks like all the log phase handlers
> are looped through in
> ngx_http_log_request() called from ngx_http_free_request().  However,
> return codes are not checked.  Was hoping for a way to return NGX_AGAIN
> from within the log phase so that it could be resumable rather than
> blocking.  Possible?


> If not possible from within log phase, is there
> another phase or output filter location that takes place after content
> phase or content handlers have completed that is non-blocking and resumable?

I don't think there are good ways to do it.  Most relevant 
functionality seems to be post_action, see for docs and the code for details.

Maxim Dounin

More information about the nginx-devel mailing list