Skip to content

Commit 17fd852

Browse files
Update middleware/api_client/src/middleware/api_client/api_client.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent cf6dc92 commit 17fd852

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

middleware/api_client/src/middleware/api_client/api_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,10 @@ def _serialize_arc(cls, arc: "ARC | dict[str, Any] | str") -> dict[str, Any]:
452452
return arc
453453
if isinstance(arc, str):
454454
try:
455-
return cast(dict[str, Any], json.loads(arc))
455+
data = json.loads(arc)
456+
if not isinstance(data, dict):
457+
raise ApiClientError(f"JSON string must represent a dictionary, got {type(data).__name__}")
458+
return cast(dict[str, Any], data)
456459
except json.JSONDecodeError as e:
457460
raise ApiClientError(f"Invalid JSON string provided for ARC: {e}") from e
458461
return cast(dict[str, Any], json.loads(arc.ToROCrateJsonString()))

0 commit comments

Comments
 (0)