| 123456789101112131415 |
- settings = require("settings-sharelatex")
- redis = require("redis-sharelatex")
- rclient = redis.createClient(settings.redis.web)
- redback = require("redback").use(rclient)
- module.exports =
- addCount: (opts, callback = (opts, shouldProcess)->)->
- ratelimit = redback.createRateLimit(opts.endpointName)
- ratelimit.addCount opts.subjectName, opts.timeInterval, (err, callCount)->
- shouldProcess = callCount < opts.throttle
- callback(err, shouldProcess)
-
- clearRateLimit: (endpointName, subject, callback) ->
- rclient.del "#{endpointName}:#{subject}", callback
|