diff --git a/web-server/app/ping/route.ts b/web-server/app/ping/route.ts new file mode 100644 index 000000000..f4829ede1 --- /dev/null +++ b/web-server/app/ping/route.ts @@ -0,0 +1,12 @@ +import { NextResponse } from "next/server"; + +export function GET() { + return new NextResponse('OK', { + status: 200, + headers: { + 'Content-Type': 'text/plain', + 'Cache-Control': 'no-store', + 'X-Robots-Tag': 'noindex' + }, + }); +} diff --git a/web-server/app/status/route.ts b/web-server/app/status/route.ts new file mode 100644 index 000000000..325648974 --- /dev/null +++ b/web-server/app/status/route.ts @@ -0,0 +1,25 @@ +import { NextResponse } from 'next/server'; +import { readFileSync } from 'node:fs'; +import { join } from 'node:path'; + +let version = 'unknown'; +try { + const pkgPath = join(process.cwd(), 'package.json'); + const pkgJson = JSON.parse(readFileSync(pkgPath, 'utf8')); + version = pkgJson.version || 'unknown'; +} catch (err) { + console.warn('status route: failed to read package.json for version', err instanceof Error ? err.message : err); +} + +export async function GET() { + return NextResponse.json({ + status: 'OK', + version, + }, + { + headers: { + 'Cache-Control': 'no-store', + 'X-Robots-Tag': 'noindex', + }, + }); +}