import type { NextApiRequest, NextApiResponse } from "next"; import { readDocument } from "@/lib/docs"; // The proxy protects Markdown just like the rendered document and search index. export default function handler(request: NextApiRequest, response: NextApiResponse) { response.setHeader("Cache-Control", "private, no-store"); if (request.method !== "GET") { response.setHeader("Allow", "GET"); return response.status(405).end(); } const slug = request.query.slug; if (typeof slug !== "string") return response.status(400).json({ error: "缺少文档地址" }); try { const doc = readDocument(slug); if (!doc) return response.status(404).end(); response.setHeader("Content-Type", "text/plain; charset=utf-8"); response.setHeader("X-Content-Type-Options", "nosniff"); return response.status(200).send(doc.content); } catch { return response.status(503).json({ error: "文档数据库暂时不可用" }); } }