bugfix: ignore enumerable functions when copying headers in Pages-router #2225
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.
Updates
createRequestCookies
to avoid treating helper functions onreq.headers
as header values, preventing runtime crashes on Node 20+.🔍 RCA
for…in
overreq.headers
also enumerated prototype helper methods (append
,delete
, …) starting Node 20. Passing these functions to the WHATWGHeaders
API raisedTypeError: <fn> is an invalid header value
whenauth0.updateSession()
ran in a Pages-router route.📋 Changes
Changed
nextjs-auth0/src/server/client.ts
: iterate overObject.entries(req.headers)
and copy onlystring|string[]
values; updated docstringAdded
nextjs-auth0/tests/createRequestCookies-header-copy.test.ts
: regression tests that reproduce the crash and assert correct cookie parsing📎 References
🎯 Testing
Automated:
tests/createRequestCookies-header-copy.test.ts
fails on pre-patch code, passes now.pnpm run test:coverage
shows all 248 tests passing with > 84 % coverage.Manual:
pnpm run build
yalc
into sample app on Node 22auth0.updateSession
Headers.append
error and session updates as expected.