File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -388,6 +388,16 @@ def from_payload(
388
388
class JSONProtoPayloadConverter (EncodingPayloadConverter ):
389
389
"""Converter for 'json/protobuf' payloads supporting protobuf Message values."""
390
390
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
+
391
401
@property
392
402
def encoding (self ) -> str :
393
403
"""See base class."""
@@ -424,7 +434,11 @@ def from_payload(
424
434
message_type = payload .metadata .get ("messageType" , b"<unknown>" ).decode ()
425
435
try :
426
436
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
+ )
428
442
except KeyError as err :
429
443
raise RuntimeError (f"Unknown Protobuf type { message_type } " ) from err
430
444
except google .protobuf .json_format .ParseError as err :
You can’t perform that action at this time.
0 commit comments