Skip to content

Commit bcfdcb6

Browse files
committed
fix readEventPayload()
1 parent 42751c8 commit bcfdcb6

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/HttpBindingProtocolGenerator.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,8 +1071,7 @@ private void generateDeserializingEventUnion(
10711071
Symbol eventSymbol = symbolProvider.toSymbol(target);
10721072
String eventDeserMethodName =
10731073
ProtocolGenerator.getDeserFunctionName(eventSymbol, protocolName) + "_event";
1074-
String statement = eventDeserMethodName + "(output['" + name + "'], context)";
1075-
writer.write("$L: await $L", name, statement);
1074+
writer.write("$1L: await $2L(output[$1S], context);", name, eventDeserMethodName);
10761075
});
10771076
});
10781077
});
@@ -1159,7 +1158,6 @@ private void readEventBody(GenerationContext context, StructureShape event) {
11591158
//There's only one event payload member
11601159
MemberShape payloadMember = payloadMembers.get(0);
11611160
readEventPayload(context, payloadMember);
1162-
writer.write("contents.$L = data;", payloadMember.getMemberName());
11631161
} else if (!documentMembers.isEmpty()) {
11641162
// Parse member from event body using original event structure deser.
11651163
SymbolProvider symbolProvider = context.getSymbolProvider();
@@ -1181,17 +1179,18 @@ private void readEventPayload(GenerationContext context, MemberShape payloadMemb
11811179
TypeScriptWriter writer = context.getWriter();
11821180
Model model = context.getModel();
11831181
Shape payloadTarget = model.expectShape(payloadMember.getTarget());
1182+
String memberName = payloadMember.getMemberName();
11841183
if (payloadTarget instanceof BlobShape) {
11851184
// If event payload is a blob, only need to collect stream to binary data(Uint8Array).
1186-
writer.write("const data: any = output.body;");
1185+
writer.write("contents.$L = output.body;", memberName);
11871186
} else if (payloadTarget instanceof StructureShape || payloadTarget instanceof UnionShape) {
11881187
// If body is Structure or Union, they we need to parse the string into JavaScript object.
1189-
writer.write("const data: any = await parseBody(output.body, context);");
1188+
writer.write("contents.$L = await parseBody(output.body, context);", memberName);
11901189
} else if (payloadTarget instanceof StringShape) {
11911190
// If payload is string, we need to collect body and encode binary to string.
1192-
writer.write("const data: any = await collectBodyString(output.body, context);");
1191+
writer.write("contents.$L = await collectBodyString(output.body, context);", memberName);
11931192
} else {
1194-
throw new CodegenException(String.format("Unexpected shape type bound to payload: `%s`",
1193+
throw new CodegenException(String.format("Unexpected shape type bound to event payload: `%s`",
11951194
payloadTarget.getType()));
11961195
}
11971196
}

0 commit comments

Comments
 (0)