contract-notifier/api/rate-limit.js
2019-11-15 10:45:53 -04:00

23 lines
636 B
JavaScript

const rateLimit = require("express-rate-limit");
const config = require("../config");
class RateLimitMiddleware {
static setup() {
const windowMs = config.RATE_LIMIT_TIME;
const maxReq = config.RATE_LIMIT_MAX_REQ;
let limiter = rateLimit({
windowMs: windowMs,
max: maxReq,
handler: function(req, res) {
console.warn(this.message);
res.status(this.statusCode).send({ error: this.message });
},
message: `Rate limit was reached, you are able to do ${maxReq} requests per ${windowMs} milliseconds`
});
return limiter;
}
}
module.exports = RateLimitMiddleware.setup;