adding support for aws file credential

This commit is contained in:
mzack 2021-11-18 21:44:58 +01:00
parent 38ff8f75b1
commit ddb07ebb75
2 changed files with 16 additions and 0 deletions

View File

@ -49,6 +49,14 @@ func NewAwsSignerFromEnv() (*AwsSigner, error) {
return &AwsSigner{creds: creds}, nil
}
func NewAwsSignerFromFile() (*AwsSigner, error) {
creds := credentials.NewSharedCredentials("", "")
if creds == nil {
return nil, errors.New("couldn't create the credentials structure")
}
return &AwsSigner{creds: creds}, nil
}
func (awsSigner *AwsSigner) SignHTTP(request *http.Request, args SignArguments) error {
awsSigner.prepareRequest(request)
var body *bytes.Reader

View File

@ -359,7 +359,15 @@ func (request *Request) executeRequest(reqURL string, generatedRequest *generate
if awsAccessKeyId != "" && awsSecretAccessKey != "" {
awsSigner, err = NewAwsSigner(awsAccessKeyId, awsSecretAccessKey)
} else {
// env variables
awsSigner, err = NewAwsSignerFromEnv()
if err != nil {
// $HOME/.aws/credentials
awsSigner, err = NewAwsSignerFromFile()
if err != nil {
return err
}
}
}
if err != nil {
return err