Skip to content

fix(connect): admit at headers and cancel abandoned calls - #122

Merged
antoinetoussaint-byte merged 1 commit into
codefly-dev:mainfrom
gael-obin:fix/connect-arrival-cancellation
Oct 28, 2026
Merged

antoinetoussaint-byte merged 1 commit into
codefly-dev:mainfrom
gael-obin:fix/connect-arrival-cancellation

Conversation

@gael-obin

Copy link
Copy Markdown
Contributor

Connect HTTP/1 calls currently wait for the full body before the existing gRPC interceptor can admit them, and an HTTP disconnect can leave downstream work running. Start the single downstream call at headers, enforce a total body budget, and cancel that same call when the browser disconnects. Reject unsupported cardinality before starting any backend call.

This is a fix at the Python FastAPI transport owner. It reuses the gRPC interceptor's admission and cancellation; it introduces no authority check or replay ledger in the Connect face. Bounds, pipelining and early refusal handling remain explicit.

Closes #121 after release/adoption. Robin's consumer tests expose header-admission, body-deadline and cancellation failures with the released generator; the consumer must select a published version and regenerate through Codefly, not patch generated code.

Validation: go test -count=1 -run '^TestConnectFaceServesEveryProtocol$' . passed against current main (44.241s), running the complete Python transport suite. The template/test hashes match the independently reviewed local fix: 9fcff20508a41f1f64d8760239dcdadceb5b87876d581aeecc5d7a439d902370 / d25130494b2eb5581f6c9557c724ee049a13be92a39bfd4d02a85876a6a4b118. That earlier focused review exercised cardinality counterexamples, body arrival, cancellation and total budget. Full owner CI and release qualification remain required.

Publication requires owner review, a normal tagged release and consumer selection. This account cannot push/merge the owner repository, so the tested change is submitted from a fork. No release tag has been created.

@antoinetoussaint-byte
antoinetoussaint-byte merged commit 186d9a8 into codefly-dev:main Oct 28, 2026
4 checks passed
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.

connect_gen.py admission fix exists only in an unpublished 0.0.124-dev build; a sync at a released version drops it

2 participants