Commit 07b5c9a
committed
Sever a superseded POST instead of guarding one resolution path
Re-issuing a request id (legal once its waiter was popped) now cancels the
superseded POST's scope at registration, so a zombie stream cannot answer,
fail, or resolve the successor's request through any exit: a late real
response, a status-derived error, a parse error, a reconnection replay, or
the synthesized stream-death resolution. This replaces the narrower identity
guard inside _resolve_abandoned_request, which covered only its own callers;
the guard, the RequestContext.in_flight_post threading, and the ctx-taking
signature all revert.
Also give the synthesized-error helper a code parameter: a 202 to a request
is a server-shape violation, not a connection loss, so it now resolves with
INVALID_REQUEST, matching the unexpected-content-type precedent and the
CONNECTION_CLOSED constant's own contract.1 parent f6b5295 commit 07b5c9a
2 files changed
Lines changed: 35 additions & 49 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
75 | | - | |
76 | 74 | | |
77 | 75 | | |
78 | 76 | | |
| |||
334 | 332 | | |
335 | 333 | | |
336 | 334 | | |
337 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
338 | 339 | | |
339 | 340 | | |
340 | 341 | | |
| |||
453 | 454 | | |
454 | 455 | | |
455 | 456 | | |
456 | | - | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
457 | 460 | | |
458 | | - | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
459 | 464 | | |
460 | 465 | | |
461 | | - | |
462 | | - | |
463 | | - | |
464 | | - | |
465 | | - | |
| 466 | + | |
466 | 467 | | |
467 | | - | |
468 | | - | |
469 | | - | |
470 | | - | |
| 468 | + | |
471 | 469 | | |
472 | 470 | | |
473 | | - | |
| 471 | + | |
474 | 472 | | |
475 | 473 | | |
476 | 474 | | |
| |||
491 | 489 | | |
492 | 490 | | |
493 | 491 | | |
494 | | - | |
| 492 | + | |
495 | 493 | | |
496 | 494 | | |
497 | 495 | | |
| |||
599 | 597 | | |
600 | 598 | | |
601 | 599 | | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
602 | 606 | | |
603 | | - | |
604 | 607 | | |
605 | 608 | | |
606 | 609 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
631 | 632 | | |
632 | 633 | | |
633 | 634 | | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | 635 | | |
652 | 636 | | |
653 | 637 | | |
| |||
666 | 650 | | |
667 | 651 | | |
668 | 652 | | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
676 | 660 | | |
677 | 661 | | |
678 | 662 | | |
| |||
683 | 667 | | |
684 | 668 | | |
685 | 669 | | |
686 | | - | |
687 | | - | |
688 | | - | |
| 670 | + | |
689 | 671 | | |
690 | 672 | | |
691 | | - | |
| 673 | + | |
692 | 674 | | |
693 | 675 | | |
694 | 676 | | |
695 | 677 | | |
696 | 678 | | |
697 | | - | |
| 679 | + | |
698 | 680 | | |
699 | 681 | | |
700 | 682 | | |
701 | 683 | | |
702 | | - | |
703 | | - | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
704 | 687 | | |
705 | 688 | | |
706 | 689 | | |
| |||
717 | 700 | | |
718 | 701 | | |
719 | 702 | | |
720 | | - | |
| 703 | + | |
721 | 704 | | |
722 | 705 | | |
723 | 706 | | |
| |||
0 commit comments