Spaces:
Running
Running
Download request_limits.py from vllm-sr/vela-studio: direct link, hf CLI and curl.
- Browser
- Download file 1.42 kB
-
https://huggingface.co/spaces/vllm-sr/vela-studio/resolve/main/request_limits.py
- Command line
-
hf download hf://spaces/vllm-sr/vela-studio/request_limits.py
-
curl -L -o request_limits.py https://huggingface.co/spaces/vllm-sr/vela-studio/resolve/main/request_limits.py
1.42 kB
| """Bound request bytes before the framework parses public JSON inputs.""" | |
| from starlette.responses import JSONResponse | |
| class RequestSizeLimitMiddleware: | |
| def __init__(self, app, max_bytes=2 * 1024 * 1024): | |
| self.app = app | |
| self.max_bytes = max_bytes | |
| async def __call__(self, scope, receive, send): | |
| if scope["type"] != "http" or scope["path"] not in {"/api/analyze", "/api/jobs"}: | |
| return await self.app(scope, receive, send) | |
| body = bytearray() | |
| while True: | |
| message = await receive() | |
| if message["type"] == "http.disconnect": | |
| return | |
| chunk = message.get("body", b"") | |
| if len(body) + len(chunk) > self.max_bytes: | |
| response = JSONResponse(status_code=413, content={ | |
| "detail": "Request is too large. Use fewer or smaller media files, or shorten the text.", | |
| }) | |
| return await response(scope, receive, send) | |
| body.extend(chunk) | |
| if not message.get("more_body", False): | |
| break | |
| delivered = False | |
| async def bounded_receive(): | |
| nonlocal delivered | |
| if delivered: | |
| return await receive() | |
| delivered = True | |
| return {"type": "http.request", "body": bytes(body), "more_body": False} | |
| await self.app(scope, bounded_receive, send) | |