summaryrefslogtreecommitdiff
path: root/packages/astro/src/vite-plugin-astro-server/index.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--packages/astro/src/vite-plugin-astro-server/index.ts12
1 files changed, 9 insertions, 3 deletions
diff --git a/packages/astro/src/vite-plugin-astro-server/index.ts b/packages/astro/src/vite-plugin-astro-server/index.ts
index 2039c0a86..049dc4615 100644
--- a/packages/astro/src/vite-plugin-astro-server/index.ts
+++ b/packages/astro/src/vite-plugin-astro-server/index.ts
@@ -5,7 +5,7 @@ import type { AstroSettings, ManifestData } from '../@types/astro';
import { DevelopmentEnvironment, SSROptions } from '../core/render/dev/index';
import { Readable } from 'stream';
-import { getSetCookiesFromResponse } from '../core/cookies/index.js';
+import { attachToResponse, getSetCookiesFromResponse } from '../core/cookies/index.js';
import { call as callEndpoint } from '../core/endpoint/dev/index.js';
import {
collectErrorMetadata,
@@ -378,8 +378,14 @@ async function handleRoute(
if (computedMimeType) {
contentType = computedMimeType;
}
- res.writeHead(200, { 'Content-Type': `${contentType};charset=utf-8` });
- res.end(result.body);
+ const response = new Response(result.body, {
+ status: 200,
+ headers: {
+ 'Content-Type': `${contentType};charset=utf-8`,
+ },
+ });
+ attachToResponse(response, result.cookies);
+ await writeWebResponse(res, response);
}
} else {
const result = await renderPage(options);