terraform/vendor/github.com/opsgenie/opsgenie-go-sdk/client/client_configuration.go

38 lines
1.0 KiB
Go

package client
import (
"fmt"
"time"
)
// ProxyConfiguration is the type that contains the proxy configurations of the OpsGenieClient.
type ProxyConfiguration struct {
Host string
Port int
Username string
Password string
ProxyURI string
Protocol string
}
// HTTPTransportSettings is the type that contains the HTTP transport layer configurations of the OpsGenieClient.
type HTTPTransportSettings struct {
ConnectionTimeout time.Duration
RequestTimeout time.Duration
MaxRetryAttempts int
}
// toString is an internal method that formats and returns proxy configurations of the OpsGenieClient.
func (proxy *ProxyConfiguration) toString() string {
if proxy.ProxyURI != "" {
return proxy.ProxyURI
}
if proxy.Protocol == "" {
proxy.Protocol = "http"
}
if proxy.Username != "" && proxy.Password != "" {
return fmt.Sprintf("%s://%s:%s@%s:%d", proxy.Protocol, proxy.Username, proxy.Password, proxy.Host, proxy.Port)
}
return fmt.Sprintf("%s://%s:%d", proxy.Protocol, proxy.Host, proxy.Port)
}