diff --git a/frontend/src/pages/api/[...path].ts b/frontend/src/pages/api/[...path].ts index bf9b125..b07a76f 100644 --- a/frontend/src/pages/api/[...path].ts +++ b/frontend/src/pages/api/[...path].ts @@ -42,8 +42,15 @@ export const ALL: APIRoute = async ({ request, params }) => { const responseHeaders = new Headers(); response.headers.forEach((value, key) => { + // Set-Cookie can repeat and must NOT be merged. Handle it separately below. + if (key.toLowerCase() === 'set-cookie') return; responseHeaders.set(key, value); }); + // @ts-ignore — getSetCookie is on Node fetch's Headers + const setCookies: string[] = response.headers.getSetCookie?.() ?? []; + for (const c of setCookies) { + responseHeaders.append('set-cookie', c); + } return new Response(response.body, { status: response.status,