import { Handlers } from "$fresh/server.ts"; import { Status, STATUS_TEXT } from "https://deno.land/std@0.195.0/http/mod.ts"; import { fromFileUrl, join } from "$std/path/mod.ts"; export const handler: Handlers = { async GET(req, ctx): Promise { const headers = new Headers({ "content-type": "application/json" }); const path = join(fromFileUrl(import.meta.url), "../../../../dist", `${ctx.params.name}.json`); console.log("path : ",path) let stat; try { stat = await Deno.stat(path); } catch(err){ if(err instanceof Deno.errors.NotFound){ return await ctx.renderNotFound(); } else { throw err; } } const mtime = stat.mtime ?? new Date(0); const body = await Deno.readTextFile(path); headers.set("last-modified", mtime.toUTCString()); console.log(mtime); // headers.set("cache-control", "max-age=600"); // const ifModifiedSinceValue = req.headers.get("if-modified-since"); // if ( ifModifiedSinceValue && // mtime.getTime() <= new Date(ifModifiedSinceValue).getTime() // ){ // return new Response(null, { // status: Status.NotModified, // statusText: STATUS_TEXT[Status.NotModified] // }) // } return new Response(body, {headers}); }, };