func()

in sdk/client.go [164:193]


func (client *Client) InitWithOptions(regionId string, config *Config, credential auth.Credential) (err error) {
	if regionId != "" {
		match, _ := regexp.MatchString("^[a-zA-Z0-9_-]+$", regionId)
		if !match {
			return fmt.Errorf("regionId contains invalid characters")
		}
	}

	client.regionId = regionId
	client.config = config
	client.httpClient = &http.Client{}
	client.isCloseTrace = false

	if config.Transport != nil {
		client.httpClient.Transport = config.Transport
	} else if config.HttpTransport != nil {
		client.httpClient.Transport = config.HttpTransport
	}

	if config.Timeout > 0 {
		client.httpClient.Timeout = config.Timeout
	}

	if config.EnableAsync {
		client.EnableAsync(config.GoRoutinePoolSize, config.MaxTaskQueueSize)
	}

	client.credentialsProvider, err = auth.ToCredentialsProvider(credential)
	return
}