diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2015-03-23 21:09:19 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2015-03-23 21:09:19 +0300 |
commit | 2743bb68ee2e012a45d5084ccfea43b8bcb82eda (patch) | |
tree | ff34977446ff5ede088c3321136be352855fd102 /src/http/ngx_http_request.c | |
parent | d02d2cff9b26e87340e57b70dd534dbadd3ff876 (diff) | |
download | nginx-2743bb68ee2e012a45d5084ccfea43b8bcb82eda.tar.gz nginx-2743bb68ee2e012a45d5084ccfea43b8bcb82eda.zip |
Request body: unbuffered reading.
The r->request_body_no_buffering flag was introduced. It instructs
client request body reading code to avoid reading the whole body, and
to call post_handler early instead. The caller should use the
ngx_http_read_unbuffered_request_body() function to read remaining
parts of the body.
Upstream module is now able to use this mode, if configured with
the proxy_request_buffering directive.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r-- | src/http/ngx_http_request.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 0ee145dd6..9f98799a1 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2525,6 +2525,11 @@ ngx_http_finalize_connection(ngx_http_request_t *r) return; } + if (r->reading_body) { + r->keepalive = 0; + r->lingering_close = 1; + } + if (!ngx_terminate && !ngx_exiting && r->keepalive |