aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/throttling.py
diff options
context:
space:
mode:
Diffstat (limited to 'rest_framework/throttling.py')
-rw-r--r--rest_framework/throttling.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/rest_framework/throttling.py b/rest_framework/throttling.py
index 60e46d47..c40f3065 100644
--- a/rest_framework/throttling.py
+++ b/rest_framework/throttling.py
@@ -28,8 +28,12 @@ class BaseThrottle(object):
remote_addr = request.META.get('REMOTE_ADDR')
num_proxies = api_settings.NUM_PROXIES
- if xff and num_proxies:
- return xff.split(',')[-min(num_proxies, len(xff))].strip()
+ if num_proxies is not None:
+ if num_proxies == 0 or xff is None:
+ return remote_addr
+ addrs = xff.split(',')
+ client_addr = addrs[-min(num_proxies, len(xff))]
+ return client_addr.strip()
return xff if xff else remote_addr