Skip to content

Commit c702be7

Browse files
Use EndpointResolverV2
1 parent 195e7bb commit c702be7

File tree

1 file changed

+28
-13
lines changed
  • TestVectors/runtimes/go/ImplementationFromDafny-go/CreateInterceptedDDBClient

1 file changed

+28
-13
lines changed

TestVectors/runtimes/go/ImplementationFromDafny-go/CreateInterceptedDDBClient/extern.go

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,44 +2,59 @@ package CreateInterceptedDDBClient
22

33
import (
44
"context"
5+
"net/url"
56

67
"github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/DynamoDBwrapped"
78
"github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
89
"github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes"
910
"github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated"
1011
"github.com/aws/aws-database-encryption-sdk-dynamodb/dbesdkmiddleware"
11-
"github.com/aws/aws-sdk-go-v2/aws"
1212
"github.com/aws/aws-sdk-go-v2/config"
1313
"github.com/aws/aws-sdk-go-v2/service/dynamodb"
14+
smithyendpoints "github.com/aws/smithy-go/endpoints"
1415
)
1516

17+
type resolverV2 struct {
18+
}
19+
20+
func (*resolverV2) ResolveEndpoint(ctx context.Context, params dynamodb.EndpointParameters) (
21+
smithyendpoints.Endpoint, error,
22+
) {
23+
u, err := url.Parse("http://localhost:8000")
24+
if err != nil {
25+
return smithyendpoints.Endpoint{}, err
26+
}
27+
return smithyendpoints.Endpoint{
28+
URI: *u,
29+
}, nil
30+
}
31+
1632
func CreateVanillaDDBClient() Wrappers.Result {
17-
cfg, err := config.LoadDefaultConfig(context.TODO(),
18-
config.WithEndpointResolver(aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
19-
return aws.Endpoint{URL: "http://localhost:8000"}, nil
20-
})),
21-
)
33+
cfg, err := config.LoadDefaultConfig(context.TODO())
2234
if err != nil {
2335
panic(err)
2436
}
25-
ddbClient := dynamodb.NewFromConfig(cfg)
37+
ddbClient := dynamodb.NewFromConfig(cfg, func(o *dynamodb.Options) {
38+
o.EndpointResolverV2 = &resolverV2{}
39+
})
2640
return Wrappers.Companion_Result_.Create_Success_(&DynamoDBwrapped.Shim{
2741
Client: ddbClient,
2842
})
2943
}
3044

3145
func CreateInterceptedDDBClient(ddbEncryptionConfig AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig) Wrappers.Result {
32-
cfg, err := config.LoadDefaultConfig(context.TODO(),
33-
config.WithEndpointResolver(aws.EndpointResolverFunc(func(service, region string) (aws.Endpoint, error) {
34-
return aws.Endpoint{URL: "http://localhost:8000"}, nil
35-
})),
36-
)
46+
cfg, err := config.LoadDefaultConfig(context.TODO())
3747
if err != nil {
3848
panic(err)
3949
}
4050
nativeConfig := awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbTablesEncryptionConfig_FromDafny(ddbEncryptionConfig)
4151
dbEsdkMiddleware, err := dbesdkmiddleware.NewDBEsdkMiddleware(nativeConfig)
42-
ddbClient := dynamodb.NewFromConfig(cfg, dbEsdkMiddleware.CreateMiddleware())
52+
if err != nil {
53+
panic(err)
54+
}
55+
ddbClient := dynamodb.NewFromConfig(cfg, dbEsdkMiddleware.CreateMiddleware(), func(o *dynamodb.Options) {
56+
o.EndpointResolverV2 = &resolverV2{}
57+
})
4358
return Wrappers.Companion_Result_.Create_Success_(&DynamoDBwrapped.Shim{
4459
Client: ddbClient,
4560
})

0 commit comments

Comments
 (0)