diff src/http/ngx_http_request_body.c @ 24:420dd3f9e703 NGINX_0_1_12

nginx 0.1.12 *) Feature: the %request_length log parameter. *) Bugfix: when using the /dev/poll, select and poll on the platforms, where these methods may do the false reports, there may be the long delay when the request was passed via the keep-alive connection. It may be at least on Solaris when using the /dev/poll. *) Bugfix: the send_lowat directive is ignored on Linux because Linux does not support the SO_SNDLOWAT option.
author Igor Sysoev <http://sysoev.ru>
date Mon, 06 Dec 2004 00:00:00 +0300
parents 46833bd150cb
children 7ca9bdc82b3f
line wrap: on
line diff
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -42,6 +42,7 @@ ngx_int_t ngx_http_read_client_request_b
             /* the whole request body was pre-read */
 
             r->header_in->pos += r->headers_in.content_length_n;
+            r->request_length += r->headers_in.content_length_n;
 
             r->request_body->handler(r->request_body->data);
 
@@ -49,6 +50,7 @@ ngx_int_t ngx_http_read_client_request_b
         }
 
         r->header_in->pos = r->header_in->last;
+        r->request_length += size;
     }
 
 
@@ -173,6 +175,7 @@ static ngx_int_t ngx_http_do_read_client
 
         r->request_body->buf->last += n;
         r->request_body->rest -= n;
+        r->request_length += n;
 
         if (r->request_body->rest == 0) {
             break;