64d8b0f1f9
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / detect-changes (push) Successful in 10s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / validate-canonical-controls (push) Successful in 14s
CI / loc-budget (push) Failing after 17s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m32s
CI / test-go (push) Failing after 46s
CI / iace-gt-coverage (push) Successful in 29s
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
28 lines
857 B
TypeScript
28 lines
857 B
TypeScript
/**
|
|
* Proxy: Admin → Backend /api/compliance/agent/admin/benchmark
|
|
* (P107 — Branchen-Benchmark-Cockpit)
|
|
*/
|
|
import { NextRequest, NextResponse } from 'next/server'
|
|
|
|
const BACKEND_URL = process.env.BACKEND_API_URL || 'http://backend-compliance:8002'
|
|
|
|
export async function GET(request: NextRequest) {
|
|
const qs = request.nextUrl.searchParams.toString()
|
|
try {
|
|
const r = await fetch(
|
|
`${BACKEND_URL}/api/compliance/agent/admin/benchmark?${qs}`,
|
|
{ signal: AbortSignal.timeout(20000) },
|
|
)
|
|
const body = await r.text()
|
|
return new NextResponse(body, {
|
|
status: r.status,
|
|
headers: { 'Content-Type': r.headers.get('content-type') || 'application/json' },
|
|
})
|
|
} catch (e: any) {
|
|
return NextResponse.json(
|
|
{ error: 'Benchmark-API nicht erreichbar', detail: String(e) },
|
|
{ status: 503 },
|
|
)
|
|
}
|
|
}
|