Add console log to rate limit temporarily
This commit is contained in:
parent
9470ded1e8
commit
fb88dc5137
|
@ -5,7 +5,6 @@ if (!global.rateLimitList) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const middleware = (req, res, next) => {
|
const middleware = (req, res, next) => {
|
||||||
console.log(global.rateLimitList)
|
|
||||||
// X requests per Y seconds per IP address
|
// X requests per Y seconds per IP address
|
||||||
const maxRequests = process.env.RATE_LIMIT_MAX || 30;
|
const maxRequests = process.env.RATE_LIMIT_MAX || 30;
|
||||||
const timeWindow = process.env.RATE_LIMIT_TIME || 60;
|
const timeWindow = process.env.RATE_LIMIT_TIME || 60;
|
||||||
|
@ -17,13 +16,12 @@ const middleware = (req, res, next) => {
|
||||||
if (!global.rateLimitList[requestIp]) {
|
if (!global.rateLimitList[requestIp]) {
|
||||||
global.rateLimitList[requestIp] = { requests: 0, lastRequest: Date.now() };
|
global.rateLimitList[requestIp] = { requests: 0, lastRequest: Date.now() };
|
||||||
}
|
}
|
||||||
|
console.log(`Rate limit for ${requestIp}: ${global.rateLimitList[requestIp].requests}/${maxRequests} requests in the last ${timeWindow} seconds`);
|
||||||
if (global.rateLimitList[requestIp].lastRequest + timeWindow * 1000 < Date.now()) {
|
if (global.rateLimitList[requestIp].lastRequest + timeWindow * 1000 < Date.now()) {
|
||||||
global.rateLimitList[requestIp] = { requests: 0, lastRequest: Date.now() };
|
global.rateLimitList[requestIp] = { requests: 0, lastRequest: Date.now() };
|
||||||
} else {
|
} else {
|
||||||
if (global.rateLimitList[requestIp].requests >= maxRequests) {
|
if (global.rateLimitList[requestIp].requests >= maxRequests) {
|
||||||
return res.status(429).json({ completed: false, success: false, error: "Rate limit exceeded", message: "You have been rate limited. Please try again later.", expires: global.rateLimitList[requestIp].lastRequest + timeWindow * 1000 });
|
return res.status(429).json({ completed: false, success: false, error: "Rate limit exceeded", message: "You have been rate limited. Please try again later.", expires: global.rateLimitList[requestIp].lastRequest + timeWindow * 1000 });
|
||||||
} else {
|
|
||||||
global.rateLimitList[requestIp].lastRequest = Date.now();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
global.rateLimitList[requestIp].requests++;
|
global.rateLimitList[requestIp].requests++;
|
||||||
|
|
Loading…
Reference in a new issue