Files
0pt/lib/engine.ts
T

25 lines
782 B
TypeScript

// Bridge from the Vercel edge (Next route handlers) to the FastAPI data engine
// (services/api) running on the VPS. When ENGINE_URL is set, the edge defers to
// the engine as the single source of truth; otherwise it computes locally.
export function hasEngine(): boolean {
return Boolean(process.env.ENGINE_URL);
}
export async function engineFetch(path: string, init?: RequestInit): Promise<Response | null> {
const base = process.env.ENGINE_URL;
if (!base) return null;
try {
return await fetch(`${base}${path}`, {
...init,
headers: {
"Content-Type": "application/json",
"X-Internal-Token": process.env.INTERNAL_TOKEN ?? "",
...(init?.headers ?? {}),
},
cache: "no-store",
});
} catch {
return null;
}
}