summaryrefslogtreecommitdiff
path: root/packages/integrations/deno/src/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/deno/src/server.ts')
-rw-r--r--packages/integrations/deno/src/server.ts17
1 files changed, 15 insertions, 2 deletions
diff --git a/packages/integrations/deno/src/server.ts b/packages/integrations/deno/src/server.ts
index d8eb3320d..d8c6aede9 100644
--- a/packages/integrations/deno/src/server.ts
+++ b/packages/integrations/deno/src/server.ts
@@ -26,7 +26,13 @@ export function start(manifest: SSRManifest, options: Options) {
if (app.match(request)) {
let ip = connInfo?.remoteAddr?.hostname;
Reflect.set(request, Symbol.for('astro.clientAddress'), ip);
- return await app.render(request);
+ const response = await app.render(request);
+ if(app.setCookieHeaders) {
+ for(const setCookieHeader of app.setCookieHeaders(response)) {
+ response.headers.append('Set-Cookie', setCookieHeader);
+ }
+ }
+ return response;
}
// If the request path wasn't found in astro,
@@ -38,7 +44,14 @@ export function start(manifest: SSRManifest, options: Options) {
// If the static file can't be found
if (fileResp.status == 404) {
// Render the astro custom 404 page
- return await app.render(request);
+ const response = await app.render(request);
+
+ if(app.setCookieHeaders) {
+ for(const setCookieHeader of app.setCookieHeaders(response)) {
+ response.headers.append('Set-Cookie', setCookieHeader);
+ }
+ }
+ return response;
// If the static file is found
} else {