import { fetchWithTimeout } from "@/lib/helpers/fetchWithTimeout"; import { NextRequest, NextResponse } from "next/server"; export const dynamic = "force-dynamic"; export const revalidate = 0; const CACHE_MAX_AGE = "public, max-age=3600"; export async function GET(request: NextRequest) { const url = request.nextUrl.searchParams.get("url"); if (!url) { return NextResponse.json({ error: "url is required" }, { status: 400 }); } try { const parsed = new URL(url); if (!["http:", "https:"].includes(parsed.protocol)) { return NextResponse.json({ error: "Invalid URL" }, { status: 400 }); } const res = await fetchWithTimeout(url, { timeoutMs: 15_000, headers: { Accept: "image/svg+xml, text/xml, text/plain" }, }); if (!res.ok) { return NextResponse.json( { error: "Failed to fetch SVG" }, { status: res.status } ); } const text = await res.text(); if (!text.trim().toLowerCase().includes("