From 5501a1e2ebbca6dd6576d1f5296be88c2b344a51 Mon Sep 17 00:00:00 2001 From: sanny-io Date: Sun, 11 Feb 2024 17:48:29 -0800 Subject: [PATCH] Treat `Set-Cookie` header as an array. --- src/index.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index f68e0d4..8238e26 100644 --- a/src/index.ts +++ b/src/index.ts @@ -106,9 +106,20 @@ async function getResponse( return createError("Network Error", config, "ERR_NETWORK", request); } - const stageOneHeaders: Record = {}; + const stageOneHeaders: Record = {}; stageOne.headers.forEach((value, key) => { - stageOneHeaders[key] = value; + // The `Set-Cookie` header is treated as an array of strings (even if there's only 1) + if (key === "set-cookie") { + const cookies = stageOneHeaders[key] as string[] | undefined + + if (cookies) { + cookies.push(value); + } else { + stageOneHeaders[key] = [value]; + } + } else { + stageOneHeaders[key] = value; + } }); const headers: any = Object.assign({}, stageOneHeaders as unknown); const response: AxiosResponse = {