From f9446dcf0b95e942e2c091b60cad8705ec98b4ed Mon Sep 17 00:00:00 2001
From: Sean McGrail <mcgrails@amazon.com>
Date: Wed, 30 Mar 2022 10:35:32 -0700
Subject: [PATCH] EventStream Fixes (#1647)

---
 .../smithy/aws/go/codegen/AwsEventStreamUtils.java       | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java
index f35098e5bfc..8f29fcb8ae1 100644
--- a/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java
+++ b/codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsEventStreamUtils.java
@@ -780,7 +780,7 @@ private static void generateEventStreamWriter(
         var writeCloser = getSymbol("WriteCloser", SmithyGoDependency.IO);
         var signerInterface = getModuleSymbol(settings, EVENT_STREAM_SIGNER_INTERFACE);
 
-        var messageSymbol = getEventStreamSymbol("Message", false);
+        var messageSymbol = getEventStreamSymbol("Message", true);
 
         if (withInitialMessages) {
             generateEventStreamWriterMessageWrapper(eventStream, service, symbolProvider, writer, eventUnionSymbol);
@@ -937,6 +937,9 @@ private static void generateEventStreamWriter(
                     writer.write("w.serializationBuffer.Reset()").write("")
                             .write("eventMessage := $T{}", messageSymbol).write("");
 
+                    var eventStreamSerializerName = getEventStreamSerializerName(eventStream, service,
+                            context.getProtocolName());
+
                     if (withInitialMessages) {
                         var initialRequestType = getWriterEventWrapperInitialRequestType(symbolProvider, eventStream,
                                 service);
@@ -956,14 +959,14 @@ private static void generateEventStreamWriter(
                                 default:
                                     return nil, $T("unknown event wrapper type: %v", event)
                                 }
-                                """, initialRequestType, messageEventType, errorf);
+                                """, initialRequestType, messageEventType, eventStreamSerializerName, errorf);
                     } else {
                         writer.write("""
                                         if err := $L(event, &eventMessage); err != nil {
                                             return nil, err
                                         }
                                         """,
-                                getEventStreamSerializerName(eventStream, service, context.getProtocolName()));
+                                eventStreamSerializerName);
                     }
 
                     writer.write("""