summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-08-19 19:13:37 +0100
committerdakkar <dakkar@thenautilus.net>2024-08-19 20:38:43 +0100
commit1b5bedc1d0330f0d639dafefeea41d86f95db914 (patch)
treeb78e5625c3fff9919e83599ce311f739320248c5 /packages/backend/src/server/api
parentmerge: misskey 2024.7 (!583) (diff)
downloadsharkey-1b5bedc1d0330f0d639dafefeea41d86f95db914.tar.gz
sharkey-1b5bedc1d0330f0d639dafefeea41d86f95db914.tar.bz2
sharkey-1b5bedc1d0330f0d639dafefeea41d86f95db914.zip
thunk the min/max promises
this prevents generating promises we don't use, which would get logged by the node vm and spam the logs
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/RateLimiterService.ts14
1 files changed, 7 insertions, 7 deletions
diff --git a/packages/backend/src/server/api/RateLimiterService.ts b/packages/backend/src/server/api/RateLimiterService.ts
index 52d73baa0a..a30cb2d47d 100644
--- a/packages/backend/src/server/api/RateLimiterService.ts
+++ b/packages/backend/src/server/api/RateLimiterService.ts
@@ -38,7 +38,7 @@ export class RateLimiterService {
}
// Short-term limit
- const min = new Promise<void>((ok, reject) => {
+ const minP = () => { return new Promise<void>((ok, reject) => {
const minIntervalLimiter = new Limiter({
id: `${actor}:${limitation.key}:min`,
duration: limitation.minInterval! * factor,
@@ -57,16 +57,16 @@ export class RateLimiterService {
return reject({ code: 'BRIEF_REQUEST_INTERVAL', info });
} else {
if (hasLongTermLimit) {
- return max.then(ok, reject);
+ return maxP().then(ok, reject);
} else {
return ok();
}
}
});
- });
+ }) };
// Long term limit
- const max = new Promise<void>((ok, reject) => {
+ const maxP = () => { return new Promise<void>((ok, reject) => {
const limiter = new Limiter({
id: `${actor}:${limitation.key}`,
duration: limitation.duration! * factor,
@@ -87,7 +87,7 @@ export class RateLimiterService {
return ok();
}
});
- });
+ }) };
const hasShortTermLimit = typeof limitation.minInterval === 'number';
@@ -96,9 +96,9 @@ export class RateLimiterService {
typeof limitation.max === 'number';
if (hasShortTermLimit) {
- return min;
+ return minP();
} else if (hasLongTermLimit) {
- return max;
+ return maxP();
} else {
return Promise.resolve();
}