|
|
|
@ -104,8 +104,10 @@ def request_response( |
|
|
|
async def app(scope: Scope, receive: Receive, send: Send) -> None: |
|
|
|
# Starts customization |
|
|
|
response_awaited = False |
|
|
|
async with AsyncExitStack() as stack: |
|
|
|
scope["fastapi_inner_astack"] = stack |
|
|
|
async with AsyncExitStack() as request_stack: |
|
|
|
scope["fastapi_inner_astack"] = request_stack |
|
|
|
async with AsyncExitStack() as function_stack: |
|
|
|
scope["fastapi_function_astack"] = function_stack |
|
|
|
# Same as in Starlette |
|
|
|
response = await f(request) |
|
|
|
await response(scope, receive, send) |
|
|
|
@ -140,10 +142,10 @@ def websocket_session( |
|
|
|
session = WebSocket(scope, receive=receive, send=send) |
|
|
|
|
|
|
|
async def app(scope: Scope, receive: Receive, send: Send) -> None: |
|
|
|
# Starts customization |
|
|
|
async with AsyncExitStack() as stack: |
|
|
|
scope["fastapi_inner_astack"] = stack |
|
|
|
# Same as in Starlette |
|
|
|
async with AsyncExitStack() as request_stack: |
|
|
|
scope["fastapi_inner_astack"] = request_stack |
|
|
|
async with AsyncExitStack() as function_stack: |
|
|
|
scope["fastapi_function_astack"] = function_stack |
|
|
|
await func(session) |
|
|
|
|
|
|
|
# Same as in Starlette |
|
|
|
@ -479,7 +481,9 @@ class APIWebSocketRoute(routing.WebSocketRoute): |
|
|
|
self.name = get_name(endpoint) if name is None else name |
|
|
|
self.dependencies = list(dependencies or []) |
|
|
|
self.path_regex, self.path_format, self.param_convertors = compile_path(path) |
|
|
|
self.dependant = get_dependant(path=self.path_format, call=self.endpoint) |
|
|
|
self.dependant = get_dependant( |
|
|
|
path=self.path_format, call=self.endpoint, scope="function" |
|
|
|
) |
|
|
|
for depends in self.dependencies[::-1]: |
|
|
|
self.dependant.dependencies.insert( |
|
|
|
0, |
|
|
|
@ -630,7 +634,9 @@ class APIRoute(routing.Route): |
|
|
|
self.response_fields = {} |
|
|
|
|
|
|
|
assert callable(endpoint), "An endpoint must be a callable" |
|
|
|
self.dependant = get_dependant(path=self.path_format, call=self.endpoint) |
|
|
|
self.dependant = get_dependant( |
|
|
|
path=self.path_format, call=self.endpoint, scope="function" |
|
|
|
) |
|
|
|
for depends in self.dependencies[::-1]: |
|
|
|
self.dependant.dependencies.insert( |
|
|
|
0, |
|
|
|
|