UNPKG

fets

Version:

TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience

31 lines (30 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useClientCookieStore = useClientCookieStore; const cookie_store_1 = require("@whatwg-node/cookie-store"); const fetch_1 = require("@whatwg-node/fetch"); function useClientCookieStore(cookieStore) { return { async onRequestInit({ requestInit }) { requestInit.headers = new fetch_1.Headers(requestInit.headers); let cookieHeader = requestInit.headers.get('cookie') || ''; if (cookieHeader) { cookieHeader += '; '; } const cookies = await cookieStore.getAll(); cookieHeader += cookies.map(cookie => `${cookie.name}=${cookie.value}`).join('; '); requestInit.headers.set('cookie', cookieHeader); }, onResponse({ response }) { const setCookies = response.headers.getSetCookie?.(); if (setCookies) { for (const setCookie of setCookies) { const cookieMap = (0, cookie_store_1.parse)(setCookie); for (const [, cookie] of cookieMap) { cookieStore.set(cookie); } } } }, }; }