Ratan1729/code-execution
1
1// ─── Rate Limiting Middleware ─────────────────2// Protects the 1GB instance from abuse3 4const rateLimit = require("express-rate-limit");5const config = require("../config");6 7const rateLimiter = rateLimit({8 windowMs: config.RATE_LIMIT_WINDOW,9 max: config.RATE_LIMIT_MAX,10 message: {11 success: false,12 error: "Too Many Requests",13 message: `Rate limit exceeded. Maximum ${config.RATE_LIMIT_MAX} requests per ${config.RATE_LIMIT_WINDOW / 1000} seconds.`,14 },15 standardHeaders: true,16 legacyHeaders: false,17 keyGenerator: (req) => {18 // Use X-Forwarded-For if behind a proxy, otherwise IP19 return req.headers["x-forwarded-for"] || req.ip;20 },21});22 23module.exports = { rateLimiter };24 