lateCookieHandler
Answers POST /__tcm/cookies/<token> with the cookies kept under that token, once.
import { lateCookies } from "#codebase/tcmts/cli/web"; import type { Middleware } from "#codebase/tcmts/cli/web"; export const lateCookieHandler: Middleware = (req, res, next) => { const m = /^\/__tcm\/cookies\/([\w-]{20,})$/.exec((req.url ?? "").split("?")[0]!); if (!m) return next(); const now = Date.now(); for (const [k, v] of lateCookies) if (v.expires < now) lateCookies.delete(k); const kept = req.method === "POST" ? lateCookies.get(m[1]!) : undefined; lateCookies.delete(m[1]!); if (kept) res.setHeader("set-cookie", kept.cookies); res.statusCode = kept ? 204 : 404; res.end(); }