fix: bypass LoggingMiddleware for SSE streaming endpoint BaseHTTPMiddleware buffers StreamingResponse bodies, which breaks real-time SSE delivery of training progress in Docker containers. Skip the middleware entirely for /api/train/progress so events flow directly to the client unbuffered
This commit is contained in:
parent
0347e766d4
commit
edf9d28930
1 changed files with 5 additions and 0 deletions
|
|
@ -27,6 +27,11 @@ logger = structlog.get_logger(__name__)
|
|||
|
||||
class LoggingMiddleware(BaseHTTPMiddleware):
|
||||
async def dispatch(self, request: Request, call_next: Callable) -> Response:
|
||||
# Bypass middleware for SSE streaming — BaseHTTPMiddleware
|
||||
# can buffer StreamingResponse bodies, breaking real-time delivery
|
||||
if request.url.path == "/api/train/progress":
|
||||
return await call_next(request)
|
||||
|
||||
start_time = time.time()
|
||||
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue