diff --git a/src/middleware/cache.ts b/src/middleware/cache.ts index fc249c2..164f4a3 100644 --- a/src/middleware/cache.ts +++ b/src/middleware/cache.ts @@ -1,35 +1,32 @@ -import { config } from "dotenv"; -import { AniwatchAPICache } from "../config/cache.js"; import type { MiddlewareHandler } from "hono"; - -config(); +import { env } from "../config/env.js"; +import { AniwatchAPICache } from "../config/cache.js"; // Define middleware to add Cache-Control header -export const cacheControlMiddleware: MiddlewareHandler = async (c, next) => { - const sMaxAge = process.env.ANIWATCH_API_S_MAXAGE || "60"; - const staleWhileRevalidate = - process.env.ANIWATCH_API_STALE_WHILE_REVALIDATE || "30"; +export const cacheControl: MiddlewareHandler = async (c, next) => { + const sMaxAge = env.ANIWATCH_API_S_MAXAGE; + const staleWhileRevalidate = env.ANIWATCH_API_STALE_WHILE_REVALIDATE; - c.header( - "Cache-Control", - `s-maxage=${sMaxAge}, stale-while-revalidate=${staleWhileRevalidate}` - ); + c.header( + "Cache-Control", + `s-maxage=${sMaxAge}, stale-while-revalidate=${staleWhileRevalidate}` + ); - await next(); + await next(); }; export function cacheConfigSetter(keySliceIndex: number): MiddlewareHandler { - return async (c, next) => { - const { pathname, search } = new URL(c.req.url); + return async (c, next) => { + const { pathname, search } = new URL(c.req.url); - c.set("CACHE_CONFIG", { - key: `${pathname.slice(keySliceIndex) + search}`, - duration: Number( - c.req.header(AniwatchAPICache.CACHE_EXPIRY_HEADER_NAME) || - AniwatchAPICache.DEFAULT_CACHE_EXPIRY_SECONDS - ), - }); + c.set("CACHE_CONFIG", { + key: `${pathname.slice(keySliceIndex) + search}`, + duration: Number( + c.req.header(AniwatchAPICache.CACHE_EXPIRY_HEADER_NAME) || + AniwatchAPICache.DEFAULT_CACHE_EXPIRY_SECONDS + ), + }); - await next(); - }; + await next(); + }; }