Mercurial > hg > nginx
comparison src/http/ngx_http_parse.c @ 8664:f61d347158d0 quic
Merged with the default branch.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 15 Dec 2020 16:55:43 +0000 |
parents | 9dce2978e4fd 8989fbd2f89a |
children | e1eb7f4ca9f1 |
comparison
equal
deleted
inserted
replaced
8663:1823e2152fc4 | 8664:f61d347158d0 |
---|---|
379 break; | 379 break; |
380 case '/': | 380 case '/': |
381 r->uri_start = p; | 381 r->uri_start = p; |
382 state = sw_after_slash_in_uri; | 382 state = sw_after_slash_in_uri; |
383 break; | 383 break; |
384 case '?': | |
385 r->uri_start = p; | |
386 r->args_start = p + 1; | |
387 r->empty_path_in_uri = 1; | |
388 state = sw_uri; | |
389 break; | |
384 case ' ': | 390 case ' ': |
385 /* | 391 /* |
386 * use single "/" from request line to preserve pointers, | 392 * use single "/" from request line to preserve pointers, |
387 * if request line will be copied to large client buffer | 393 * if request line will be copied to large client buffer |
388 */ | 394 */ |
444 switch (ch) { | 450 switch (ch) { |
445 case '/': | 451 case '/': |
446 r->port_end = p; | 452 r->port_end = p; |
447 r->uri_start = p; | 453 r->uri_start = p; |
448 state = sw_after_slash_in_uri; | 454 state = sw_after_slash_in_uri; |
455 break; | |
456 case '?': | |
457 r->port_end = p; | |
458 r->uri_start = p; | |
459 r->args_start = p + 1; | |
460 r->empty_path_in_uri = 1; | |
461 state = sw_uri; | |
449 break; | 462 break; |
450 case ' ': | 463 case ' ': |
451 r->port_end = p; | 464 r->port_end = p; |
452 /* | 465 /* |
453 * use single "/" from request line to preserve pointers, | 466 * use single "/" from request line to preserve pointers, |
1286 state = sw_usual; | 1299 state = sw_usual; |
1287 p = r->uri_start; | 1300 p = r->uri_start; |
1288 u = r->uri.data; | 1301 u = r->uri.data; |
1289 r->uri_ext = NULL; | 1302 r->uri_ext = NULL; |
1290 r->args_start = NULL; | 1303 r->args_start = NULL; |
1304 | |
1305 if (r->empty_path_in_uri) { | |
1306 *u++ = '/'; | |
1307 } | |
1291 | 1308 |
1292 ch = *p++; | 1309 ch = *p++; |
1293 | 1310 |
1294 while (p <= r->uri_end) { | 1311 while (p <= r->uri_end) { |
1295 | 1312 |