diff --git a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/AuthParametersResolverGenerator.java b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/AuthParametersResolverGenerator.java index 4cdff215..327b749c 100644 --- a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/AuthParametersResolverGenerator.java +++ b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/AuthParametersResolverGenerator.java @@ -43,14 +43,14 @@ public GoWriter.Writable generate() { loadResolvers(); return goTemplate(""" - func $name:L(ctx $context:T, operation string, input interface{}, options Options) $params:P { + func $name:L(ctx $context:T, operation string, input interface{}, options Options) ($params:P, error) { params := &$params:T{ Operation: operation, } $bindings:W - - return params + + return params, nil } """, MapUtils.of( @@ -64,7 +64,11 @@ public GoWriter.Writable generate() { private GoWriter.Writable generateResolvers() { return (writer) -> { for (var resolver: resolvers) { - writer.write("$T(ctx, params, input, options)", resolver.resolver()); + writer.write(""" + if err := $T(ctx, params, input, options); err != nil { + return nil, err + } + """, resolver.resolver()); } }; } diff --git a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/ResolveAuthSchemeMiddlewareGenerator.java b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/ResolveAuthSchemeMiddlewareGenerator.java index addbb64a..48a789ec 100644 --- a/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/ResolveAuthSchemeMiddlewareGenerator.java +++ b/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/ResolveAuthSchemeMiddlewareGenerator.java @@ -70,7 +70,10 @@ private GoWriter.Writable generateBody() { _, span := $3T(ctx, "ResolveAuthScheme") defer span.End() - params := $1L(ctx, m.operation, getOperationInput(ctx), m.options) + params, err := $1L(ctx, m.operation, getOperationInput(ctx), m.options) + if err != nil { + return out, metadata, $2T("bind auth scheme params: %w", err) + } options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params) if err != nil { return out, metadata, $2T("resolve auth scheme: %w", err)