aboutsummaryrefslogtreecommitdiff
path: root/jb/views/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'jb/views/utils.py')
-rw-r--r--jb/views/utils.py20
1 files changed, 7 insertions, 13 deletions
diff --git a/jb/views/utils.py b/jb/views/utils.py
index 0d08e9b..a133263 100644
--- a/jb/views/utils.py
+++ b/jb/views/utils.py
@@ -2,17 +2,11 @@ from fastapi import Request
def get_client_ip(request: Request) -> str:
- """
- Using a testclient, the ip returned is 'testclient'. If so, instead, grab
- the ip from the headers
- """
- ip = request.headers.get("X-Forwarded-For")
- if not ip:
- ip = request.client.host # type: ignore
- elif ip == "testclient" or ip.startswith("10."):
- forwarded = request.headers.get("X-Forwarded-For")
- ip = (
- forwarded.split(",")[0].strip() if forwarded else request.client.host # type: ignore
- )
+ forwarded = request.headers.get("X-Forwarded-For")
+ if forwarded:
+ return forwarded.split(",", 1)[0].strip()
- return ip
+ if request.client is None:
+ raise ValueError("Client IP is unavailable")
+
+ return request.client.host