-
Notifications
You must be signed in to change notification settings - Fork 115
Open
Labels
Description
I may be missing something but it seems strange that
def allowed?(request)
t1 = request_start_time(request)
t0 = cache_get(key = cache_key(request)) rescue nil
allowed = !t0 || (dt = t1 - t0.to_f) >= minimum_interval
begin
cache_set(key, t1)
allowed
rescue => e
# If an error occurred while trying to update the timestamp stored
# in the cache, we will fall back to allowing the request through.
# This prevents the Rack application blowing up merely due to a
# backend cache server (Memcached, Redis, etc.) being offline.
allowed = true
end
end
in interval.rb doesn't call the super implementation in limiter.rb
def allowed?(request)
case
when whitelisted?(request) then true
when blacklisted?(request) then false
else true # override in subclasses
end
end