UNPKG

svelte-kit-cookie-session-patch

Version:

⚒️ Encrypted 'stateless' cookie sessions for SvelteKit

35 lines (34 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sessionMiddleware = void 0; const initialize_js_1 = require("./initialize.js"); function sessionMiddleware(options) { return (req, res, next) => { const session = initialize_js_1.initializeSession({ cookie: req.headers.cookie }, options); //@ts-ignore req.session = session; const setSessionHeaders = () => { //@ts-ignore This can exist const sessionCookie = req.session["set-cookie"]; if (sessionCookie && sessionCookie.length > 0) { const existingSetCookie = res.getHeader("Set-Cookie"); if (!existingSetCookie) { res.setHeader("Set-Cookie", [sessionCookie]); } else if (typeof existingSetCookie === "string") { res.setHeader("Set-Cookie", [existingSetCookie, sessionCookie]); } else { res.setHeader("Set-Cookie", [...existingSetCookie, sessionCookie]); } } }; const end = res.end; res.end = function (...args) { setSessionHeaders(); return end.apply(this, args); }; return next(); }; } exports.sessionMiddleware = sessionMiddleware;