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