diff options
| author | Roman Arutyunyan <arut@nginx.com> | 2020-03-27 19:41:06 +0300 |
|---|---|---|
| committer | Roman Arutyunyan <arut@nginx.com> | 2020-03-27 19:41:06 +0300 |
| commit | fa1e1beadca8b1ea900ec654919aea58762ab746 (patch) | |
| tree | 772a9443d24831a11fae49b2493a87fa6f6d4a94 /src/http/ngx_http_parse.c | |
| parent | 84a783501590e13ab27277e11f179067c08d38b3 (diff) | |
| download | nginx-fa1e1beadca8b1ea900ec654919aea58762ab746.tar.gz nginx-fa1e1beadca8b1ea900ec654919aea58762ab746.tar.bz2 | |
Parsing HTTP/3 request body.
Diffstat (limited to '')
| -rw-r--r-- | src/http/ngx_http_parse.c | 11 |
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; |
