diff --git a/src/main.py b/src/main.py index 265deee..061aa3f 100644 --- a/src/main.py +++ b/src/main.py @@ -13,6 +13,7 @@ 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.exc import SQLAlchemyError from sqlalchemy.orm import scoped_session @@ -56,6 +57,8 @@ app.add_exception_handler(SQLAlchemyError, handle_exception) from src.context import set_request_id, reset_request_id, get_request_id app.add_middleware(RequestValidationMiddleware) +app.add_middleware(SlowAPIMiddleware) + @app.middleware("http") diff --git a/src/rate_limiter.py b/src/rate_limiter.py index 52054d3..d51469c 100644 --- a/src/rate_limiter.py +++ b/src/rate_limiter.py @@ -2,4 +2,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"] +)