Update app.py
Browse files
app.py
CHANGED
|
@@ -616,8 +616,15 @@ HEADERS = {
|
|
| 616 |
# --- Rate Limiting Logic ---
|
| 617 |
ip_usage: dict[str, dict] = {}
|
| 618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 619 |
def check_rate_limit(request: Request):
|
| 620 |
-
|
|
|
|
| 621 |
today = date.today()
|
| 622 |
|
| 623 |
# Initialize or reset if it's a new day
|
|
|
|
| 616 |
# --- Rate Limiting Logic ---
|
| 617 |
ip_usage: dict[str, dict] = {}
|
| 618 |
|
| 619 |
+
def get_client_ip(request: Request) -> str:
|
| 620 |
+
forwarded_for = request.headers.get("X-Forwarded-For")
|
| 621 |
+
if forwarded_for:
|
| 622 |
+
return forwarded_for.split(",")[0].strip() # leftmost = real client
|
| 623 |
+
return request.client.host # fallback for local dev
|
| 624 |
+
|
| 625 |
def check_rate_limit(request: Request):
|
| 626 |
+
print(f"client.host={request.client.host}, X-Forwarded-For={request.headers.get('X-Forwarded-For')}")
|
| 627 |
+
client_ip = get_client_ip(request) # <-- use this instead
|
| 628 |
today = date.today()
|
| 629 |
|
| 630 |
# Initialize or reset if it's a new day
|