feat(api): CORS-Tür für POST /speak — OPTIONS-Preflight und ACAO aus Config
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).
This commit is contained in:
1 parent
cef6e6b9f2
commit
156c20dbb3
5 files changed
+174
-35
No files matched your search
+7
-4
@@ -1,8 +1,11 @@
|
||||
// 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. Rate-Limit- und Ruhezeit-State), POST /cancel,
|
||||
// POST /mute, POST /unmute. CORS für /speak und der MCP-Endpoint
|
||||
// (Streamable HTTP) folgen in Task 06. Der Client-Teil ist die CLI-Seite
|
||||
// derselben Vertragsschnittstelle.
|
||||
// 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
|
||||
Reference in new issue
Block a user