(req, res, next, overrideParam)
| 105 | |
| 106 | // Mock the rate function to accept override parameter |
| 107 | const testRate = (req, res, next, overrideParam) => { |
| 108 | const config = req.server.rate; |
| 109 | if (config.enabled === false || req.unprotect) { |
| 110 | next(); |
| 111 | } else { |
| 112 | const results = req.server.rateLimit(req, overrideParam); |
| 113 | const good = results.shift(); |
| 114 | if (good) { |
| 115 | const rateHeaders = [ |
| 116 | "x-ratelimit-limit", |
| 117 | "x-ratelimit-remaining", |
| 118 | "x-ratelimit-reset" |
| 119 | ]; |
| 120 | for (const [idx, i] of rateHeaders.entries()) { |
| 121 | res.header(i, results[idx]); |
| 122 | } |
| 123 | next(); |
| 124 | } else { |
| 125 | res.header("retry-after", config.reset); |
| 126 | res.error(config.status || 429); |
| 127 | } |
| 128 | } |
| 129 | }; |
| 130 | |
| 131 | testRate(mockReq, mockRes, mockNext, override); |
| 132 |
no test coverage detected