mirror of
https://github.com/dap-ps/discover.git
synced 2025-02-13 01:36:26 +00:00
22 lines
761 B
JavaScript
22 lines
761 B
JavaScript
|
let rateLimit = require('express-rate-limit');
|
||
|
const logger = require('./../../logger/logger').getLoggerFor("Rate-Limit");
|
||
|
|
||
|
class RateLimitMiddleware {
|
||
|
|
||
|
static setup() {
|
||
|
let limiter = rateLimit({
|
||
|
windowMs: process.env.RATE_LIMIT_TIME,
|
||
|
max: process.env.MAX_REQUESTS_FOR_RATE_LIMIT_TIME,
|
||
|
handler: function (req, res) {
|
||
|
logger.warn(this.message);
|
||
|
res.status(this.statusCode).send({ error: this.message });
|
||
|
},
|
||
|
message: `Rate limit was reached, you are able to do ${process.env.MAX_REQUESTS_FOR_RATE_LIMIT_TIME} requests per ${process.env.RATE_LIMIT_TIME} milliseconds`
|
||
|
});
|
||
|
|
||
|
return limiter;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module.exports = RateLimitMiddleware.setup();
|