Files
2024-02-15 00:17:51 +03:30

16 lines
507 B
Python

from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.errors import RateLimitExceeded
from starlette.requests import Request
from config import conf
from core.app import app
def get_unique_identification(request: Request) -> str:
return request.client.host or "127.0.0.1"
limiter = Limiter(key_func=get_unique_identification, storage_uri=conf.database.get('limiter_redis').url)
app.state.limiter = limiter
app.add_exception_handler(RateLimitExceeded, _rate_limit_exceeded_handler)