mirror of
https://github.com/JezzWTF/vibepod.git
synced 2026-06-01 15:22:14 +00:00
11ffc7df7c
Agent-Logs-Url: https://github.com/JezzWTF/vibepod/sessions/3c05c740-b0a3-497d-88f1-dfa63121424d Co-authored-by: LyAhn <27559362+LyAhn@users.noreply.github.com>
36 lines
993 B
TypeScript
36 lines
993 B
TypeScript
import { NextResponse } from "next/server";
|
|
|
|
export async function GET() {
|
|
const pythonServerUrl =
|
|
process.env.VIBEVOICE_SERVER_URL ?? "http://localhost:8000";
|
|
|
|
try {
|
|
const res = await fetch(`${pythonServerUrl}/health`, {
|
|
method: "GET",
|
|
signal: AbortSignal.timeout(4000),
|
|
// Don't cache health checks
|
|
cache: "no-store",
|
|
});
|
|
|
|
if (res.ok) {
|
|
const data = await res.json().catch(() => ({}));
|
|
// Pass through the exact status the Python server reports:
|
|
// "online" | "loading" | "error"
|
|
const status: string = data.status ?? "online";
|
|
return NextResponse.json(
|
|
{ status, message: data.message },
|
|
{ headers: { "Cache-Control": "no-store" } }
|
|
);
|
|
}
|
|
return NextResponse.json(
|
|
{ status: "offline" },
|
|
{ headers: { "Cache-Control": "no-store" } }
|
|
);
|
|
} catch {
|
|
return NextResponse.json(
|
|
{ status: "offline" },
|
|
{ headers: { "Cache-Control": "no-store" } }
|
|
);
|
|
}
|
|
}
|