Add console log to rate limit temporarily

This commit is contained in:
Christopher Cookman 2024-12-23 16:32:48 -07:00
parent 9470ded1e8
commit fb88dc5137

View file

@ -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++;