diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-02-12 11:20:17 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-02-12 11:20:17 +0900 |
| commit | c5ef6bf38ada420e80091891f57beeaa6b87b68c (patch) | |
| tree | d2f2f7b3c4586df1ab1af0cf61af2ca5571810cc /packages/backend/src/server/api/ApiCallService.ts | |
| parent | Merge branch 'develop' (diff) | |
| parent | 13.6.1 (diff) | |
| download | misskey-c5ef6bf38ada420e80091891f57beeaa6b87b68c.tar.gz misskey-c5ef6bf38ada420e80091891f57beeaa6b87b68c.tar.bz2 misskey-c5ef6bf38ada420e80091891f57beeaa6b87b68c.zip | |
Merge branch 'develop'
Diffstat (limited to 'packages/backend/src/server/api/ApiCallService.ts')
| -rw-r--r-- | packages/backend/src/server/api/ApiCallService.ts | 18 |
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) { |