diff src/http/ngx_http_parse.c @ 7761:5649079a41f4 quic

Parsing HTTP/3 request body.
author Roman Arutyunyan <arut@nginx.com>
date Fri, 27 Mar 2020 19:41:06 +0300
parents 38c0898b6df7
children e5d4f057a6cb
line wrap: on
line diff
--- 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_
         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_
         }
     }
 
+    if (b->last_buf) {
+        /* XXX client prematurely closed connection */
+        return NGX_ERROR;
+    }
+
 data:
 
     ctx->state = state;