diff options
author | Roman Arutyunyan <arut@nginx.com> | 2020-05-19 15:47:37 +0300 |
---|---|---|
committer | Roman Arutyunyan <arut@nginx.com> | 2020-05-19 15:47:37 +0300 |
commit | d6b6b6dfc57c916dc7990504fffe71248421456d (patch) | |
tree | 602a577d135b3b1d61507f91c5e68d7f9324b1ee /src/http/ngx_http_parse.c | |
parent | d25937c2b596013874fcb049f10b28270ee49e29 (diff) | |
download | nginx-d6b6b6dfc57c916dc7990504fffe71248421456d.tar.gz nginx-d6b6b6dfc57c916dc7990504fffe71248421456d.zip |
Fixed $request_length for HTTP/3.
New field r->parse_start is introduced to substitute r->request_start and
r->header_name_start for request length accounting. These fields only work for
this purpose in HTTP/1 because HTTP/1 request line and header line start with
these values.
Also, error logging is now fixed to output the right part of the request.
Diffstat (limited to 'src/http/ngx_http_parse.c')
-rw-r--r-- | src/http/ngx_http_parse.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c index f66593443..b59a6ce4c 100644 --- a/src/http/ngx_http_parse.c +++ b/src/http/ngx_http_parse.c @@ -143,6 +143,7 @@ ngx_http_parse_request_line(ngx_http_request_t *r, ngx_buf_t *b) /* HTTP methods: GET, HEAD, POST */ case sw_start: + r->parse_start = p; r->request_start = p; r->method_start = p; @@ -883,6 +884,7 @@ ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b, /* first char */ case sw_start: + r->parse_start = p; r->header_name_start = p; r->invalid_header = 0; |