Repository navigation
Harden HTTP/2 header forwarding and validate capture scripting - #150
Open
emilymattlin-mcrsft wants to merge 5 commits into
Open
emilymattlin-mcrsft wants to merge 5 commits into
emilymattlin-mcrsft wants to merge 5 commits into
Conversation
Remove Connection-nominated headers from regular intercepted requests and responses, including content headers, without mutating captured headers. Add real proxy coverage for both protocol legs, buffered binary bodies and script edits, multiplexed capture correlation, and per-stream cancellation. Document the buffered HTTP/2 scope and remaining limitations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3d56eb25-17ed-44e3-9b70-34ac3a92243a
Preserve the HTTP/2 capture matrix alongside the merged chunked-metadata regressions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3d56eb25-17ed-44e3-9b70-34ac3a92243a
Project Connection tokens to trimmed names before filtering without changing forwarding behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3d56eb25-17ed-44e3-9b70-34ac3a92243a
Allow simultaneous upstream request and response transport for buffered bodies. Cover graceful origin retirement, resets, timeouts, canceled uploads, early rejection and repeated concurrent binary transfers. Document the buffered support boundary and remaining live-device acceptance checks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3d56eb25-17ed-44e3-9b70-34ac3a92243a
Build the Connection token set with explicit projection and filtering. Extract a non-null stream ID through a typed test assertion before checking uniqueness. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3d56eb25-17ed-44e3-9b70-34ac3a92243a
emilymattlin-mcrsft
marked this pull request as ready for review
October 30, 2026 22:31
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Harden the existing native HTTP/2 implementation for buffered HTTPS capture and editing; this builds on #117 rather than introducing HTTP/2 for the first time.
Connectionwhen forwarding intercepted HTTPS requests and responses, including content headers after script callbacks. Captured model headers are retained.Coverage
Validation
Follow-up review commit
27c5dfepasses all 71 HTTP/2 tests in both Debug and Release. All GitHub checks on this latest commit are green, including Debug/Release builds and tests, CodeQL, dependency review, and CLA. All three review threads have been addressed and resolved.GitHub checks are green on commit
56f6c3f: Debug/Release builds and tests, CodeQL analyses, dependency review, and CLA.git diff --checkpasses.Acceptance still outstanding
The tests use synthetic loopback traffic. They do not establish live Xbox/device, GUI, or long-session acceptance. The README contains the manual procedure and evidence to record:
Ready for code review. The buffered HTTP/2 implementation and automated validation are complete; the manual acceptance checks above remain required before release sign-off. No live-device, GUI, or long-session acceptance was performed in this work.
Separate follow-ups
Trailer preservation (including the status trailers required for correct unary gRPC), long-lived streaming/streaming gRPC, h2c, and HTTP/3/QUIC are not delivered. HTTP/2 WebSocket extended CONNECT is outside this matrix. The plain-HTTP forwarding path is unchanged. This is not a claim of complete HTTP/2 feature coverage or complete parity with another debugging proxy.