nxt_http_parse_test.c (454:82c827d1cd13) nxt_http_parse_test.c (480:11b28d6fc462)
1
2/*
3 * Copyright (C) NGINX, Inc.
4 * Copyright (C) Valentin V. Bartenev
5 */
6
7#include <nxt_main.h>
8#include "nxt_tests.h"

--- 87 unchanged lines hidden (view full) ---

96 nxt_null_string,
97 nxt_string(""),
98 "HTTP/1.0",
99 0, 0, 0, 0
100 }}
101 },
102 {
103 nxt_string("GEt / HTTP/1.0\r\n\r\n"),
1
2/*
3 * Copyright (C) NGINX, Inc.
4 * Copyright (C) Valentin V. Bartenev
5 */
6
7#include <nxt_main.h>
8#include "nxt_tests.h"

--- 87 unchanged lines hidden (view full) ---

96 nxt_null_string,
97 nxt_string(""),
98 "HTTP/1.0",
99 0, 0, 0, 0
100 }}
101 },
102 {
103 nxt_string("GEt / HTTP/1.0\r\n\r\n"),
104 NXT_ERROR,
104 NXT_HTTP_PARSE_INVALID,
105 NULL, { NULL }
106 },
107 {
108 nxt_string("GET /\0 HTTP/1.0\r\n\r\n"),
105 NULL, { NULL }
106 },
107 {
108 nxt_string("GET /\0 HTTP/1.0\r\n\r\n"),
109 NXT_ERROR,
109 NXT_HTTP_PARSE_INVALID,
110 NULL, { NULL }
111 },
112 {
113 nxt_string("GET /\r HTTP/1.0\r\n\r\n"),
110 NULL, { NULL }
111 },
112 {
113 nxt_string("GET /\r HTTP/1.0\r\n\r\n"),
114 NXT_ERROR,
114 NXT_HTTP_PARSE_INVALID,
115 NULL, { NULL }
116 },
117 {
118 nxt_string("GET /\n HTTP/1.0\r\n\r\n"),
115 NULL, { NULL }
116 },
117 {
118 nxt_string("GET /\n HTTP/1.0\r\n\r\n"),
119 NXT_ERROR,
119 NXT_HTTP_PARSE_INVALID,
120 NULL, { NULL }
121 },
122 {
123 nxt_string("GET / HTTP/1.0\r\r\n"),
120 NULL, { NULL }
121 },
122 {
123 nxt_string("GET / HTTP/1.0\r\r\n"),
124 NXT_ERROR,
124 NXT_HTTP_PARSE_INVALID,
125 NULL, { NULL }
126 },
127 {
128 nxt_string("GET /. HTTP/1.0\r\n\r\n"),
129 NXT_DONE,
130 &nxt_http_parse_test_request_line,
131 { .request_line = {
132 nxt_string("GET"),

--- 92 unchanged lines hidden (view full) ---

225 nxt_string("GET / HTTP/1.1\r\n"
226 "Host:\r\n\r\n"),
227 NXT_DONE,
228 NULL, { NULL }
229 },
230 {
231 nxt_string("GET / HTTP/1.1\r\n"
232 "Host example.com\r\n\r\n"),
125 NULL, { NULL }
126 },
127 {
128 nxt_string("GET /. HTTP/1.0\r\n\r\n"),
129 NXT_DONE,
130 &nxt_http_parse_test_request_line,
131 { .request_line = {
132 nxt_string("GET"),

--- 92 unchanged lines hidden (view full) ---

225 nxt_string("GET / HTTP/1.1\r\n"
226 "Host:\r\n\r\n"),
227 NXT_DONE,
228 NULL, { NULL }
229 },
230 {
231 nxt_string("GET / HTTP/1.1\r\n"
232 "Host example.com\r\n\r\n"),
233 NXT_ERROR,
233 NXT_HTTP_PARSE_INVALID,
234 NULL, { NULL }
235 },
236 {
237 nxt_string("GET / HTTP/1.1\r\n"
238 ":Host: example.com\r\n\r\n"),
234 NULL, { NULL }
235 },
236 {
237 nxt_string("GET / HTTP/1.1\r\n"
238 ":Host: example.com\r\n\r\n"),
239 NXT_ERROR,
239 NXT_HTTP_PARSE_INVALID,
240 NULL, { NULL }
241 },
242 {
243 nxt_string("GET / HTTP/1.1\r\n"
244 "Ho_st: example.com\r\n\r\n"),
245 NXT_DONE,
246 NULL, { NULL }
247 },
248 {
249 nxt_string("GET / HTTP/1.1\r\n"
250 "Ho\0st: example.com\r\n\r\n"),
240 NULL, { NULL }
241 },
242 {
243 nxt_string("GET / HTTP/1.1\r\n"
244 "Ho_st: example.com\r\n\r\n"),
245 NXT_DONE,
246 NULL, { NULL }
247 },
248 {
249 nxt_string("GET / HTTP/1.1\r\n"
250 "Ho\0st: example.com\r\n\r\n"),
251 NXT_ERROR,
251 NXT_HTTP_PARSE_INVALID,
252 NULL, { NULL }
253 },
254 {
255 nxt_string("GET / HTTP/1.1\r\n"
256 "Ho\rst: example.com\r\n\r\n"),
252 NULL, { NULL }
253 },
254 {
255 nxt_string("GET / HTTP/1.1\r\n"
256 "Ho\rst: example.com\r\n\r\n"),
257 NXT_ERROR,
257 NXT_HTTP_PARSE_INVALID,
258 NULL, { NULL }
259 },
260 {
261 nxt_string("GET / HTTP/1.1\r\n"
262 "Host: exa\0mple.com\r\n\r\n"),
258 NULL, { NULL }
259 },
260 {
261 nxt_string("GET / HTTP/1.1\r\n"
262 "Host: exa\0mple.com\r\n\r\n"),
263 NXT_ERROR,
263 NXT_HTTP_PARSE_INVALID,
264 NULL, { NULL }
265 },
266 {
267 nxt_string("GET / HTTP/1.1\r\n"
268 "Host: exa\rmple.com\r\n\r\n"),
264 NULL, { NULL }
265 },
266 {
267 nxt_string("GET / HTTP/1.1\r\n"
268 "Host: exa\rmple.com\r\n\r\n"),
269 NXT_ERROR,
269 NXT_HTTP_PARSE_INVALID,
270 NULL, { NULL }
271 },
272 {
273 nxt_string("GET / HTTP/1.1\r\n"
274 "X-Unknown-Header: value\r\n"
275 "X-Good-Header: value\r\n\r\n"),
276 NXT_DONE,
277 &nxt_http_parse_test_fields,

--- 498 unchanged lines hidden ---
270 NULL, { NULL }
271 },
272 {
273 nxt_string("GET / HTTP/1.1\r\n"
274 "X-Unknown-Header: value\r\n"
275 "X-Good-Header: value\r\n\r\n"),
276 NXT_DONE,
277 &nxt_http_parse_test_fields,

--- 498 unchanged lines hidden ---