import { statSync } from "node:fs"; import { isAbsolute, relative, resolve } from "node:path"; export function resolveRequestedPath(requestedPath: string | undefined, baseDir: string): string { const base = resolve(baseDir); const target = resolve(requestedPath || base); const rel = relative(base, target); if (rel && (rel.startsWith("..") || isAbsolute(rel))) throw new Error(`Path must be within baseDir: ${baseDir}`); try { statSync(target); } catch { throw new Error(`Path does not exist: ${target}`); } return target; } export function json(data: unknown, status = 200): Response { return new Response(JSON.stringify(data), { status, headers: { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" }, }); }