diff --git a/src/main.py b/src/main.py index 0f1bbf0..1e72219 100644 --- a/src/main.py +++ b/src/main.py @@ -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 @@ -55,6 +56,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", diff --git a/src/rate_limiter.py b/src/rate_limiter.py index 38404a8..555e2ac 100644 --- a/src/rate_limiter.py +++ b/src/rate_limiter.py @@ -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"] +)