aboutsummaryrefslogtreecommitdiff
path: root/src/http/v3/ngx_http_v3_request.c
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2020-05-19 15:47:37 +0300
committerRoman Arutyunyan <arut@nginx.com>2020-05-19 15:47:37 +0300
commitd6b6b6dfc57c916dc7990504fffe71248421456d (patch)
tree602a577d135b3b1d61507f91c5e68d7f9324b1ee /src/http/v3/ngx_http_v3_request.c
parentd25937c2b596013874fcb049f10b28270ee49e29 (diff)
downloadnginx-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.c2
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;
}