quic: convert incoming :status header to number#63589
Open
hallss93 wants to merge 2 commits into
Open
Conversation
Collaborator
|
Review requested:
|
Qard
approved these changes
May 28, 2026
pimterry
approved these changes
May 28, 2026
Member
|
@hallss93 Looks like the commit message here is failing the linting as it's not signed off, you'll need to update that with |
Codecov Reportβ
All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #63589 +/- ##
==========================================
+ Coverage 90.31% 90.32% +0.01%
==========================================
Files 730 730
Lines 234653 234658 +5
Branches 43952 43951 -1
==========================================
+ Hits 211926 211959 +33
+ Misses 14474 14430 -44
- Partials 8253 8269 +16
π New features to boost your workflow:
|
Signed-off-by: Hallison Melo <hallss93@hotmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
f442353 to
25644d0
Compare
Author
fixed |
efekrskl
approved these changes
Jun 5, 2026
pimterry
approved these changes
Jun 8, 2026
Collaborator
Collaborator
Commit Queue failed- Loading data for nodejs/node/pull/63589 β Done loading data for nodejs/node/pull/63589 ----------------------------------- PR info ------------------------------------ Title quic: convert incoming :status header to number (#63589) Author Hallison Pereira Melo <hallss93@hotmail.com> (@hallss93, first-time contributor) Branch hallss93:quic-h3-status-number -> nodejs:main Labels needs-ci, quic, commit-queue-squash Commits 2 - quic: convert incoming :status header to number - Merge branch 'nodejs:main' into quic-h3-status-number Committers 2 - Hallison Melo <hallss93@hotmail.com> - GitHub <noreply@github.com> PR-URL: https://github.com/nodejs/node/pull/63589 Fixes: https://github.com/nodejs/node/issues/63557 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Tim Perry <pimterry@gmail.com> ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/63589 Fixes: https://github.com/nodejs/node/issues/63557 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Tim Perry <pimterry@gmail.com> -------------------------------------------------------------------------------- βΉ This PR was created on Tue, 26 May 2026 18:45:32 GMT β Approvals: 2 β - Stephen Belanger (@Qard): https://github.com/nodejs/node/pull/63589#pullrequestreview-4378129270 β - Tim Perry (@pimterry): https://github.com/nodejs/node/pull/63589#pullrequestreview-4449032505 β Last GitHub CI successful βΉ Last Full PR CI on 2026-06-08T13:56:50Z: https://ci.nodejs.org/job/node-test-pull-request/73976/ - Querying data for job/node-test-pull-request/73976/ β Build data downloaded β Last Jenkins CI successful -------------------------------------------------------------------------------- β No git cherry-pick in progress β No git am in progress β No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD β origin/main is now up-to-date - Downloading patch for 63589 From https://github.com/nodejs/node * branch refs/pull/63589/merge -> FETCH_HEAD β Fetched commits as 45c7071b4a0d..04c9e28facb5 -------------------------------------------------------------------------------- Auto-merging doc/api/quic.md Auto-merging lib/internal/quic/quic.js error: commit 04c9e28facb599da6a23142450bbf8c85e32bcd0 is a merge but no -m option was given. fatal: cherry-pick failed [main dad2bd067b] quic: convert incoming :status header to number Author: Hallison Melo <hallss93@hotmail.com> Date: Tue May 26 15:40:36 2026 -0300 22 files changed, 117 insertions(+), 44 deletions(-) create mode 100644 test/parallel/test-quic-h3-status-code-type.mjs β Failed to apply patcheshttps://github.com/nodejs/node/actions/runs/27160616586 |
Member
|
@hallss93 Can you please rebase onto main and remove the merge commit? Instructions: https://github.com/nodejs/node/blob/main/doc/contributing/pull-requests.md#step-5-rebase |
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.
Fixes: #63557
Summary
When receiving HTTP/3 headers via QUIC,
headers[':status']was exposed as astring. HTTP/2 converts the incoming
:statuspseudo-header to a number intoHeaderObject()(lib/internal/http2/util.js). This mismatch makes itawkward to port HTTP/2 code to HTTP/3.
Align HTTP/3 with HTTP/2 by converting
:statusto a number inparseHeaderPairs()when building the header object from C++ name/valuepairs. This applies to initial response headers, informational (
1xx)headers (
oninfo), andstream.headers.Outgoing headers are unchanged: callers may still pass
':status': '200'or':status': 200when callingsendHeaders()/sendInformationalHeaders().Test plan
Update existing QUIC H3 tests to expect numeric
:statuson receiveAdd
test/parallel/test-quic-h3-status-code-type.mjscovering 200, 204, and 404Run (with QUIC enabled):