| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package s3
- import (
- "github.com/aws/aws-sdk-go-v2/aws"
- "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- )
- // If the caller hasn't provided an S3Express provider, we use our default
- // which will grab a reference to the S3 client itself in finalization.
- func resolveExpressCredentials(o *Options) {
- if o.ExpressCredentials == nil {
- o.ExpressCredentials = newDefaultS3ExpressCredentialsProvider()
- }
- }
- // Config finalizer: if we're using the default S3Express implementation, grab
- // a reference to the client for its CreateSession API, and the underlying
- // sigv4 credentials provider for cache keying.
- func finalizeExpressCredentials(o *Options, c *Client) {
- if p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider); ok {
- p.client = c
- p.v4creds = o.Credentials
- }
- }
- // Operation config finalizer: update the sigv4 credentials on the default
- // express provider in case it changed to ensure different cache keys
- func finalizeOperationExpressCredentials(o *Options, c Client) {
- if p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider); ok {
- o.ExpressCredentials = p.CloneWithBaseCredentials(o.Credentials)
- }
- }
- // NewFromConfig resolver: pull from opaque sources if it exists.
- func resolveDisableExpressAuth(cfg aws.Config, o *Options) {
- if v, ok := customizations.ResolveDisableExpressAuth(cfg.ConfigSources); ok {
- o.DisableS3ExpressSessionAuth = &v
- }
- }
|