MCPcopy Create free account
hub / github.com/encode/starlette / AwaitableOrContextManagerWrapper

Class AwaitableOrContextManagerWrapper

starlette/_utils.py:86–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84
85
86class AwaitableOrContextManagerWrapper(Generic[SupportsAsyncCloseType]):
87 __slots__ = ("aw", "entered")
88
89 def __init__(self, aw: Awaitable[SupportsAsyncCloseType]) -> None:
90 self.aw = aw
91
92 def __await__(self) -> Generator[Any, None, SupportsAsyncCloseType]:
93 return self.aw.__await__()
94
95 async def __aenter__(self) -> SupportsAsyncCloseType:
96 self.entered = await self.aw
97 return self.entered
98
99 async def __aexit__(self, *args: Any) -> None | bool:
100 await self.entered.close()
101 return None
102
103
104@asynccontextmanager

Callers 1

formMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected