Skip to content

Commit 69fea56

Browse files
committed
Merge pull request #2401 from jpadilla/master
Fix ident format when using HTTP_X_FORWARDED_FOR
2 parents e9ac1bb + cc13ee0 commit 69fea56

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

rest_framework/throttling.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ def get_ident(self, request):
3232
if num_proxies == 0 or xff is None:
3333
return remote_addr
3434
addrs = xff.split(',')
35-
client_addr = addrs[-min(num_proxies, len(xff))]
35+
client_addr = addrs[-min(num_proxies, len(addrs))]
3636
return client_addr.strip()
3737

38-
return xff if xff else remote_addr
38+
return ''.join(xff.split()) if xff else remote_addr
3939

4040
def wait(self):
4141
"""
@@ -173,12 +173,6 @@ def get_cache_key(self, request, view):
173173
if request.user.is_authenticated():
174174
return None # Only throttle unauthenticated requests.
175175

176-
ident = request.META.get('HTTP_X_FORWARDED_FOR')
177-
if ident is None:
178-
ident = request.META.get('REMOTE_ADDR')
179-
else:
180-
ident = ''.join(ident.split())
181-
182176
return self.cache_format % {
183177
'scope': self.scope,
184178
'ident': self.get_ident(request)

0 commit comments

Comments
 (0)