|
|
|
@ -336,12 +336,13 @@ def _build_response_args( |
|
|
|
response_args: dict[str, Any] = { |
|
|
|
"background": solved_result.background_tasks, |
|
|
|
} |
|
|
|
# If status_code was set, use it, otherwise use the default from the |
|
|
|
# response class, in the case of redirect it's 307 |
|
|
|
if status_code is not None: |
|
|
|
response_args["status_code"] = status_code |
|
|
|
elif solved_result.response.status_code: |
|
|
|
# If the response object has a status_code set (e.g. inside a dependency |
|
|
|
# or path operation), it takes priority over the route-level status_code. |
|
|
|
# Otherwise, use the route-level status_code if provided. |
|
|
|
if solved_result.response.status_code: |
|
|
|
response_args["status_code"] = solved_result.response.status_code |
|
|
|
elif status_code is not None: |
|
|
|
response_args["status_code"] = status_code |
|
|
|
return response_args |
|
|
|
|
|
|
|
|
|
|
|
|