summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_parse.c
diff options
context:
space:
mode:
authorRoman Arutyunyan <arut@nginx.com>2020-03-27 19:41:06 +0300
committerRoman Arutyunyan <arut@nginx.com>2020-03-27 19:41:06 +0300
commitfa1e1beadca8b1ea900ec654919aea58762ab746 (patch)
tree772a9443d24831a11fae49b2493a87fa6f6d4a94 /src/http/ngx_http_parse.c
parent84a783501590e13ab27277e11f179067c08d38b3 (diff)
downloadnginx-fa1e1beadca8b1ea900ec654919aea58762ab746.tar.gz
nginx-fa1e1beadca8b1ea900ec654919aea58762ab746.tar.bz2
Parsing HTTP/3 request body.
Diffstat (limited to '')
-rw-r--r--src/http/ngx_http_parse.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/http/ngx_http_parse.c b/src/http/ngx_http_parse.c
index 28aa8b0dd..92bcf12ad 100644
--- a/src/http/ngx_http_parse.c
+++ b/src/http/ngx_http_parse.c
@@ -2185,6 +2185,12 @@ ngx_http_parse_chunked(ngx_http_request_t *r, ngx_buf_t *b,
sw_trailer_header_almost_done
} state;
+#if (NGX_HTTP_V3)
+ if (r->http_version == NGX_HTTP_VERSION_30) {
+ return ngx_http_v3_parse_request_body(r, b, ctx);
+ }
+#endif
+
state = ctx->state;
if (state == sw_chunk_data && ctx->size == 0) {
@@ -2371,6 +2377,11 @@ ngx_http_parse_chunked(ngx_http_request_t *r, ngx_buf_t *b,
}
}
+ if (b->last_buf) {
+ /* XXX client prematurely closed connection */
+ return NGX_ERROR;
+ }
+
data:
ctx->state = state;