summaryrefslogtreecommitdiff
path: root/packages/integrations/node/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/node/src')
-rw-r--r--packages/integrations/node/src/server.ts12
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/integrations/node/src/server.ts b/packages/integrations/node/src/server.ts
index 12fcf0448..794580ee9 100644
--- a/packages/integrations/node/src/server.ts
+++ b/packages/integrations/node/src/server.ts
@@ -18,7 +18,7 @@ export function createExports(manifest: SSRManifest) {
if (route) {
try {
const response = await app.render(req);
- await writeWebResponse(res, response);
+ await writeWebResponse(app, res, response);
} catch (err: unknown) {
if (next) {
next(err);
@@ -39,8 +39,16 @@ export function createExports(manifest: SSRManifest) {
};
}
-async function writeWebResponse(res: ServerResponse, webResponse: Response) {
+async function writeWebResponse(app: NodeApp, res: ServerResponse, webResponse: Response) {
const { status, headers, body } = webResponse;
+
+ if(app.setCookieHeaders) {
+ const setCookieHeaders: Array<string> = Array.from(app.setCookieHeaders(webResponse));
+ if(setCookieHeaders.length) {
+ res.setHeader('Set-Cookie', setCookieHeaders);
+ }
+ }
+
res.writeHead(status, Object.fromEntries(headers.entries()));
if (body) {
for await (const chunk of body as unknown as Readable) {