mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Add better error messages for rate limits.
This commit is contained in:
@@ -27,9 +27,14 @@ class RateLimiter
|
||||
$redis.delete_prefixed(RateLimiter.key_prefix)
|
||||
end
|
||||
|
||||
def initialize(user, key, max, secs)
|
||||
def build_key(type)
|
||||
"#{RateLimiter.key_prefix}:#{@user && @user.id}:#{type}"
|
||||
end
|
||||
|
||||
def initialize(user, type, max, secs)
|
||||
@user = user
|
||||
@key = "#{RateLimiter.key_prefix}:#{@user && @user.id}:#{key}"
|
||||
@type = type
|
||||
@key = build_key(type)
|
||||
@max = max
|
||||
@secs = secs
|
||||
end
|
||||
@@ -53,7 +58,7 @@ class RateLimiter
|
||||
# let's ensure we expire this key at some point, otherwise we have leaks
|
||||
$redis.expire(@key, @secs * 2)
|
||||
else
|
||||
raise LimitExceeded.new(seconds_to_wait)
|
||||
raise RateLimiter::LimitExceeded.new(seconds_to_wait, @type)
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user