diff --git a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGenerator.java b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGenerator.java index 3d115213acd..587a7c76e22 100644 --- a/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGenerator.java +++ b/smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/integration/EventStreamGenerator.java @@ -333,9 +333,9 @@ private void writeEventHeaders(GenerationContext context, StructureShape event) for (MemberShape headerMember : headerMembers) { String memberName = headerMember.getMemberName(); Shape target = model.expectShape(headerMember.getTarget()); - writer.openBlock("if (input.$L) {", "}", memberName, () -> { + writer.openBlock("if (input.$L != null) {", "}", memberName, () -> { writer.write("headers[$1S] = { type: $2S, value: input.$1L }", memberName, - getEventHeaderType(headerMember)); + getEventHeaderType(target)); }); } } @@ -356,7 +356,7 @@ private String getEventHeaderType(Shape shape) { case BLOB: return "binary"; default: - return "binary"; + throw new IllegalArgumentException("Unsupported event header shape type: " + shape.getType()); } }