@@ -2,44 +2,59 @@ package CreateInterceptedDDBClient
22
33import (
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+
1632func 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
3145func 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