OPTIONS /speak beantwortet Preflights mit 204 + Allow-Headers/Methods/Max-Age, wenn die Origin in server.allowed_origins steht; ungeliste Origins und leere Liste bekommen keine CORS-Header (Browser blockt). Nur /speak, kein anderer Endpunkt. /status ergänzt additiv cors:[origins] (immer vorhanden, [] wenn zu).
12 lines
698 B
Go
12 lines
698 B
Go
// Package api definiert die HTTP-Oberfläche des Daemons auf 127.0.0.1:
|
|
// POST /speak (enqueue, 202 {id}; bei Mute 202 {muted:true}; bei Gesetz-
|
|
// Verwurf 202 {discarded:"rate_limit"|"quiet_hours"} — Task 05),
|
|
// GET /status (inkl. Gesetz-State, mcp/cors — Task 06), POST /cancel,
|
|
// POST /mute, POST /unmute. Task 06 ergänzt die CORS-Tür für POST /speak
|
|
// (OPTIONS-Preflight + ACAO aus server.allowed_origins, siehe cors.go)
|
|
// und den MCP-Endpoint POST /mcp als schlankes eigenes JSON-RPC-Subset
|
|
// (initialize, notifications/initialized, tools/list, tools/call mit dem
|
|
// speak-Tool — siehe mcp.go). Der Client-Teil ist die CLI-Seite derselben
|
|
// Vertragsschnittstelle.
|
|
package api
|