From f0f30bccbefc528c7020639ccc52d4754e913f26 Mon Sep 17 00:00:00 2001 From: Johan Krijt Date: Fri, 19 Jul 2024 14:46:57 +0200 Subject: [PATCH] Fix cookie splitting This splits them without choking on commas that are within a single set-cookie field-value, such as in the Expires portion. --- docs/1.getting-started/6.data-fetching.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 1b6fc9bb3476..0e8bb2a0c318 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -466,13 +466,13 @@ Be very careful before proxying headers to an external API and just include head If you want to pass on/proxy cookies in the other direction, from an internal request back to the client, you will need to handle this yourself. ```ts [composables/fetch.ts] -import { appendResponseHeader, H3Event } from 'h3' +import { appendResponseHeader, H3Event, splitCookiesString } from 'h3' export const fetchWithCookie = async (event: H3Event, url: string) => { /* Get the response from the server endpoint */ const res = await $fetch.raw(url) /* Get the cookies from the response */ - const cookies = (res.headers.get('set-cookie') || '').split(',') + const cookies = splitCookiesString(res.headers.get('set-cookie') || '') /* Attach each cookie to our incoming Request */ for (const cookie of cookies) { appendResponseHeader(event, 'set-cookie', cookie)