Spaces:
Runtime error
Runtime error
Ko-TTS-Arena Contributors Claude Opus 4.5 commited on
Commit ·
b2e640a
1
Parent(s): bb088b9
Use access_route for IP detection in HF Spaces
Browse files- Add access_route fallback since HF Spaces doesn't pass X-Forwarded-For
- Remove debug-headers endpoint
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
app.py
CHANGED
|
@@ -123,6 +123,9 @@ def get_client_ip():
|
|
| 123 |
return request.headers.get('X-Real-IP')
|
| 124 |
elif request.headers.get('CF-Connecting-IP'): # Cloudflare
|
| 125 |
return request.headers.get('CF-Connecting-IP')
|
|
|
|
|
|
|
|
|
|
| 126 |
else:
|
| 127 |
return request.remote_addr
|
| 128 |
|
|
@@ -369,19 +372,6 @@ print(f"Loaded {len(all_harvard_sentences)} Korean prompts")
|
|
| 369 |
# Initialize initial_sentences as empty - will be populated with unconsumed sentences only
|
| 370 |
initial_sentences = []
|
| 371 |
|
| 372 |
-
@app.route("/debug-headers")
|
| 373 |
-
def debug_headers():
|
| 374 |
-
"""Temporary endpoint to check request headers"""
|
| 375 |
-
headers_info = {
|
| 376 |
-
'X-Forwarded-For': request.headers.get('X-Forwarded-For'),
|
| 377 |
-
'X-Real-IP': request.headers.get('X-Real-IP'),
|
| 378 |
-
'CF-Connecting-IP': request.headers.get('CF-Connecting-IP'),
|
| 379 |
-
'remote_addr': request.remote_addr,
|
| 380 |
-
'access_route': list(request.access_route),
|
| 381 |
-
'get_client_ip()': get_client_ip(),
|
| 382 |
-
}
|
| 383 |
-
return jsonify(headers_info)
|
| 384 |
-
|
| 385 |
@app.route("/")
|
| 386 |
def arena():
|
| 387 |
# Pass a subset of sentences for the random button fallback
|
|
|
|
| 123 |
return request.headers.get('X-Real-IP')
|
| 124 |
elif request.headers.get('CF-Connecting-IP'): # Cloudflare
|
| 125 |
return request.headers.get('CF-Connecting-IP')
|
| 126 |
+
elif request.access_route:
|
| 127 |
+
# Use access_route for HF Spaces (falls back to proxy chain)
|
| 128 |
+
return request.access_route[0]
|
| 129 |
else:
|
| 130 |
return request.remote_addr
|
| 131 |
|
|
|
|
| 372 |
# Initialize initial_sentences as empty - will be populated with unconsumed sentences only
|
| 373 |
initial_sentences = []
|
| 374 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 375 |
@app.route("/")
|
| 376 |
def arena():
|
| 377 |
# Pass a subset of sentences for the random button fallback
|