Files
2026-06-27 13:13:32 -07:00

32 lines
904 B
Python

"""FastAPI streaming response wrappers for public API wire formats."""
from __future__ import annotations
from collections.abc import AsyncIterator, Mapping
from fastapi.responses import StreamingResponse
from core.anthropic.streaming import ANTHROPIC_SSE_RESPONSE_HEADERS
def anthropic_sse_streaming_response(body: AsyncIterator[str]) -> StreamingResponse:
"""Return a streaming response for Anthropic-style SSE streams."""
return StreamingResponse(
body,
media_type="text/event-stream",
headers=ANTHROPIC_SSE_RESPONSE_HEADERS,
)
def openai_responses_sse_streaming_response(
body: AsyncIterator[str],
*,
headers: Mapping[str, str],
) -> StreamingResponse:
"""Return a streaming response for OpenAI Responses-style SSE."""
return StreamingResponse(
body,
media_type="text/event-stream",
headers=dict(headers),
)