diff --git a/.changeset/stale-rivers-invite.md b/.changeset/stale-rivers-invite.md new file mode 100644 index 00000000..ebba1d96 --- /dev/null +++ b/.changeset/stale-rivers-invite.md @@ -0,0 +1,5 @@ +--- +"@opennextjs/aws": patch +--- + +fix: remove leading forward slashes from url in node converter diff --git a/packages/open-next/src/overrides/converters/node.ts b/packages/open-next/src/overrides/converters/node.ts index 3eed47f2..6271a5a9 100644 --- a/packages/open-next/src/overrides/converters/node.ts +++ b/packages/open-next/src/overrides/converters/node.ts @@ -6,7 +6,7 @@ import type { Converter } from "types/overrides"; import { extractHostFromHeaders, getQueryFromSearchParams } from "./utils.js"; const converter: Converter = { - convertFrom: async (req: IncomingMessage) => { + convertFrom: async (req: IncomingMessage & { protocol?: string }) => { const body = await new Promise((resolve) => { const chunks: Uint8Array[] = []; req.on("data", (chunk) => { @@ -25,7 +25,10 @@ const converter: Converter = { ]) .filter(([key]) => key), ); - const url = new URL(req.url!, `http://${extractHostFromHeaders(headers)}`); + // https://nodejs.org/api/http.html#messageurl + const url = new URL( + `${req.protocol ? req.protocol : "http"}://${extractHostFromHeaders(headers)}${req.url}`, + ); const query = getQueryFromSearchParams(url.searchParams); return { type: "core",