Mercurial > hg > nginx-quic
comparison src/http/v3/ngx_http_v3_parse.c @ 7960:5611bbb852ce quic
HTTP/3: simplifed handling ngx_http_v3_parse_literal() return code.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Fri, 03 Jul 2020 12:05:05 +0300 |
parents | fdb8edc8e496 |
children | 4fd709540daf |
comparison
equal
deleted
inserted
replaced
7959:fdb8edc8e496 | 7960:5611bbb852ce |
---|---|
622 break; | 622 break; |
623 | 623 |
624 case sw_value: | 624 case sw_value: |
625 | 625 |
626 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 626 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
627 | 627 if (rc != NGX_DONE) { |
628 if (rc == NGX_DONE) { | 628 return rc; |
629 st->value = st->literal.value; | 629 } |
630 goto done; | 630 |
631 } | 631 st->value = st->literal.value; |
632 | 632 goto done; |
633 if (rc != NGX_AGAIN) { | |
634 return rc; | |
635 } | |
636 | |
637 break; | |
638 } | 633 } |
639 | 634 |
640 return NGX_AGAIN; | 635 return NGX_AGAIN; |
641 | 636 |
642 done: | 637 done: |
701 break; | 696 break; |
702 | 697 |
703 case sw_name: | 698 case sw_name: |
704 | 699 |
705 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 700 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
706 | 701 if (rc != NGX_DONE) { |
707 if (rc == NGX_DONE) { | 702 return rc; |
708 st->name = st->literal.value; | 703 } |
709 st->state = sw_value_len; | 704 |
710 break; | 705 st->name = st->literal.value; |
711 } | 706 st->state = sw_value_len; |
712 | |
713 if (rc != NGX_AGAIN) { | |
714 return rc; | |
715 } | |
716 | |
717 break; | 707 break; |
718 | 708 |
719 case sw_value_len: | 709 case sw_value_len: |
720 | 710 |
721 st->literal.huffman = (ch & 0x80) ? 1 : 0; | 711 st->literal.huffman = (ch & 0x80) ? 1 : 0; |
739 break; | 729 break; |
740 | 730 |
741 case sw_value: | 731 case sw_value: |
742 | 732 |
743 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 733 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
744 | 734 if (rc != NGX_DONE) { |
745 if (rc == NGX_DONE) { | 735 return rc; |
746 st->value = st->literal.value; | 736 } |
747 goto done; | 737 |
748 } | 738 st->value = st->literal.value; |
749 | 739 goto done; |
750 if (rc != NGX_AGAIN) { | |
751 return rc; | |
752 } | |
753 | |
754 break; | |
755 } | 740 } |
756 | 741 |
757 return NGX_AGAIN; | 742 return NGX_AGAIN; |
758 | 743 |
759 done: | 744 done: |
874 break; | 859 break; |
875 | 860 |
876 case sw_value: | 861 case sw_value: |
877 | 862 |
878 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 863 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
879 | 864 if (rc != NGX_DONE) { |
880 if (rc == NGX_DONE) { | 865 return rc; |
881 st->value = st->literal.value; | 866 } |
882 goto done; | 867 |
883 } | 868 st->value = st->literal.value; |
884 | 869 goto done; |
885 if (rc != NGX_AGAIN) { | |
886 return rc; | |
887 } | |
888 | |
889 break; | |
890 } | 870 } |
891 | 871 |
892 return NGX_AGAIN; | 872 return NGX_AGAIN; |
893 | 873 |
894 done: | 874 done: |
1304 break; | 1284 break; |
1305 | 1285 |
1306 case sw_value: | 1286 case sw_value: |
1307 | 1287 |
1308 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 1288 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
1309 | 1289 if (rc != NGX_DONE) { |
1310 if (rc == NGX_DONE) { | 1290 return rc; |
1311 st->value = st->literal.value; | 1291 } |
1312 goto done; | 1292 |
1313 } | 1293 st->value = st->literal.value; |
1314 | 1294 goto done; |
1315 if (rc != NGX_AGAIN) { | |
1316 return rc; | |
1317 } | |
1318 | |
1319 break; | |
1320 } | 1295 } |
1321 | 1296 |
1322 return NGX_AGAIN; | 1297 return NGX_AGAIN; |
1323 | 1298 |
1324 done: | 1299 done: |
1380 break; | 1355 break; |
1381 | 1356 |
1382 case sw_name: | 1357 case sw_name: |
1383 | 1358 |
1384 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 1359 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
1385 | 1360 if (rc != NGX_DONE) { |
1386 if (rc == NGX_DONE) { | 1361 return rc; |
1387 st->name = st->literal.value; | 1362 } |
1388 st->state = sw_value_len; | 1363 |
1389 break; | 1364 st->name = st->literal.value; |
1390 } | 1365 st->state = sw_value_len; |
1391 | |
1392 if (rc != NGX_AGAIN) { | |
1393 return rc; | |
1394 } | |
1395 | |
1396 break; | 1366 break; |
1397 | 1367 |
1398 case sw_value_len: | 1368 case sw_value_len: |
1399 | 1369 |
1400 st->literal.huffman = (ch & 0x80) ? 1 : 0; | 1370 st->literal.huffman = (ch & 0x80) ? 1 : 0; |
1418 break; | 1388 break; |
1419 | 1389 |
1420 case sw_value: | 1390 case sw_value: |
1421 | 1391 |
1422 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); | 1392 rc = ngx_http_v3_parse_literal(c, &st->literal, ch); |
1423 | 1393 if (rc != NGX_DONE) { |
1424 if (rc == NGX_DONE) { | 1394 return rc; |
1425 st->value = st->literal.value; | 1395 } |
1426 goto done; | 1396 |
1427 } | 1397 st->value = st->literal.value; |
1428 | 1398 goto done; |
1429 if (rc != NGX_AGAIN) { | |
1430 return rc; | |
1431 } | |
1432 | |
1433 break; | |
1434 } | 1399 } |
1435 | 1400 |
1436 return NGX_AGAIN; | 1401 return NGX_AGAIN; |
1437 | 1402 |
1438 done: | 1403 done: |