feat: app rate limit (#5844)

Co-authored-by: liuzhenghua-jk <liuzhenghua-jk@360shuke.com>
Co-authored-by: takatost <takatost@gmail.com>
This commit is contained in:
liuzhenghua 2024-07-10 13:31:35 +00:00 committed by GitHub
commit 9622fbb62f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 277 additions and 56 deletions

View file

@ -6,6 +6,8 @@ from flask_restful import Api, http_status_message
from werkzeug.datastructures import Headers
from werkzeug.exceptions import HTTPException
from core.errors.error import AppInvokeQuotaExceededError
class ExternalApi(Api):
@ -43,6 +45,13 @@ class ExternalApi(Api):
'message': str(e),
'status': status_code
}
elif isinstance(e, AppInvokeQuotaExceededError):
status_code = 429
default_data = {
'code': 'too_many_requests',
'message': str(e),
'status': status_code
}
else:
status_code = 500
default_data = {