UNPKG

fets

Version:

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

28 lines (27 loc) 1.08 kB
import { parse } from '@whatwg-node/cookie-store'; import { Headers } from '@whatwg-node/fetch'; export function useClientCookieStore(cookieStore) { return { async onRequestInit({ requestInit }) { requestInit.headers = new 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 = parse(setCookie); for (const [, cookie] of cookieMap) { cookieStore.set(cookie); } } } }, }; }