ishaq101's picture
[KM-467] [DED][AI] Orchestration Agent - Init
027123c
raw
history blame contribute delete
576 Bytes
"""Rate limiting middleware using slowapi."""
from slowapi import Limiter, _rate_limit_exceeded_handler
from slowapi.util import get_remote_address
from slowapi.errors import RateLimitExceeded
from fastapi import Request
limiter = Limiter(key_func=get_remote_address)
def get_user_id_from_request(request: Request) -> str:
"""Extract user ID from request for rate limiting."""
# For document upload, use user_id if available, otherwise IP
user_id = request.headers.get("X-User-ID")
if user_id:
return user_id
return get_remote_address(request)