Skip to content

Commit a955067

Browse files
committed
avoid creating unnecessary headers instance
1 parent d07c9f1 commit a955067

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

.changeset/red-kiwis-press.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@opennextjs/aws": patch
3+
---
4+
5+
Avoid creating unnecessary headers instance on every request

packages/open-next/src/overrides/wrappers/cloudflare-node.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,16 @@ const handler: WrapperHandler<InternalEvent, InternalResult> =
4141
}): Writable {
4242
const { statusCode, cookies, headers } = prelude;
4343

44-
const responseHeaders = new Headers(headers);
45-
for (const cookie of cookies) {
46-
responseHeaders.append("Set-Cookie", cookie);
47-
}
48-
4944
// TODO(vicb): this is a workaround to make PPR work with `wrangler dev`
5045
// See https://github.com/cloudflare/workers-sdk/issues/8004
5146
if (url.hostname === "localhost") {
52-
responseHeaders.set("Content-Encoding", "identity");
47+
headers["content-encoding"] = "identity";
48+
}
49+
50+
// Build headers array - set-cookie must be added separately for each cookie
51+
const headerEntries: [string, string][] = Object.entries(headers);
52+
for (const cookie of cookies) {
53+
headerEntries.push(["set-cookie", cookie]);
5354
}
5455

5556
const { readable, writable } = new TransformStream({
@@ -60,7 +61,7 @@ const handler: WrapperHandler<InternalEvent, InternalResult> =
6061
const body = NULL_BODY_STATUSES.has(statusCode) ? null : readable;
6162
const response = new Response(body, {
6263
status: statusCode,
63-
headers: responseHeaders,
64+
headers: headerEntries,
6465
});
6566
resolveResponse(response);
6667

0 commit comments

Comments
 (0)