be even more defensive

This commit is contained in:
Khaleel Al-Adhami 2025-01-13 17:17:38 -08:00
parent 2d20c40641
commit c2af297b30

View File

@ -1570,11 +1570,16 @@ class EventNamespace(AsyncNamespace):
fields = data fields = data
if isinstance(fields, str): if isinstance(fields, str):
fields = json.loads(fields)
console.warn( console.warn(
"Received event data as a string. This generally should not happen and may indicate a bug." "Received event data as a string. This generally should not happen and may indicate a bug."
f" Event data: {fields}" f" Event data: {fields}"
) )
try:
fields = json.loads(fields)
except json.JSONDecodeError as ex:
raise exceptions.EventDeserializationError(
f"Failed to deserialize event data: {fields}."
) from ex
if not isinstance(fields, dict): if not isinstance(fields, dict):
raise exceptions.EventDeserializationError( raise exceptions.EventDeserializationError(