diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-08-24 20:53:08 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-08-24 20:53:08 +0000 |
| commit | 9cf40ef4528a2a61d3d61d3a32abc7b787d05eca (patch) | |
| tree | 8e2e76ae2b15ca5309354d5e494383c707aa1b75 /packages/backend | |
| parent | merge: log deletion of user files from admin -- fixes #631 (!607) (diff) | |
| parent | tell the linter to shut up, this time (diff) | |
| download | sharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.tar.gz sharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.tar.bz2 sharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.zip | |
merge: thunk the min/max promises (!603)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/603
Approved-by: Marie <github@yuugi.dev>
Approved-by: fEmber <acomputerdog@gmail.com>
Diffstat (limited to 'packages/backend')
| -rw-r--r-- | packages/backend/src/server/api/RateLimiterService.ts | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/packages/backend/src/server/api/RateLimiterService.ts b/packages/backend/src/server/api/RateLimiterService.ts index 52d73baa0a..e94160a657 100644 --- a/packages/backend/src/server/api/RateLimiterService.ts +++ b/packages/backend/src/server/api/RateLimiterService.ts @@ -37,8 +37,13 @@ export class RateLimiterService { return Promise.resolve(); } + // those lines with the "wrong" brace style / indentation are + // done that way so that the *other* lines stay identical to + // Misskey, simplifying merges + // Short-term limit - const min = new Promise<void>((ok, reject) => { + // eslint-disable-next-line brace-style + const minP = () => { return new Promise<void>((ok, reject) => { const minIntervalLimiter = new Limiter({ id: `${actor}:${limitation.key}:min`, duration: limitation.minInterval! * factor, @@ -57,16 +62,18 @@ 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(); } } }); - }); + // eslint-disable-next-line brace-style + }); }; // Long term limit - const max = new Promise<void>((ok, reject) => { + // eslint-disable-next-line brace-style + const maxP = () => { return new Promise<void>((ok, reject) => { const limiter = new Limiter({ id: `${actor}:${limitation.key}`, duration: limitation.duration! * factor, @@ -87,7 +94,8 @@ export class RateLimiterService { return ok(); } }); - }); + // eslint-disable-next-line brace-style + }); }; const hasShortTermLimit = typeof limitation.minInterval === 'number'; @@ -96,9 +104,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(); } |