From 2e8ab8f752d64bb0ec485cd9bc8708f1df26d103 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Fri, 29 Apr 2022 21:52:23 +0200 Subject: [PATCH] Do not send empty data to `StreamingResponse` on `BaseHTTPMiddleware` --- starlette/middleware/base.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/starlette/middleware/base.py b/starlette/middleware/base.py index ca9deb7de..49a5e3e2d 100644 --- a/starlette/middleware/base.py +++ b/starlette/middleware/base.py @@ -52,7 +52,11 @@ async def body_stream() -> typing.AsyncGenerator[bytes, None]: async with recv_stream: async for message in recv_stream: assert message["type"] == "http.response.body" - yield message.get("body", b"") + body = message.get("body", b"") + if body: + yield body + if not message.get("more_body", False): + break if app_exc is not None: raise app_exc