diff --git a/gateway/platforms/api_server.py b/gateway/platforms/api_server.py index 11b639c5c..f0dfc6466 100644 --- a/gateway/platforms/api_server.py +++ b/gateway/platforms/api_server.py @@ -582,10 +582,14 @@ class APIServerAdapter(BasePlatformAdapter): """ import queue as _q - response = web.StreamResponse( - status=200, - headers={"Content-Type": "text/event-stream", "Cache-Control": "no-cache"}, - ) + sse_headers = {"Content-Type": "text/event-stream", "Cache-Control": "no-cache"} + # CORS middleware can't inject headers into StreamResponse after + # prepare() flushes them, so resolve CORS headers up front. + origin = request.headers.get("Origin", "") + cors = self._cors_headers_for_origin(origin) if origin else None + if cors: + sse_headers.update(cors) + response = web.StreamResponse(status=200, headers=sse_headers) await response.prepare(request) try: