mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-27 08:29:59 +03:00
Replace SimpleThrottle self.history default value with deque
This commit is contained in:
parent
98e56e0327
commit
fe183fd3d2
|
@ -2,6 +2,7 @@
|
|||
Provides various throttling policies.
|
||||
"""
|
||||
import time
|
||||
from collections import deque
|
||||
|
||||
from django.core.cache import cache as default_cache
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
@ -120,7 +121,7 @@ class SimpleRateThrottle(BaseThrottle):
|
|||
if self.key is None:
|
||||
return True
|
||||
|
||||
self.history = self.cache.get(self.key, [])
|
||||
self.history = self.cache.get(self.key, deque())
|
||||
self.now = self.timer()
|
||||
|
||||
# Drop any requests from the history which have now passed the
|
||||
|
@ -136,7 +137,7 @@ class SimpleRateThrottle(BaseThrottle):
|
|||
Inserts the current request's timestamp along with the key
|
||||
into the cache.
|
||||
"""
|
||||
self.history.insert(0, self.now)
|
||||
self.history.appendleft(self.now)
|
||||
self.cache.set(self.key, self.history, self.duration)
|
||||
return True
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user