diff --git a/aws/keyspaces/keyspaces.go b/aws/keyspaces/keyspaces.go index 3d7b0a3..836fe83 100644 --- a/aws/keyspaces/keyspaces.go +++ b/aws/keyspaces/keyspaces.go @@ -215,26 +215,7 @@ func getConfig() (aws.Config, error) { return aws.Config{}, errors.New("AWS_REGION is not set") } - var cfg aws.Config - var err error - - if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { - customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - return aws.Endpoint{ - PartitionID: "aws", - URL: awsEndpoint, - HostnameImmutable: true, - }, nil - }) - - cfg, err = config.LoadDefaultConfig( - context.TODO(), - config.WithEndpointResolverWithOptions(customResolver), - ) - } else { - cfg, err = config.LoadDefaultConfig(context.TODO()) - } - + cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { return aws.Config{}, err } diff --git a/aws/s3/s3.go b/aws/s3/s3.go index 5989a69..ff6fbac 100644 --- a/aws/s3/s3.go +++ b/aws/s3/s3.go @@ -17,6 +17,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/aws/aws-sdk-go-v2/service/s3/types" "github.com/aws/smithy-go" + smithyendpoints "github.com/aws/smithy-go/endpoints" ) type S3 struct { @@ -36,7 +37,7 @@ func New() (S3, error) { if err != nil { return S3{}, err } - return S3{client: s3.NewFromConfig(cfg)}, nil + return S3{client: newFromConfig(cfg)}, nil } // NewWithMaxRetries returns the same as New(), but with the @@ -46,7 +47,7 @@ func NewWithMaxRetries(maxRetries int) (S3, error) { if err != nil { return S3{}, err } - client := s3.NewFromConfig(cfg, func(options *s3.Options) { + client := newFromConfig(cfg, func(options *s3.Options) { options.Retryer = retry.AddWithMaxAttempts(options.Retryer, maxRetries) }) return S3{client: client}, nil @@ -59,7 +60,7 @@ func NewWithOptions(optFns ...func(*s3.Options)) (S3, error) { if err != nil { return S3{}, err } - client := s3.NewFromConfig(cfg, optFns...) + client := newFromConfig(cfg, optFns...) return S3{client: client}, nil } @@ -90,29 +91,45 @@ func getConfig() (aws.Config, error) { return aws.Config{}, errors.New("AWS_REGION is not set") } - var cfg aws.Config - var err error + cfg, err := config.LoadDefaultConfig(context.TODO()) + if err != nil { + return aws.Config{}, err + } + return cfg, nil +} - if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { - customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - return aws.Endpoint{ - PartitionID: "aws", - URL: awsEndpoint, - HostnameImmutable: true, - }, nil - }) +// newFromConfig adds the custom endpoint option to the list of options given (if +// the AWS_ENDPOINT_URL env var is set), and returns a Client. +func newFromConfig(config aws.Config, optFns ...func(*s3.Options)) *s3.Client { - cfg, err = config.LoadDefaultConfig( - context.TODO(), - config.WithEndpointResolverWithOptions(customResolver)) - } else { - cfg, err = config.LoadDefaultConfig(context.TODO()) + if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { + customResolver := func(options *s3.Options) { + options.EndpointResolverV2 = newCustomEndpointResolver(awsEndpoint) + options.UsePathStyle = true + } + optFns = append(optFns, customResolver) } - if err != nil { - return aws.Config{}, err + client := s3.NewFromConfig(config, optFns...) + + return client +} + +type customEndpointResolver struct { + inner s3.EndpointResolverV2 + endpoint *string +} + +func newCustomEndpointResolver(endpoint string) *customEndpointResolver { + return &customEndpointResolver{ + inner: s3.NewDefaultEndpointResolverV2(), + endpoint: &endpoint, } - return cfg, nil +} + +func (c *customEndpointResolver) ResolveEndpoint(ctx context.Context, params s3.EndpointParameters) (smithyendpoints.Endpoint, error) { + params.Endpoint = c.endpoint + return c.inner.ResolveEndpoint(ctx, params) } // Ready returns whether the S3 client has been initialised. diff --git a/aws/sns/sns.go b/aws/sns/sns.go index b179ae0..8381eac 100644 --- a/aws/sns/sns.go +++ b/aws/sns/sns.go @@ -10,6 +10,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws/retry" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/sns" + smithyendpoints "github.com/aws/smithy-go/endpoints" ) type SNS struct { @@ -25,7 +26,7 @@ func New() (SNS, error) { if err != nil { return SNS{}, err } - return SNS{client: sns.NewFromConfig(cfg)}, nil + return SNS{client: newFromConfig(cfg)}, nil } // NewWithMaxRetries returns the same as New(), but with the @@ -35,7 +36,7 @@ func NewWithMaxRetries(maxRetries int) (SNS, error) { if err != nil { return SNS{}, err } - client := sns.NewFromConfig(cfg, func(options *sns.Options) { + client := newFromConfig(cfg, func(options *sns.Options) { options.Retryer = retry.AddWithMaxAttempts(options.Retryer, maxRetries) }) return SNS{client: client}, nil @@ -47,29 +48,44 @@ func getConfig() (aws.Config, error) { return aws.Config{}, errors.New("AWS_REGION is not set") } - var cfg aws.Config - var err error + cfg, err := config.LoadDefaultConfig(context.TODO()) + if err != nil { + return aws.Config{}, err + } + return cfg, nil +} + +// newFromConfig adds the custom endpoint option to the list of options given (if +// the AWS_ENDPOINT_URL env var is set), and returns a Client. +func newFromConfig(config aws.Config, optFns ...func(*sns.Options)) *sns.Client { if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { - customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - return aws.Endpoint{ - PartitionID: "aws", - SigningRegion: region, - URL: awsEndpoint, - }, nil - }) - - cfg, err = config.LoadDefaultConfig( - context.TODO(), - config.WithEndpointResolverWithOptions(customResolver)) - } else { - cfg, err = config.LoadDefaultConfig(context.TODO()) + customResolver := func(options *sns.Options) { + options.EndpointResolverV2 = newCustomEndpointResolver(awsEndpoint) + } + optFns = append(optFns, customResolver) } - if err != nil { - return aws.Config{}, err + client := sns.NewFromConfig(config, optFns...) + + return client +} + +type customEndpointResolver struct { + inner sns.EndpointResolverV2 + endpoint *string +} + +func newCustomEndpointResolver(endpoint string) *customEndpointResolver { + return &customEndpointResolver{ + inner: sns.NewDefaultEndpointResolverV2(), + endpoint: &endpoint, } - return cfg, nil +} + +func (c *customEndpointResolver) ResolveEndpoint(ctx context.Context, params sns.EndpointParameters) (smithyendpoints.Endpoint, error) { + params.Endpoint = c.endpoint + return c.inner.ResolveEndpoint(ctx, params) } // Ready returns whether the SNS client has been initialised. diff --git a/aws/sqs/sqs.go b/aws/sqs/sqs.go index ca7eba4..9fe1754 100644 --- a/aws/sqs/sqs.go +++ b/aws/sqs/sqs.go @@ -15,6 +15,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/sqs" "github.com/aws/aws-sdk-go-v2/service/sqs/types" smithy "github.com/aws/smithy-go" + smithyendpoints "github.com/aws/smithy-go/endpoints" ) type Raw struct { @@ -39,7 +40,7 @@ func New() (SQS, error) { if err != nil { return SQS{}, err } - return SQS{client: sqs.NewFromConfig(cfg)}, nil + return SQS{client: newFromConfig(cfg)}, nil } // NewWithMaxRetries returns the same as New(), but with the @@ -49,7 +50,7 @@ func NewWithMaxRetries(maxRetries int) (SQS, error) { if err != nil { return SQS{}, err } - client := sqs.NewFromConfig(cfg, func(options *sqs.Options) { + client := newFromConfig(cfg, func(options *sqs.Options) { options.Retryer = retry.AddWithMaxAttempts(options.Retryer, maxRetries) }) @@ -62,29 +63,44 @@ func getConfig() (aws.Config, error) { return aws.Config{}, errors.New("AWS_REGION is not set") } - var cfg aws.Config - var err error + cfg, err := config.LoadDefaultConfig(context.TODO()) + if err != nil { + return aws.Config{}, err + } + return cfg, nil +} - if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { - customResolver := aws.EndpointResolverWithOptionsFunc(func(service, region string, options ...interface{}) (aws.Endpoint, error) { - return aws.Endpoint{ - PartitionID: "aws", - SigningRegion: region, - URL: awsEndpoint, - }, nil - }) +// newFromConfig adds the custom endpoint option to the list of options given (if +// the AWS_ENDPOINT_URL env var is set), and returns a Client. +func newFromConfig(config aws.Config, optFns ...func(*sqs.Options)) *sqs.Client { - cfg, err = config.LoadDefaultConfig( - context.TODO(), - config.WithEndpointResolverWithOptions(customResolver)) - } else { - cfg, err = config.LoadDefaultConfig(context.TODO()) + if awsEndpoint := os.Getenv("AWS_ENDPOINT_URL"); awsEndpoint != "" { + customResolver := func(options *sqs.Options) { + options.EndpointResolverV2 = newCustomEndpointResolver(awsEndpoint) + } + optFns = append(optFns, customResolver) } - if err != nil { - return aws.Config{}, err + client := sqs.NewFromConfig(config, optFns...) + + return client +} + +type customEndpointResolver struct { + inner sqs.EndpointResolverV2 + endpoint *string +} + +func newCustomEndpointResolver(endpoint string) *customEndpointResolver { + return &customEndpointResolver{ + inner: sqs.NewDefaultEndpointResolverV2(), + endpoint: &endpoint, } - return cfg, nil +} + +func (c *customEndpointResolver) ResolveEndpoint(ctx context.Context, params sqs.EndpointParameters) (smithyendpoints.Endpoint, error) { + params.Endpoint = c.endpoint + return c.inner.ResolveEndpoint(ctx, params) } // Ready returns whether the SQS client has been initialised. diff --git a/go.mod b/go.mod index 6a593af..f92af4c 100644 --- a/go.mod +++ b/go.mod @@ -1,37 +1,37 @@ module github.com/GeoNet/kit -go 1.23 +go 1.25.0 require ( - github.com/aws/aws-sdk-go-v2 v1.25.3 + github.com/aws/aws-sdk-go-v2 v1.43.3 github.com/aws/aws-sdk-go-v2/config v1.27.7 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.11 - github.com/aws/aws-sdk-go-v2/service/s3 v1.52.1 + github.com/aws/aws-sdk-go-v2/service/s3 v1.106.4 github.com/aws/aws-sdk-go-v2/service/sns v1.29.2 github.com/aws/aws-sdk-go-v2/service/sqs v1.31.2 github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin v1.1.0 - github.com/aws/smithy-go v1.20.1 + github.com/aws/smithy-go v1.27.6 github.com/gocql/gocql v1.6.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/lib/pq v1.3.0 github.com/stretchr/testify v1.11.1 - golang.org/x/text v0.14.0 + golang.org/x/text v0.40.0 google.golang.org/protobuf v1.33.0 ) require ( github.com/aws/aws-sdk-go v1.51.1 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect diff --git a/go.sum b/go.sum index f6465d4..e6d5a75 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,12 @@ github.com/aws/aws-sdk-go v1.51.1 h1:AFvTihcDPanvptoKS09a4yYmNtPm3+pXlk6uYHmZiFk github.com/aws/aws-sdk-go v1.51.1/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= +github.com/aws/aws-sdk-go-v2 v1.43.3 h1:XJIcfv8uDs2ukdQsoAC8/Ebu1ejxwzlayl2ZsiFns2A= +github.com/aws/aws-sdk-go-v2 v1.43.3/go.mod h1:70vwSy16txshwG+g55WkpgPKDIByzHI8ccBsOteo3bQ= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 h1:aiuaKlDweRC5qExJondpWjOgyzMHpofpwspGXUtwn4c= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16/go.mod h1:nG/LOlmox9BDe9HvQnXWzgcK8uKbgBMZ/Hp5pVt/21I= github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= @@ -15,22 +19,38 @@ github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.11 h1:QLDOiTR87HT9qViYMD27 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.11/go.mod h1:vMy68zrZJ6mOjPOYypUtCEEeLtgVlzbqSE4zLBSPpYw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34 h1:vuIfjzoeqhQMGJyOBU3t0ZEjn2jrN8Bbg1N4CgjzM5Q= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.34/go.mod h1:hP28cN4CPJLZHirdQPrZR50JcLN4ApRJP2tzG8cRlhY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34 h1:9faHsnqxJ1vDvB4wMZy/ajIDyz5QhllQjjc72RJpXAw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.34/go.mod h1:Yp6nIyejpa23nzlB/LhT63KTla9Jdi06nv/HH/OkAH8= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 h1:mDnFOE2sVkyphMWtTH+stv0eW3k0OTx94K63xpxHty4= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3/go.mod h1:V8MuRVcCRt5h1S+Fwu8KbC7l/gBGo3yBAyUbJM2IJOk= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35 h1:Oe8gMKJLO5awqpa5EhAGKVnBv1s+brdWVuxM2mDa7zA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.35/go.mod h1:FZevcG9cOST/FWAAUhHIchjR9fXFXFRCWodOhx+PDLA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15 h1:JJLBQxwY+AFwuPAi5ivGc1ChnTdUt4cXMv7e76m2c/Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.15/go.mod h1:lQknBIe78MVL0cQOQDlag8KGflMbMEVFx9mB6O8ENvk= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 h1:mbWNpfRUTT6bnacmvOTKXZjR/HycibdWzNpfbrbLDIs= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5/go.mod h1:FCOPWGjsshkkICJIn9hq9xr6dLKtyaWpuUojiN3W1/8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27 h1:zwB6ltUc0UiyOsRQaMQ8jNLjKECbjhadCyl4hqV0y/c= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.27/go.mod h1:ce9y+Y+hGLUyPKJZZJGoFLuFJNfCNuWZTujUJAsckQA= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34 h1:sYg4qHWLqsjp15PzX7XCOHSOgKEGoZ5vQY43VvZ1pas= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.34/go.mod h1:N58SSz3roKf1HzW5qRaOiyk6MbDLTKgLPvlTfJ90iyI= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 h1:4t+QEX7BsXz98W8W1lNvMAG+NX8qHz2CjLBxQKku40g= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3/go.mod h1:oFcjjUq5Hm09N9rpxTdeMeLeQcxS7mIkBkL8qUKng+A= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35 h1:ohfdSAm4TA6nryIY7mLqe4mnSIAnAreoAPBM81ZVoIM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.35/go.mod h1:uUjphnxMb3HH3vIiOHl4dH0fGNKL+csjqRQEabbfw5k= github.com/aws/aws-sdk-go-v2/service/s3 v1.52.1 h1:Y/TTvxMdYwNvhzolvneV1wEEN/ncQUSd1AnzFGTMPqM= github.com/aws/aws-sdk-go-v2/service/s3 v1.52.1/go.mod h1:MGTaf3x/+z7ZGugCGvepnx2DS6+caCYYqKhzVoLNYPk= +github.com/aws/aws-sdk-go-v2/service/s3 v1.106.4 h1:nN+nb2rhWmPOMwFA+e6xDJZJ0h/VAI39XVBzn52Fn8A= +github.com/aws/aws-sdk-go-v2/service/s3 v1.106.4/go.mod h1:lWk6L5Q3YkaC7so1bQUJkvF7hj2KUFzdZ4w15wc2GHY= github.com/aws/aws-sdk-go-v2/service/sns v1.29.2 h1:kHm1SYs/NkxZpKINc4zOXOLJHVMzKtU4d7FlAMtDm50= github.com/aws/aws-sdk-go-v2/service/sns v1.29.2/go.mod h1:ZIs7/BaYel9NODoYa8PW39o15SFAXDEb4DxOG2It15U= github.com/aws/aws-sdk-go-v2/service/sqs v1.31.2 h1:A9ihuyTKpS8Z1ou/D4ETfOEFMyokA6JjRsgXWTiHvCk= @@ -45,6 +65,8 @@ github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin v1.1.0 h1:EJsHUYgFBV github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin v1.1.0/go.mod h1:AxKuXHc0zv2yYaeueUG7R3ONbcnQIuDj0bkdFmPVRzU= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aws/smithy-go v1.27.6 h1:0zjT8jgK3jbrTT7JJ3EE6JsMhX8JTrZ+f1sEndYDXrA= +github.com/aws/smithy-go v1.27.6/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= @@ -121,6 +143,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs= +golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/weft/handlers.go b/weft/handlers.go index 88da5aa..191e4aa 100644 --- a/weft/handlers.go +++ b/weft/handlers.go @@ -64,7 +64,7 @@ var defaultCsp = map[string]string{ "style-src": "'self'", "script-src": "'self'", "connect-src": "'self' https://*.geonet.org.nz https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com", - "frame-src": "'self' https://www.youtube.com https://www.google.com", + "frame-src": "'self' https://www.youtube.com https://www.google.com https://staticcdn.co.nz", "form-action": "'self' https://*.geonet.org.nz", "base-uri": "'none'", "frame-ancestors": "'self'",