from fastapi import Request def get_client_ip(request: Request) -> str: forwarded = request.headers.get("X-Forwarded-For") if forwarded: return forwarded.split(",", 1)[0].strip() if request.client is None: raise ValueError("Client IP is unavailable") return request.client.host