From f0f131cd5978dc5fb54ddb1619a423eaf01fc9ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Fri, 27 Feb 2026 15:07:11 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Update=20docs=20highlights?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/docs/advanced/stream-data.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/en/docs/advanced/stream-data.md b/docs/en/docs/advanced/stream-data.md index 3d502b3f39..4bec4edf99 100644 --- a/docs/en/docs/advanced/stream-data.md +++ b/docs/en/docs/advanced/stream-data.md @@ -50,19 +50,19 @@ You can create a custom sub-class of `StreamingResponse` that sets the `Content- For example, you can create a `PNGStreamingResponse` that sets the `Content-Type` header to `image/png` using the `media_type` attribute: -{* ../../docs_src/stream_data/tutorial002_py310.py ln[6,15:16] hl[16] *} +{* ../../docs_src/stream_data/tutorial002_py310.py ln[6,19:20] hl[20] *} Then you can use this new class in `response_class=PNGStreamingResponse` in your *path operation function*: -{* ../../docs_src/stream_data/tutorial002_py310.py ln[19:22] hl[19] *} +{* ../../docs_src/stream_data/tutorial002_py310.py ln[23:26] hl[23] *} ### Simulate a File { #simulate-a-file } In this example, we are simulating a file with `io.BytesIO`, which is a file-like object that lives only in memory, but lets us use the same interface. -For example, we can iterate over it as we could with a file. +For example, we can iterate over it to consume its contents, as we could with a file. -{* ../../docs_src/stream_data/tutorial002_py310.py ln[1:22] hl[3,10,21] *} +{* ../../docs_src/stream_data/tutorial002_py310.py ln[1:26] hl[3,12:13,25] *} /// note | Technical Details @@ -74,7 +74,7 @@ Only so that it can live in the same file for this example and you can copy it a ### Files and Async { #files-and-async } -In most cases, file-like objects and interfaces are not compatible by default with async and await. +In most cases, file-like objects are not compatible with async and await by default. For example, they don't have an `await file.read()`, or `async for chunk in file`. @@ -90,7 +90,7 @@ But in many cases reading a file or a file-like object would block. To avoid blocking the event loop, you can simply declare the *path operation function* with regular `def` instead of `async def`, that way FastAPI will run it on a threadpool worker, to avoid blocking the main loop. -{* ../../docs_src/stream_data/tutorial002_py310.py ln[25:28] hl[26] *} +{* ../../docs_src/stream_data/tutorial002_py310.py ln[29:32] hl[30] *} /// tip