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/v3/ngx_http_v3_request.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/v3/ngx_http_v3_request.c')
-rw-r--r-- | src/http/v3/ngx_http_v3_request.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/v3/ngx_http_v3_request.c b/src/http/v3/ngx_http_v3_request.c index 59b8ce5b8..432bc8711 100644 --- a/src/http/v3/ngx_http_v3_request.c +++ b/src/http/v3/ngx_http_v3_request.c @@ -59,6 +59,7 @@ ngx_http_v3_parse_request(ngx_http_request_t *r, ngx_buf_t *b) } r->h3_parse = st; + r->parse_start = b->pos; } while (b->pos < b->last) { @@ -130,6 +131,7 @@ ngx_http_v3_parse_header(ngx_http_request_t *r, ngx_buf_t *b, st = r->h3_parse; if (st->header_rep.state == 0) { + r->parse_start = b->pos; r->invalid_header = 0; } |