import { HandlerContext, MiddlewareHandlerContext, Status, } from "$fresh/server.ts"; import { getCookies } from "http/cookie.ts"; import { verify } from "djwt"; import { prepareSecretKey } from "../util/secret.ts"; export const handler = async ( req: Request, ctx: MiddlewareHandlerContext>, ) => { const secret_key = await prepareSecretKey(); const cookies = getCookies(req.headers); const jwt = cookies["auth"]; try { const payload = await verify(jwt, secret_key); ctx.state["login"] = payload; } catch (_) { ctx.state["login"] = null; } return await ctx.next(); };