randydev commited on
Commit
f1436b2
·
verified ·
1 Parent(s): 2a61428

Update middleware/midware.js

Browse files
Files changed (1) hide show
  1. 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['x-api-key'],
27
- message: 'Too many requests from this API Key'
 
 
 
 
 
 
 
 
 
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 {