actix-rate-limit 0.3.1

Rate-Limit middleware for actix-web
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
-- * KEYS[1]: id
-- * KEYS[2]: hours
-- * ARGV[1]: limit

local limit = tonumber(ARGV[1])
local key = KEYS[1] .. ":" .. KEYS[2]
local hit = redis.call("INCR", key)
if hit == 1 then
    redis.call("EXPIRE", key, 3600)
end

return math.max(0, limit - hit)