github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/defaults/defaults.go (about)

     1  package defaults
     2  
     3  import (
     4  	"strings"
     5  
     6  	"github.com/qiniu/go-sdk/v7/internal/configfile"
     7  	"github.com/qiniu/go-sdk/v7/internal/env"
     8  )
     9  
    10  func Credentials() (string, string, error) {
    11  	accessKey, secretKey := env.CredentialsFromEnvironment()
    12  	if accessKey != "" && secretKey != "" {
    13  		return accessKey, secretKey, nil
    14  	}
    15  	accessKey, secretKey, err := configfile.CredentialsFromConfigFile()
    16  	if err != nil {
    17  		return "", "", err
    18  	}
    19  	if accessKey != "" && secretKey != "" {
    20  		return accessKey, secretKey, nil
    21  	}
    22  	return "", "", nil
    23  }
    24  
    25  func BucketURLs() ([]string, error) {
    26  	normalizeBucketUrl := func(bucketUrl string) string {
    27  		if !strings.Contains(bucketUrl, "://") {
    28  			var (
    29  				isDisabled bool
    30  				err        error
    31  			)
    32  			if isDisabled, err = DisableSecureProtocol(); err != nil {
    33  				isDisabled = false
    34  			}
    35  			if isDisabled {
    36  				bucketUrl = "http://" + bucketUrl
    37  			} else {
    38  				bucketUrl = "https://" + bucketUrl
    39  			}
    40  		}
    41  		return bucketUrl
    42  	}
    43  
    44  	normalizeBucketUrls := func(bucketUrls []string) []string {
    45  		normalizedBucketUrls := make([]string, 0, len(bucketUrls))
    46  		for _, bucketUrl := range bucketUrls {
    47  			normalizedBucketUrls = append(normalizedBucketUrls, normalizeBucketUrl(bucketUrl))
    48  		}
    49  		return normalizedBucketUrls
    50  	}
    51  
    52  	bucketUrls := env.BucketURLsFromEnvironment()
    53  	if bucketUrls != nil {
    54  		return normalizeBucketUrls(bucketUrls), nil
    55  	}
    56  	bucketUrls, err := configfile.BucketURLsFromConfigFile()
    57  	if err != nil {
    58  		return nil, err
    59  	}
    60  	return normalizeBucketUrls(bucketUrls), nil
    61  }
    62  
    63  func DisableSecureProtocol() (bool, error) {
    64  	isDisabled, ok := env.DisableSecureProtocolFromEnvironment()
    65  	if ok {
    66  		return isDisabled, nil
    67  	}
    68  	return configfile.DisableSecureProtocolFromConfigFile()
    69  }