annotate src/http/v3/ngx_http_v3_parse.h @ 8880:a09bcc304eef quic

HTTP/3: fixed request length calculation. Previously, when request was blocked, r->request_length was not updated.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 06 Oct 2021 14:51:16 +0300
parents d6e191a583cc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
1
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
2 /*
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
3 * Copyright (C) Roman Arutyunyan
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
4 * Copyright (C) Nginx, Inc.
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
5 */
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
6
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
7
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
8 #ifndef _NGX_HTTP_V3_PARSE_H_INCLUDED_
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
9 #define _NGX_HTTP_V3_PARSE_H_INCLUDED_
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
10
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
11
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
12 #include <ngx_config.h>
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
13 #include <ngx_core.h>
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
14 #include <ngx_http.h>
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
15
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
16
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
17 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
18 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
19 uint64_t value;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
20 } ngx_http_v3_parse_varlen_int_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
21
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
22
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
23 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
24 ngx_uint_t state;
8455
b0e81f49d7c0 HTTP/3: fixed prefixed integer encoding and decoding.
Roman Arutyunyan <arut@nginx.com>
parents: 8295
diff changeset
25 ngx_uint_t shift;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
26 uint64_t value;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
27 } ngx_http_v3_parse_prefix_int_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
28
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
29
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
30 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
31 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
32 uint64_t id;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
33 ngx_http_v3_parse_varlen_int_t vlint;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
34 } ngx_http_v3_parse_settings_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
35
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
36
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
37 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
38 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
39 ngx_uint_t insert_count;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
40 ngx_uint_t delta_base;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
41 ngx_uint_t sign;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
42 ngx_uint_t base;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
43 ngx_http_v3_parse_prefix_int_t pint;
8807
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
44 } ngx_http_v3_parse_field_section_prefix_t;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
45
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
46
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
47 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
48 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
49 ngx_uint_t length;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
50 ngx_uint_t huffman;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
51 ngx_str_t value;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
52 u_char *last;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
53 u_char huffstate;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
54 } ngx_http_v3_parse_literal_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
55
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
56
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
57 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
58 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
59 ngx_uint_t index;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
60 ngx_uint_t base;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
61 ngx_uint_t dynamic;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
62
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
63 ngx_str_t name;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
64 ngx_str_t value;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
65
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
66 ngx_http_v3_parse_prefix_int_t pint;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
67 ngx_http_v3_parse_literal_t literal;
8807
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
68 } ngx_http_v3_parse_field_t;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
69
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
70
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
71 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
72 ngx_uint_t state;
8807
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
73 ngx_http_v3_parse_field_t field;
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
74 } ngx_http_v3_parse_field_rep_t;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
75
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
76
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
77 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
78 ngx_uint_t state;
8549
d70a38acaea0 HTTP/3: skip unknown frames on request stream.
Roman Arutyunyan <arut@nginx.com>
parents: 8460
diff changeset
79 ngx_uint_t type;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
80 ngx_uint_t length;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
81 ngx_http_v3_parse_varlen_int_t vlint;
8807
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
82 ngx_http_v3_parse_field_section_prefix_t prefix;
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
83 ngx_http_v3_parse_field_rep_t field_rep;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
84 } ngx_http_v3_parse_headers_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
85
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
86
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
87 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
88 ngx_uint_t state;
8807
0ac25efb2da3 HTTP/3: quic-qpack term updates.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8772
diff changeset
89 ngx_http_v3_parse_field_t field;
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
90 ngx_http_v3_parse_prefix_int_t pint;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
91 } ngx_http_v3_parse_encoder_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
92
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
93
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
94 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
95 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
96 ngx_http_v3_parse_prefix_int_t pint;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
97 } ngx_http_v3_parse_decoder_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
98
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
99
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
100 typedef struct {
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
101 ngx_uint_t state;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
102 ngx_uint_t type;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
103 ngx_uint_t length;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
104 ngx_http_v3_parse_varlen_int_t vlint;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
105 ngx_http_v3_parse_settings_t settings;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
106 } ngx_http_v3_parse_control_t;
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
107
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
108
8295
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
109 typedef struct {
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
110 ngx_uint_t state;
8772
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
111 ngx_http_v3_parse_varlen_int_t vlint;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
112 union {
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
113 ngx_http_v3_parse_encoder_t encoder;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
114 ngx_http_v3_parse_decoder_t decoder;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
115 ngx_http_v3_parse_control_t control;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
116 } u;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
117 } ngx_http_v3_parse_uni_t;
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
118
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
119
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
120 typedef struct {
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
121 ngx_uint_t state;
8549
d70a38acaea0 HTTP/3: skip unknown frames on request stream.
Roman Arutyunyan <arut@nginx.com>
parents: 8460
diff changeset
122 ngx_uint_t type;
8295
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
123 ngx_uint_t length;
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
124 ngx_http_v3_parse_varlen_int_t vlint;
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
125 } ngx_http_v3_parse_data_t;
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
126
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
127
8460
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
128 /*
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
129 * Parse functions return codes:
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
130 * NGX_DONE - parsing done
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
131 * NGX_OK - sub-element done
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
132 * NGX_AGAIN - more data expected
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
133 * NGX_BUSY - waiting for external event
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
134 * NGX_ERROR - internal error
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
135 * NGX_HTTP_V3_ERROR_XXX - HTTP/3 or QPACK error
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
136 */
72f9ff4e0a88 HTTP/3: close QUIC connection with HTTP/QPACK errors when needed.
Roman Arutyunyan <arut@nginx.com>
parents: 8455
diff changeset
137
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
138 ngx_int_t ngx_http_v3_parse_headers(ngx_connection_t *c,
8838
d6e191a583cc HTTP/3: bulk parse functions.
Roman Arutyunyan <arut@nginx.com>
parents: 8807
diff changeset
139 ngx_http_v3_parse_headers_t *st, ngx_buf_t *b);
8295
5649079a41f4 Parsing HTTP/3 request body.
Roman Arutyunyan <arut@nginx.com>
parents: 8226
diff changeset
140 ngx_int_t ngx_http_v3_parse_data(ngx_connection_t *c,
8838
d6e191a583cc HTTP/3: bulk parse functions.
Roman Arutyunyan <arut@nginx.com>
parents: 8807
diff changeset
141 ngx_http_v3_parse_data_t *st, ngx_buf_t *b);
8772
345370fdd32d HTTP/3: moved parsing uni stream type to ngx_http_v3_parse.c.
Roman Arutyunyan <arut@nginx.com>
parents: 8666
diff changeset
142 ngx_int_t ngx_http_v3_parse_uni(ngx_connection_t *c,
8838
d6e191a583cc HTTP/3: bulk parse functions.
Roman Arutyunyan <arut@nginx.com>
parents: 8807
diff changeset
143 ngx_http_v3_parse_uni_t *st, ngx_buf_t *b);
8666
ab6aaa8e86b0 HTTP/3: staticize internal parsing functions.
Sergey Kandaurov <pluknet@nginx.com>
parents: 8549
diff changeset
144
8226
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
145
268f4389130d Refactored HTTP/3 parser.
Roman Arutyunyan <arut@nginx.com>
parents:
diff changeset
146 #endif /* _NGX_HTTP_V3_PARSE_H_INCLUDED_ */