Skip to content

Commit 032f07c

Browse files
Add ignore_unknown_fields as an argument to JSONProtoPayloadConverter
1 parent 24fea4c commit 032f07c

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

temporalio/converter.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,16 @@ def from_payload(
388388
class JSONProtoPayloadConverter(EncodingPayloadConverter):
389389
"""Converter for 'json/protobuf' payloads supporting protobuf Message values."""
390390

391+
def __init__(self, ignore_unknown_fields: bool = False):
392+
"""Initialize a JSON proto converter.
393+
394+
Args:
395+
ignore_unknown_fields: Determines whether converter should error if
396+
unknown fields are detected
397+
"""
398+
super().__init__()
399+
self._ignore_unknown_fields = ignore_unknown_fields
400+
391401
@property
392402
def encoding(self) -> str:
393403
"""See base class."""
@@ -424,7 +434,11 @@ def from_payload(
424434
message_type = payload.metadata.get("messageType", b"<unknown>").decode()
425435
try:
426436
value = _sym_db.GetSymbol(message_type)()
427-
return google.protobuf.json_format.Parse(payload.data, value)
437+
return google.protobuf.json_format.Parse(
438+
payload.data,
439+
value,
440+
ignore_unknown_fields=self._ignore_unknown_fields,
441+
)
428442
except KeyError as err:
429443
raise RuntimeError(f"Unknown Protobuf type {message_type}") from err
430444
except google.protobuf.json_format.ParseError as err:

0 commit comments

Comments
 (0)