|
|
|
@ -19,6 +19,7 @@ from starlette.middleware.base import BaseHTTPMiddleware, RequestResponseEndpoin
|
|
|
|
from starlette.requests import Request
|
|
|
|
from starlette.requests import Request
|
|
|
|
from starlette.routing import compile_path
|
|
|
|
from starlette.routing import compile_path
|
|
|
|
from starlette.middleware.gzip import GZipMiddleware
|
|
|
|
from starlette.middleware.gzip import GZipMiddleware
|
|
|
|
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
|
|
|
|
|
|
|
|
from starlette.responses import Response, StreamingResponse, FileResponse
|
|
|
|
from starlette.responses import Response, StreamingResponse, FileResponse
|
|
|
|
from starlette.staticfiles import StaticFiles
|
|
|
|
from starlette.staticfiles import StaticFiles
|
|
|
|
@ -31,6 +32,7 @@ from src.api import api_router
|
|
|
|
from src.database.core import engine, async_session
|
|
|
|
from src.database.core import engine, async_session
|
|
|
|
from src.exceptions import handle_exception
|
|
|
|
from src.exceptions import handle_exception
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
# we configure the logging level and format
|
|
|
|
# we configure the logging level and format
|
|
|
|
@ -46,6 +48,13 @@ app = FastAPI(exception_handlers=exception_handlers, openapi_url="", title="LCCA
|
|
|
|
app.state.limiter = limiter
|
|
|
|
app.state.limiter = limiter
|
|
|
|
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
|
|
|
|
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)
|
|
|
|
app.add_middleware(GZipMiddleware, minimum_size=2000)
|
|
|
|
app.add_middleware(GZipMiddleware, minimum_size=2000)
|
|
|
|
|
|
|
|
app.add_middleware(
|
|
|
|
|
|
|
|
CORSMiddleware,
|
|
|
|
|
|
|
|
allow_origins=['*'],
|
|
|
|
|
|
|
|
allow_credentials=True,
|
|
|
|
|
|
|
|
allow_methods=["*"],
|
|
|
|
|
|
|
|
allow_headers=["*"],
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REQUEST_ID_CTX_KEY: Final[str] = "request_id"
|
|
|
|
REQUEST_ID_CTX_KEY: Final[str] = "request_id"
|
|
|
|
@ -104,8 +113,6 @@ async def add_security_headers(request: Request, call_next):
|
|
|
|
# return response
|
|
|
|
# return response
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# app.add_middleware(ExceptionMiddleware)
|
|
|
|
# app.add_middleware(ExceptionMiddleware)
|
|
|
|
|
|
|
|
|
|
|
|
app.include_router(api_router)
|
|
|
|
app.include_router(api_router)
|
|
|
|
|