Просмотр исходного кода

Modified to set a threshold for each request

Shun Miyazawa 1 год назад
Родитель
Сommit
bca807e89e
1 измененных файлов с 2 добавлено и 5 удалено
  1. 2 5
      apps/app/src/features/rate-limiter/middleware/factory.ts

+ 2 - 5
apps/app/src/features/rate-limiter/middleware/factory.ts

@@ -19,11 +19,8 @@ const logger = loggerFactory('growi:middleware:api-rate-limit');
 // API_RATE_LIMIT_010_FOO_METHODS=GET,POST
 // API_RATE_LIMIT_010_FOO_MAX_REQUESTS=10
 
-export const POINTS_THRESHOLD = 100;
-
 const opts: IRateLimiterMongoOptions = {
   storeClient: connection,
-  points: POINTS_THRESHOLD, // set default value
   duration: DEFAULT_DURATION_SEC, // set default value
 };
 const rateLimiter = new RateLimiterMongo(opts);
@@ -56,8 +53,8 @@ export const _consumePoints = async(
     maxRequests *= maxRequestsMultiplier;
   }
 
-  const consumePoints = POINTS_THRESHOLD / maxRequests;
-  const rateLimiterRes = await rateLimiter.consume(key, consumePoints);
+  rateLimiter.points = maxRequests;
+  const rateLimiterRes = await rateLimiter.consume(key, 1);
   return rateLimiterRes;
 };