From 097599074b1aa66e7f4e9273e133d4128d9aeb7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=8Dcaro=20Azevedo?= Date: Thu, 7 Dec 2023 13:08:33 -0300 Subject: [PATCH] feat: change cookie domain for faststore api's host --- packages/api/src/platforms/vtex/utils/cookies.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/api/src/platforms/vtex/utils/cookies.ts b/packages/api/src/platforms/vtex/utils/cookies.ts index b8f7f02022..a30042f254 100644 --- a/packages/api/src/platforms/vtex/utils/cookies.ts +++ b/packages/api/src/platforms/vtex/utils/cookies.ts @@ -1,7 +1,18 @@ import type { Context } from '../index' +const MATCH_DOMAIN_REGEXP = /(?:^|;\s*)(?:domain=)([^;]+)/i + export const setCookie = (headers: Headers, ctx: Context) => { - headers.getSetCookie().forEach((cookie) => ctx.storage.cookies.add(cookie)) + const faststoreAPIHostname = new URL(`https://${ctx.headers.host}`).hostname + + headers + .getSetCookie() + .forEach((cookie) => + ctx.storage.cookies.add( + // Replaces original cookie domain for FastStore API's domain hostname + cookie.replace(MATCH_DOMAIN_REGEXP, `; domain=${faststoreAPIHostname}`) + ) + ) } export const getStoreCookie = (ctx: Context) => (headers: Headers) =>