summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-02-12 10:26:27 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-02-12 10:26:27 +0900
commit9ddf62d8b7b955217108a17e9074d50b5722dd3a (patch)
tree7720966a4d64ddd35b09b50f24cf52ffd3e1b460 /packages/backend/src/server/api
parentMerge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff)
downloadsharkey-9ddf62d8b7b955217108a17e9074d50b5722dd3a.tar.gz
sharkey-9ddf62d8b7b955217108a17e9074d50b5722dd3a.tar.bz2
sharkey-9ddf62d8b7b955217108a17e9074d50b5722dd3a.zip
enhance: レートリミットを0%にできるように
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/ApiCallService.ts18
1 files changed, 10 insertions, 8 deletions
diff --git a/packages/backend/src/server/api/ApiCallService.ts b/packages/backend/src/server/api/ApiCallService.ts
index 395a1c468a..2f3e7a44a9 100644
--- a/packages/backend/src/server/api/ApiCallService.ts
+++ b/packages/backend/src/server/api/ApiCallService.ts
@@ -227,15 +227,17 @@ export class ApiCallService implements OnApplicationShutdown {
// TODO: 毎リクエスト計算するのもあれだしキャッシュしたい
const factor = user ? (await this.roleService.getUserPolicies(user.id)).rateLimitFactor : 1;
- // Rate limit
- await this.rateLimiterService.limit(limit as IEndpointMeta['limit'] & { key: NonNullable<string> }, limitActor, factor).catch(err => {
- throw new ApiError({
- message: 'Rate limit exceeded. Please try again later.',
- code: 'RATE_LIMIT_EXCEEDED',
- id: 'd5826d14-3982-4d2e-8011-b9e9f02499ef',
- httpStatusCode: 429,
+ if (factor > 0) {
+ // Rate limit
+ await this.rateLimiterService.limit(limit as IEndpointMeta['limit'] & { key: NonNullable<string> }, limitActor, factor).catch(err => {
+ throw new ApiError({
+ message: 'Rate limit exceeded. Please try again later.',
+ code: 'RATE_LIMIT_EXCEEDED',
+ id: 'd5826d14-3982-4d2e-8011-b9e9f02499ef',
+ httpStatusCode: 429,
+ });
});
- });
+ }
}
if (ep.meta.requireCredential || ep.meta.requireModerator || ep.meta.requireAdmin) {