]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
♻️ Simplify `AsyncExitStackMiddleware` as without Python 3.6 `AsyncExitStack` is...
authorSebastián Ramírez <tiangolo@gmail.com>
Sun, 11 Jun 2023 21:49:18 +0000 (23:49 +0200)
committerGitHub <noreply@github.com>
Sun, 11 Jun 2023 21:49:18 +0000 (21:49 +0000)
♻️ Simplify AsyncExitStackMiddleware as without Python 3.6 AsyncExitStack is always available

fastapi/middleware/asyncexitstack.py

index 503a68ac732c40384c7a83075c677fd9c9d2e5b1..30a0ae626c26cc285e7e89e38180043239d9b0eb 100644 (file)
@@ -10,19 +10,16 @@ class AsyncExitStackMiddleware:
         self.context_name = context_name
 
     async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
-        if AsyncExitStack:
-            dependency_exception: Optional[Exception] = None
-            async with AsyncExitStack() as stack:
-                scope[self.context_name] = stack
-                try:
-                    await self.app(scope, receive, send)
-                except Exception as e:
-                    dependency_exception = e
-                    raise e
-            if dependency_exception:
-                # This exception was possibly handled by the dependency but it should
-                # still bubble up so that the ServerErrorMiddleware can return a 500
-                # or the ExceptionMiddleware can catch and handle any other exceptions
-                raise dependency_exception
-        else:
-            await self.app(scope, receive, send)  # pragma: no cover
+        dependency_exception: Optional[Exception] = None
+        async with AsyncExitStack() as stack:
+            scope[self.context_name] = stack
+            try:
+                await self.app(scope, receive, send)
+            except Exception as e:
+                dependency_exception = e
+                raise e
+        if dependency_exception:
+            # This exception was possibly handled by the dependency but it should
+            # still bubble up so that the ServerErrorMiddleware can return a 500
+            # or the ExceptionMiddleware can catch and handle any other exceptions
+            raise dependency_exception