clan-app: Move json.loads to try catch

This commit is contained in:
Qubasa
2025-07-08 17:38:24 +07:00
parent 876a90cfc3
commit 26710c0aca
2 changed files with 9 additions and 6 deletions

View File

@@ -30,7 +30,7 @@ class LoggingMiddleware(Middleware):
if log_group is not None:
if not isinstance(log_group, list):
msg = f"Expected log_group to be a list, got {type(log_group)}"
raise TypeError(msg) # noqa: TRY301
raise TypeError(msg) # noqa: TRY301
log.warning(
f"Using log group {log_group} for {context.request.method_name} with op_key {context.request.op_key}"
)

View File

@@ -43,10 +43,11 @@ class WebviewBridge(ApiBridge):
arg: int,
) -> None:
"""Handle a call from webview's JavaScript bridge."""
op_key = op_key_bytes.decode()
raw_args = json.loads(request_data.decode())
try:
op_key = op_key_bytes.decode()
raw_args = json.loads(request_data.decode())
# Parse the webview-specific request format
header = {}
args = {}
@@ -56,17 +57,17 @@ class WebviewBridge(ApiBridge):
header = request.get("header", {})
if not isinstance(header, dict):
msg = f"Expected header to be a dict, got {type(header)}"
raise TypeError(msg) # noqa: TRY301
raise TypeError(msg) # noqa: TRY301
body = request.get("body", {})
if not isinstance(body, dict):
msg = f"Expected body to be a dict, got {type(body)}"
raise TypeError(msg) # noqa: TRY301
raise TypeError(msg) # noqa: TRY301
args = body
elif len(raw_args) > 1:
msg = "Expected a single argument, got multiple arguments"
raise ValueError(msg) # noqa: TRY301
raise ValueError(msg) # noqa: TRY301
# Create API request
api_request = BackendRequest(
@@ -74,6 +75,8 @@ class WebviewBridge(ApiBridge):
)
except Exception as e:
msg = f"Error while handling webview call {method_name} with op_key {op_key_bytes}"
log.exception(msg)
self.send_error_response(op_key, str(e), ["webview_bridge", method_name])
return