Skip to content

Enable extended CONNECT bodies on h2c Upgrade - #1331

Merged
fewensa merged 1 commit into
mainfrom
codeon/fewensa/FWN-13/a1-89760e63c3344672b05c752356e96c87
Oct 1, 2026
Merged

fewensa merged 1 commit into
mainfrom
codeon/fewensa/FWN-13/a1-89760e63c3344672b05c752356e96c87

Conversation

@fewensa

@fewensa fewensa commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Allow buffered RFC 8441 extended CONNECT requests to use the HTTP/1.1 Upgrade h2c path, including empty HEADERS END_STREAM and non-empty DATA bodies, while preserving bodyless HTTP/1.1 Upgrade negotiation, streaming/proxy rejection, and existing stream/shutdown validation.

Add synchronous and asynchronous client regressions plus cross-crate real-server parity coverage for empty and non-empty Upgrade bodies. Update client and README documentation.

Validation:

  • cargo fmt --all -- --check
  • cargo test -p rttp_client --features "http2,async" --test http2_prior_knowledge extended_connect
  • cargo test -p rttp --features "http2,async" --test http2_feature cross_crate_h2c_extended_connect
  • cargo test -p rttp --features "http2,async" --test http2_feature h2c_upgrade
  • cargo test -p rttp_client --features "http2,async" --test http2_prior_knowledge http2_upgrade

codeon:
  version: 1
  authority: FWN-13
  description: |-
    Lift the buffered extended CONNECT restriction on the HTTP/1.1 Upgrade h2c client path while retaining streaming and proxy rejection. Add sync, async, and real-server parity coverage for empty and fragmented request bodies, and align the public documentation.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@fewensa
fewensa merged commit a8590d1 into main Oct 1, 2026
19 checks passed
@fewensa
fewensa deleted the codeon/fewensa/FWN-13/a1-89760e63c3344672b05c752356e96c87 branch October 1, 2026 09:21
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