couple questions regarding log phase handlers
mdounin at mdounin.ru
Mon Jul 7 22:28:30 UTC 2014
On Mon, Jul 07, 2014 at 01:49:17PM -0700, bsfranks at gmail.com 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 http://nginx.org/r/$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
http://nginx.org/r/post_action for docs and the code for details.
More information about the nginx-devel