Update middleware/midware.js
Browse files- middleware/midware.js +11 -2
middleware/midware.js
CHANGED
@@ -23,8 +23,17 @@ const authenticateApiKey = async (req, res, next) => {
|
|
23 |
const apiLimiter = rateLimit({
|
24 |
windowMs: 15 * 60 * 1000,
|
25 |
max: 3,
|
26 |
-
keyGenerator: (req) => req.headers[
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
});
|
29 |
|
30 |
class CheckMilWare {
|
|
|
23 |
const apiLimiter = rateLimit({
|
24 |
windowMs: 15 * 60 * 1000,
|
25 |
max: 3,
|
26 |
+
keyGenerator: (req) => req.headers["x-api-key"],
|
27 |
+
standardHeaders: true,
|
28 |
+
legacyHeaders: false,
|
29 |
+
message: (req, res) => {
|
30 |
+
const retryAfterMs = res.getHeaders()["retry-after"] * 1000 || 15 * 60 * 1000;
|
31 |
+
const remainingSeconds = Math.ceil(retryAfterMs / 1000);
|
32 |
+
const remainingMinutes = Math.floor(remainingSeconds / 60);
|
33 |
+
return {
|
34 |
+
error: `Too many requests from this API Key. Try again later: ${remainingMinutes}m ${remainingSeconds % 60}s.`
|
35 |
+
};
|
36 |
+
}
|
37 |
});
|
38 |
|
39 |
class CheckMilWare {
|