Quellcode durchsuchen

add method deal

yuken vor 3 Jahren
Ursprung
Commit
a1f9e22cda

+ 6 - 1
packages/app/src/server/middlewares/api-rate-limiter.ts

@@ -44,7 +44,12 @@ module.exports = () => {
       return;
       return;
     }
     }
 
 
-    await consumePoints(rateLimiter, key, customizedConfig.consumePoints, next);
+    if (customizedConfig.method.includes(req.method) || customizedConfig.method === 'ALL') {
+      await consumePoints(rateLimiter, key, customizedConfig.consumePoints, next);
+      return;
+    }
+
+    await consumePoints(rateLimiter, key, defaultConsumePoints, next);
     return;
     return;
   };
   };
 };
 };

+ 2 - 2
packages/app/src/server/util/generateApiRateLimitConfig.ts

@@ -31,10 +31,10 @@ const generateApiRateLimitConfigFromEndpoint = (envVar: NodeJS.ProcessEnv, endpo
     }
     }
 
 
     const target = key.replace('API_RATE_LIMIT_', '').replace('_ENDPOINT', '');
     const target = key.replace('API_RATE_LIMIT_', '').replace('_ENDPOINT', '');
-    const method = envVar[`API_RATE_LIMIT_${target}_METHODS`];
+    const method = envVar[`API_RATE_LIMIT_${target}_METHODS`] ?? 'ALL';
     const consumePoints = Number(envVar[`API_RATE_LIMIT_${target}_CONSUME_POINTS`]);
     const consumePoints = Number(envVar[`API_RATE_LIMIT_${target}_CONSUME_POINTS`]);
 
 
-    if (endpoint === undefined || method === undefined || consumePoints === undefined) {
+    if (endpoint === undefined || consumePoints === undefined) {
       return;
       return;
     }
     }