diff options
Diffstat (limited to 'packages/astro/src/vite-plugin-astro-server/index.ts')
-rw-r--r-- | packages/astro/src/vite-plugin-astro-server/index.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/astro/src/vite-plugin-astro-server/index.ts b/packages/astro/src/vite-plugin-astro-server/index.ts index 72f2ce9ba..e976280c8 100644 --- a/packages/astro/src/vite-plugin-astro-server/index.ts +++ b/packages/astro/src/vite-plugin-astro-server/index.ts @@ -6,6 +6,7 @@ import type { SSROptions } from '../core/render/dev/index'; import { Readable } from 'stream'; import { call as callEndpoint } from '../core/endpoint/dev/index.js'; +import { getSetCookiesFromResponse } from '../core/cookies/index.js'; import { collectErrorMetadata, ErrorWithMetadata, @@ -62,6 +63,11 @@ async function writeWebResponse(res: http.ServerResponse, webResponse: Response) _headers = Object.fromEntries(headers.entries()); } + // Attach any set-cookie headers added via Astro.cookies.set() + const setCookieHeaders = Array.from(getSetCookiesFromResponse(webResponse)); + if(setCookieHeaders.length) { + res.setHeader('Set-Cookie', setCookieHeaders); + } res.writeHead(status, _headers); if (body) { if (Symbol.for('astro.responseBody') in webResponse) { |