@@ -360,33 +360,33 @@ protected void deserializePayloadBody(
360360
361361 var deserializerSymbol = symbolProvider .toSymbol (target );
362362
363- writer .write ("if body:" ).indent ();
364-
365363 if (target .isUnionShape ()) {
366364 deserializerSymbol = deserializerSymbol .expectProperty (SymbolProperties .DESERIALIZER );
367365 writer .write ("""
368- codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
369- deserializer = codec.create_deserializer(body)
370- kwargs[$S] = $T().deserialize(deserializer)
366+ if body:
367+ codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
368+ deserializer = codec.create_deserializer(body)
369+ kwargs[$S] = $T().deserialize(deserializer)
371370 """ , memberName , deserializerSymbol );
372371 } else if (target .isStringShape ()) {
373- writer .write ("kwargs[$S] = body.decode('utf-8')" , memberName );
372+ writer .write ("kwargs[$S] = body.decode('utf-8') if body else \" \" " , memberName );
374373 } else if (target .isBlobShape ()) {
375- writer .write ("kwargs[$S] = body" , memberName );
374+ writer .write ("kwargs[$S] = body or b \" \" " , memberName );
376375 } else if (target .isDocumentShape ()) {
377376 var schemaSymbol = deserializerSymbol .expectProperty (SymbolProperties .SCHEMA );
378377 writer .write ("""
379- codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
380- deserializer = codec.create_deserializer(body)
381- kwargs[$S] = deserializer.read_document($T)
378+ if body:
379+ codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
380+ deserializer = codec.create_deserializer(body)
381+ kwargs[$S] = deserializer.read_document($T)
382382 """ , memberName , schemaSymbol );
383383 } else {
384384 writer .write ("""
385- codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
386- kwargs[$S] = codec.deserialize(body, $T)
385+ if body:
386+ codec = JSONCodec(default_timestamp_format=TimestampFormat.EPOCH_SECONDS)
387+ kwargs[$S] = codec.deserialize(body, $T)
387388 """ , memberName , deserializerSymbol );
388389 }
389- writer .dedent ();
390390 }
391391
392392 @ Override
0 commit comments