import { startTime, endTime } from "hono/timing"; import { Context, Next } from "hono"; export const preetifyResponse = async (c: Context, next: Next) => { await next(); const contentType = c.res.headers.get("Content-Type") || ""; if (!contentType.includes("application/json")) return; const accept = c.req.header("Accept") || ""; const secFetchMode = c.req.header("Sec-Fetch-Mode"); const isBrowser = accept.includes("text/html") || secFetchMode === "navigate"; if (isBrowser) { const json = await c.res.json(); startTime(c, "seralize", "Prettify the response"); const prettyJson = JSON.stringify(json, null, 2); endTime(c, "seralize"); c.res = new Response(prettyJson, { headers: { "Content-Type": "text/plain; charset=utf-8" } }); } };