From 5e83ebc2f91c90b4c5b7584526658bd1aa910ab6 Mon Sep 17 00:00:00 2001 From: Taesu <166604494+bytaesu@users.noreply.github.com> Date: Wed, 4 Feb 2026 02:27:25 +0900 Subject: [PATCH] fix(expo): construct the new Request to avoid immutable headers error on Cloudflare Workers (#7774) (cherry picked from commit ecbd1e0b2a25d7e7c6320a56dfbf4d3153fe2434) --- packages/expo/src/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/expo/src/index.ts b/packages/expo/src/index.ts index 1f0a256938..1e2b334531 100644 --- a/packages/expo/src/index.ts +++ b/packages/expo/src/index.ts @@ -35,8 +35,12 @@ export const expo = (options?: ExpoOptions | undefined) => { if (!expoOrigin) { return; } - const req = request.clone(); - req.headers.set("origin", expoOrigin); + + // Construct new Headers with new Request to avoid mutating the original request + const newHeaders = new Headers(request.headers); + newHeaders.set("origin", expoOrigin); + const req = new Request(request, { headers: newHeaders }); + return { request: req, };