Skip to content

Preserve 100-continue wait through 102 and 103 responses - #211

Open
AryanRG wants to merge 2 commits into
python-hyper:masterfrom
AryanRG:fix/early-hints-100-continue
Open

AryanRG wants to merge 2 commits into
python-hyper:masterfrom
AryanRG:fix/early-hints-100-continue

Conversation

@AryanRG

@AryanRG AryanRG commented Oct 17, 2026 •

Copy link
Copy Markdown

A request with Expect: 100-continue can receive 102 Processing or 103 Early Hints before the server asks for its body. Those interim responses do not tell the client to send content, but h11 currently clears the wait flag for every informational response. A server following the documented wait guard can then omit 100 Continue and wait for a body that the client has not sent.

Preserve the outstanding wait through non-100 informational responses. Keep the existing clearing behavior for 100 Continue, 101 Switching Protocols, final responses, and client body transmission. Update the API explanation and add regression cases for repeated 102/103 responses and subsequent flag clearing. The release note is named 211.bugfix.rst for this PR.

Validation:

  • New 102 and 103 cases failed on the pristine base; both pass with this change.
  • Full local suite: 80 passed on Python 3.9, 3.12, and 3.13.
  • Black, isort, mypy, and diff checks passed.
  • Local overall coverage remains 98.2%, the same as baseline; this does not establish the contributor guide target of 100%. Hosted CI and the remaining interpreter matrix are not yet run.

AI assistance was used to investigate, implement, test, and review this change.

@AryanRG
AryanRG marked this pull request as ready for review October 17, 2026 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant