in util/token.go [151:183]
func updateTokenFunction(configFilePath string) (accessKeyID, accessKeySecret, securityToken string, expireTime time.Time, err error) {
if configFilePath != "" {
accessKeyID, accessKeySecret, securityToken, expireTime, err = getAKFromLocalFile(configFilePath)
if err != errNoFile {
return accessKeyID, accessKeySecret, securityToken, expireTime, err
}
}
var tokenResultBuffer []byte
for tryTime := 0; tryTime < 3; tryTime++ {
tokenResultBuffer, err = getToken()
if err != nil {
continue
}
var tokenResult SecurityTokenResult
err = json.Unmarshal(tokenResultBuffer, &tokenResult)
if err != nil {
continue
}
if strings.ToLower(tokenResult.Code) != "success" {
tokenResult.AccessKeySecret = "x"
tokenResult.SecurityToken = "x"
continue
}
expireTime, err := time.Parse(expirationTimeFormat, tokenResult.Expiration)
if err != nil {
tokenResult.AccessKeySecret = "x"
tokenResult.SecurityToken = "x"
continue
}
return tokenResult.AccessKeyId, tokenResult.AccessKeySecret, tokenResult.SecurityToken, expireTime, nil
}
return accessKeyID, accessKeySecret, securityToken, expireTime, err
}