MCPcopy
hub / github.com/encode/starlette / AwaitableOrContextManagerWrapper

Class AwaitableOrContextManagerWrapper

starlette/_utils.py:64–79  ·  starlette/_utils.py::AwaitableOrContextManagerWrapper

Source from the content-addressed store, hash-verified

62
63
64class AwaitableOrContextManagerWrapper(Generic[SupportsAsyncCloseType]):
65 __slots__ = (class="st">"aw", class="st">"entered")
66
67 def __init__(self, aw: Awaitable[SupportsAsyncCloseType]) -> None:
68 self.aw = aw
69
70 def __await__(self) -> Generator[Any, None, SupportsAsyncCloseType]:
71 return self.aw.__await__()
72
73 async def __aenter__(self) -> SupportsAsyncCloseType:
74 self.entered = await self.aw
75 return self.entered
76
77 async def __aexit__(self, *args: Any) -> None | bool:
78 await self.entered.close()
79 return None
80
81
82@asynccontextmanager

Callers 1

formMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected