MisterAI's picture
download
raw
637 Bytes
from contextlib import AsyncExitStack
from starlette.types import ASGIApp, Receive, Scope, Send
# Used mainly to close files after the request is done, dependencies are closed
# in their own AsyncExitStack
class AsyncExitStackMiddleware:
def __init__(
self, app: ASGIApp, context_name: str = "fastapi_middleware_astack"
) -> None:
self.app = app
self.context_name = context_name
async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
async with AsyncExitStack() as stack:
scope[self.context_name] = stack
await self.app(scope, receive, send)

Xet Storage Details

Size:
637 Bytes
·
Xet hash:
b5dca27df0873f56cda29c4f61c08eab3e8976572043674002cf5f4cb4ac9b76

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.