Browse Source
♻️ Simplify `AsyncExitStackMiddleware` as without Python 3.6 `AsyncExitStack` is always available (#9657)
♻️ Simplify AsyncExitStackMiddleware as without Python 3.6 AsyncExitStack is always available
pull/9659/head
Sebastián Ramírez
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
13 additions and
16 deletions
-
fastapi/middleware/asyncexitstack.py
|
@ -10,7 +10,6 @@ class AsyncExitStackMiddleware: |
|
|
self.context_name = context_name |
|
|
self.context_name = context_name |
|
|
|
|
|
|
|
|
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: |
|
|
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: |
|
|
if AsyncExitStack: |
|
|
|
|
|
dependency_exception: Optional[Exception] = None |
|
|
dependency_exception: Optional[Exception] = None |
|
|
async with AsyncExitStack() as stack: |
|
|
async with AsyncExitStack() as stack: |
|
|
scope[self.context_name] = stack |
|
|
scope[self.context_name] = stack |
|
@ -24,5 +23,3 @@ class AsyncExitStackMiddleware: |
|
|
# still bubble up so that the ServerErrorMiddleware can return a 500 |
|
|
# still bubble up so that the ServerErrorMiddleware can return a 500 |
|
|
# or the ExceptionMiddleware can catch and handle any other exceptions |
|
|
# or the ExceptionMiddleware can catch and handle any other exceptions |
|
|
raise dependency_exception |
|
|
raise dependency_exception |
|
|
else: |
|
|
|
|
|
await self.app(scope, receive, send) # pragma: no cover |
|
|
|
|
|