From 73af733af3eeef1c71905a3ec60d1fcb59d2b599 Mon Sep 17 00:00:00 2001 From: archvlad Date: Mon, 2 Oct 2023 22:01:50 +0300 Subject: [PATCH] fix: delete cookie header to avoid duplicates of cookies --- src/index.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/index.mjs b/src/index.mjs index 098449c..138b93a 100644 --- a/src/index.mjs +++ b/src/index.mjs @@ -55,6 +55,10 @@ async function fetch(cookieJars, url, options) { // or, if headers is an object, construct a Headers object from it options.headers = new Headers(options.headers); if (cookies) { + if (options.headers.has("cookie")) + throw new Error( + "options.headers already contains a cookie header!" + ); options.headers.append("cookie", cookies.slice(0, -2)); } if (wantFollow) options.redirect = "manual"; @@ -93,6 +97,8 @@ async function fetch(cookieJars, url, options) { } const location = result.headers.get("location"); options.redirect = "follow"; + // delete cookie header from previous request to avoid a duplicate cookie header + options.headers.delete("cookie"); return fetch(cookieJars, location, options); } return result;