...

Source file src/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go

Documentation: github.com/aws/aws-sdk-go-v2/internal/auth

     1  package auth
     2  
     3  import (
     4  	"github.com/aws/smithy-go/auth"
     5  	smithyhttp "github.com/aws/smithy-go/transport/http"
     6  )
     7  
     8  // HTTPAuthScheme is the SDK's internal implementation of smithyhttp.AuthScheme
     9  // for pre-existing implementations where the signer was added to client
    10  // config. SDK clients will key off of this type and ensure per-operation
    11  // updates to those signers persist on the scheme itself.
    12  type HTTPAuthScheme struct {
    13  	schemeID string
    14  	signer   smithyhttp.Signer
    15  }
    16  
    17  var _ smithyhttp.AuthScheme = (*HTTPAuthScheme)(nil)
    18  
    19  // NewHTTPAuthScheme returns an auth scheme instance with the given config.
    20  func NewHTTPAuthScheme(schemeID string, signer smithyhttp.Signer) *HTTPAuthScheme {
    21  	return &HTTPAuthScheme{
    22  		schemeID: schemeID,
    23  		signer:   signer,
    24  	}
    25  }
    26  
    27  // SchemeID identifies the auth scheme.
    28  func (s *HTTPAuthScheme) SchemeID() string {
    29  	return s.schemeID
    30  }
    31  
    32  // IdentityResolver gets the identity resolver for the auth scheme.
    33  func (s *HTTPAuthScheme) IdentityResolver(o auth.IdentityResolverOptions) auth.IdentityResolver {
    34  	return o.GetIdentityResolver(s.schemeID)
    35  }
    36  
    37  // Signer gets the signer for the auth scheme.
    38  func (s *HTTPAuthScheme) Signer() smithyhttp.Signer {
    39  	return s.signer
    40  }
    41  
    42  // WithSigner returns a new instance of the auth scheme with the updated signer.
    43  func (s *HTTPAuthScheme) WithSigner(signer smithyhttp.Signer) *HTTPAuthScheme {
    44  	return NewHTTPAuthScheme(s.schemeID, signer)
    45  }
    46  

View as plain text