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