🎨 [pre-commit.ci] Auto format from pre-commit.com hooks

This commit is contained in:
pre-commit-ci[bot] 2025-11-22 18:46:28 +00:00
parent 3a84d397fb
commit d24bfcf220
3 changed files with 18 additions and 8 deletions

View File

@ -401,21 +401,25 @@ def get_request_handler(
# Create a new BackgroundTasks to hold both
combined_tasks = BackgroundTasks()
# Add existing response tasks
if isinstance(raw_response.background, BackgroundTasks):
combined_tasks.tasks.extend(raw_response.background.tasks)
elif isinstance(raw_response.background, BackgroundTask):
combined_tasks.tasks.append(raw_response.background)
# Add dependency tasks
# solved_result.background_tasks is always BackgroundTasks (from dependencies/utils.py)
if isinstance(solved_result.background_tasks, BackgroundTasks):
combined_tasks.tasks.extend(solved_result.background_tasks.tasks)
elif isinstance(solved_result.background_tasks, BackgroundTask): # pragma: no cover
# Should not happen for BackgroundTasks dependency but safe to handle
combined_tasks.tasks.extend(
solved_result.background_tasks.tasks
)
elif isinstance(
solved_result.background_tasks, BackgroundTask
): # pragma: no cover
# Should not happen for BackgroundTasks dependency but safe to handle
combined_tasks.tasks.append(solved_result.background_tasks)
raw_response.background = combined_tasks
response = raw_response
else:

View File

@ -4,6 +4,7 @@ from starlette.responses import BackgroundTask, Response
app = FastAPI()
@app.get("/")
def endpoint(tasks: BackgroundTasks):
tasks.add_task(lambda: print("Dependency task executed"))
@ -12,8 +13,10 @@ def endpoint(tasks: BackgroundTasks):
background=BackgroundTask(lambda: print("Response task executed")),
)
client = TestClient(app)
def test_issue_11215(capsys):
client.get("/")
captured = capsys.readouterr()

View File

@ -5,20 +5,23 @@ from starlette.responses import Response
app = FastAPI()
@app.get("/")
def endpoint(tasks: BackgroundTasks):
tasks.add_task(lambda: print("Dependency task"))
response_tasks = StarletteBackgroundTasks()
response_tasks.add_task(lambda: print("Response task"))
return Response(
content="Custom response",
background=response_tasks,
)
client = TestClient(app)
def test_issue_11215_response_background_tasks_collection(capsys):
client.get("/")
captured = capsys.readouterr()