Skip to content

Commit f2e5d21

Browse files
committed
add error check in auth resolver codegen
1 parent 895cd5b commit f2e5d21

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/AuthParametersResolverGenerator.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ public GoWriter.Writable generate() {
4343
loadResolvers();
4444

4545
return goTemplate("""
46-
func $name:L(ctx $context:T, operation string, input interface{}, options Options) $params:P {
47-
params := &$params:T{
46+
func $name:L(ctx $context:T, operation string, input interface{}, options Options) (params $params:P, err error) {
47+
params = &$params:T{
4848
Operation: operation,
4949
}
5050
5151
$bindings:W
52-
53-
return params
52+
53+
return
5454
}
5555
""",
5656
MapUtils.of(
@@ -64,7 +64,11 @@ public GoWriter.Writable generate() {
6464
private GoWriter.Writable generateResolvers() {
6565
return (writer) -> {
6666
for (var resolver: resolvers) {
67-
writer.write("$T(ctx, params, input, options)", resolver.resolver());
67+
if (resolver.resolver().getName().equals("bindAuthEndpointParams")) {
68+
writer.write("err = $T(ctx, params, input, options)", resolver.resolver());
69+
} else {
70+
writer.write("$T(ctx, params, input, options)", resolver.resolver());
71+
}
6872
}
6973
};
7074
}

codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/auth/ResolveAuthSchemeMiddlewareGenerator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,10 @@ private GoWriter.Writable generateBody() {
7070
_, span := $3T(ctx, "ResolveAuthScheme")
7171
defer span.End()
7272
73-
params := $1L(ctx, m.operation, getOperationInput(ctx), m.options)
73+
params, err := $1L(ctx, m.operation, getOperationInput(ctx), m.options)
74+
if err != nil {
75+
return out, metadata, $2T("bind auth scheme params: %w", err)
76+
}
7477
options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
7578
if err != nil {
7679
return out, metadata, $2T("resolve auth scheme: %w", err)

codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/endpoints/EndpointParameterBindingsGenerator.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public GoWriter.Writable generate() {
5757
bindEndpointParams(*EndpointParameters)
5858
}
5959
60-
func bindEndpointParams(ctx $context:T, input interface{}, options Options) (params *EndpointParameters, err error) {
61-
params = &EndpointParameters{}
60+
func bindEndpointParams(ctx $context:T, input interface{}, options Options) (*EndpointParameters, error) {
61+
params := &EndpointParameters{}
6262
6363
$builtinBindings:W
6464
@@ -68,7 +68,7 @@ func bindEndpointParams(ctx $context:T, input interface{}, options Options) (par
6868
b.bindEndpointParams(params)
6969
}
7070
71-
return
71+
return params, nil
7272
}
7373
""",
7474
MapUtils.of(
@@ -96,7 +96,13 @@ private GoWriter.Writable generateBuiltinBindings() {
9696
for (var param: boundBuiltins) {
9797
String paramName = EndpointParametersGenerator.getExportedParameterName(param);
9898
if (paramName.equals("Region")) {
99-
writer.write("params.Region, err = $W",
99+
writer.write("""
100+
region, err := $W
101+
if err != nil {
102+
return nil, err
103+
}
104+
params.Region = region
105+
""",
100106
builtinBindings.get(param.getBuiltIn().get()));
101107
} else {
102108
writer.write(

0 commit comments

Comments
 (0)