feat: configure default rate limits and integrate SlowAPI middleware

oh_security
Cizz22 4 months ago committed by TAMDeveloper13
parent c5f7384b2d
commit 543bc84f70

@ -12,6 +12,7 @@ from fastapi.responses import JSONResponse
from pydantic import ValidationError
from slowapi import _rate_limit_exceeded_handler
from slowapi.errors import RateLimitExceeded
from slowapi.middleware import SlowAPIMiddleware
from sqlalchemy import inspect
from sqlalchemy.ext.asyncio import async_scoped_session
from sqlalchemy.orm import scoped_session
@ -56,6 +57,8 @@ app.add_exception_handler(RateLimitExceeded, handle_exception)
app.state.limiter = limiter
app.add_middleware(GZipMiddleware, minimum_size=1000)
app.add_middleware(SlowAPIMiddleware)
# credentials: "include",

@ -1,4 +1,7 @@
from slowapi import Limiter
from slowapi.util import get_remote_address
limiter = Limiter(key_func=get_remote_address)
limiter = Limiter(
key_func=get_remote_address,
default_limits=["20000 per hour", "100000 per day"]
)

Loading…
Cancel
Save