zilencer: Only apply rate limit to remote server.

This refactors the test case alongside, since normal views accessed by
remote server do not get rate limited by remote server anymore.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
Zixuan James Li
2022-08-14 10:16:36 -04:00
committed by Tim Abbott
parent 79e86471e7
commit 29bad25f83
3 changed files with 16 additions and 17 deletions

View File

@@ -15,7 +15,7 @@ from zerver.lib.exceptions import (
RemoteServerDeactivatedError,
UnauthorizedError,
)
from zerver.lib.rate_limiter import rate_limit
from zerver.lib.rate_limiter import rate_limit_remote_server, should_rate_limit
from zerver.lib.request import RequestNotes
from zerver.lib.rest import get_target_view_function_or_response
from zerver.lib.subdomains import get_subdomain
@@ -80,7 +80,8 @@ def authenticated_remote_server_view(
except JsonableError as e:
raise UnauthorizedError(e.msg)
rate_limit(request)
if should_rate_limit(request):
rate_limit_remote_server(request, remote_server, domain="api_by_remote_server")
return view_func(request, remote_server, *args, **kwargs)
return _wrapped_view_func