mirror of
https://github.com/zulip/zulip.git
synced 2025-11-05 06:23:38 +00:00
decorator: Extract public_json_view.
This refactoring is necessary to separate the expected type annotation for view functions with different authentication methods. Currently the signature aren't actually check against view functions because `rest_path` does not support type checking parameter types, but it will become useful once we do. Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
committed by
Tim Abbott
parent
299f3442ff
commit
f54ecad6cd
@@ -12,6 +12,7 @@ from zerver.decorator import (
|
||||
authenticated_rest_api_view,
|
||||
authenticated_uploads_api_view,
|
||||
process_as_post,
|
||||
public_json_view,
|
||||
)
|
||||
from zerver.lib.exceptions import MissingAuthenticationError
|
||||
from zerver.lib.request import RequestNotes
|
||||
@@ -150,8 +151,7 @@ def rest_dispatch(request: HttpRequest, **kwargs: Any) -> HttpResponse:
|
||||
):
|
||||
# For endpoints that support anonymous web access, we do that.
|
||||
# TODO: Allow /api calls when this is stable enough.
|
||||
auth_kwargs = dict(allow_unauthenticated=True)
|
||||
target_function = csrf_protect(authenticated_json_view(target_function, **auth_kwargs))
|
||||
target_function = csrf_protect(public_json_view(target_function))
|
||||
else:
|
||||
# Otherwise, throw an authentication error; our middleware
|
||||
# will generate the appropriate HTTP response.
|
||||
|
||||
Reference in New Issue
Block a user