Spaces:
Running
Running
| """Middleware configuration for the NLProxy server. | |
| Author: IntelliDeep Labs Team | |
| License: BSL 1.1 | |
| """ | |
| from __future__ import annotations | |
| import uuid | |
| from fastapi import FastAPI, Request | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from fastapi.middleware.gzip import GZipMiddleware | |
| def configure_middlewares(app: FastAPI) -> None: | |
| """Register standard server middleware.""" | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| expose_headers=["*"], | |
| max_age=3600, | |
| ) | |
| app.add_middleware( | |
| GZipMiddleware, | |
| minimum_size=1000, | |
| compresslevel=6, | |
| ) | |
| def configure_request_id(app: FastAPI) -> None: | |
| """Attach a request id to each incoming request.""" | |
| async def add_request_id(request: Request, call_next): | |
| request.state.request_id = str(uuid.uuid4()) | |
| response = await call_next(request) | |
| response.headers["X-Request-ID"] = request.state.request_id | |
| return response | |