diff --git a/src/index.mjs b/src/index.mjs index 6b7d128..797e6ba 100644 --- a/src/index.mjs +++ b/src/index.mjs @@ -2,28 +2,14 @@ import fetch from "./fetch"; import CookieJar from "./cookie-jar"; import Cookie from "./cookie"; -async function cookieFetch(cookieJars, url, options) { +const cookieJar = new CookieJar("rw"); + +export default async function cookieFetch(url, options) { let cookies = ""; - if(cookieJars) { - if(Array.isArray(cookieJars) && cookieJars.every(c => c instanceof CookieJar)) { - cookieJars.forEach(jar => { - if(!jar.flags.includes("r")) - return; - jar.forEach(c => { - if(c.isValidForRequest(url)) - cookies += c.serialize() + "; "; - }); - }); - } - else if(cookieJars instanceof CookieJar && cookieJars.flags.includes("r")) { - cookieJars.forEach(c => { - if(c.isValidForRequest(url)) - cookies += c.serialize() + "; "; - }); - } - else - throw new TypeError("First paramter is neither a cookie jar nor an array of cookie jars!"); - } + cookieJar.forEach(c => { + if(c.isValidForRequest(url)) + cookies += c.serialize() + "; "; + }); if(cookies.length !== 0) { if(!options) { options = { @@ -35,20 +21,8 @@ async function cookieFetch(cookieJars, url, options) { options.headers.cookie = cookies.slice(0, -2); } const result = await fetch(url, options); - cookies = result.headers["set-cookie"]); - if(cookies && cookieJars) { - if(Array.isArray(cookieJars)) { - cookieJars.forEach(jar => { - if(!jar.flags.includes("w")) - return; - cookies.forEach(c => jar.addCookie(c, url)); - }); - } - else if(cookieJars.flags.includes("w")) { - cookies.forEach(c => cookieJars.addCookie(c, url)); - } - } + cookies = result.headers["set-cookie"]; + if(cookies) + cookies.forEach(c => cookieJar.addCookie(c, url)); return result; } - -export {cookieFetch as fetch, CookieJar, Cookie};