diff options
Diffstat (limited to 'src/http/ngx_http_request_body.c')
| -rw-r--r-- | src/http/ngx_http_request_body.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c index c54674eb9..9f1260c6f 100644 --- a/src/http/ngx_http_request_body.c +++ b/src/http/ngx_http_request_body.c @@ -37,6 +37,9 @@ ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r) /* the whole request body was pre-read */ r->header_in->pos += r->headers_in.content_length_n; + + r->request_body->handler(r->request_body->data); + return NGX_OK; } @@ -84,6 +87,11 @@ static void ngx_http_read_client_request_body_handler(ngx_event_t *rev) c = rev->data; r = c->data; + if (rev->timedout) { + ngx_http_finalize_request(r, NGX_HTTP_REQUEST_TIME_OUT); + return; + } + rc = ngx_http_do_read_client_request_body(r); if (rc >= NGX_HTTP_SPECIAL_RESPONSE) { |
