api/api.go
func New(
	ctx context.Context,
	host string,
	opts ClientOptions,
	debug bool) (Client, error) {

	if host == "" {
		return nil, errNewClient
	}

	host = strings.Replace(host, "/api", "", 1)

	c := &client{
		http: &http.Client{},
		host: host,
	}

	if opts.Timeout != 0 {
		c.http.Timeout = opts.Timeout
	}

	if opts.Insecure {
		c.http.Transport = &http.Transport{
			TLSClientConfig: &tls.Config{
				InsecureSkipVerify: true,
			},
		}
	}

	if opts.UseCerts {
		pool, err := x509.SystemCertPool()
		if err != nil {
			return nil, errSysCerts
		}
		c.http.Transport = &http.Transport{
			TLSClientConfig: &tls.Config{
				RootCAs:            pool,
				InsecureSkipVerify: opts.Insecure,
			},
		}
	}

	if opts.ShowHTTP {
		c.showHTTP = true
	}

	c.debug = debug

	return c, nil
}
func New(
	ctx context.Context,
	host string,
	opts ClientOptions,
	debug bool) (Client, error) {

	if host == "" {
		return nil, errNewClient
	}

	host = strings.Replace(host, "/api", "", 1)

	c := &client{
		http: &http.Client{},
		host: host,
	}

	if opts.Timeout != 0 {
		c.http.Timeout = opts.Timeout
	}

	if opts.Insecure {
		c.http.Transport = &http.Transport{
			TLSClientConfig: &tls.Config{
				InsecureSkipVerify: true,
			},
		}
	}

	if opts.UseCerts {
		pool, err := x509.SystemCertPool()
		if err != nil {
			return nil, errSysCerts
		}
		c.http.Transport = &http.Transport{
			TLSClientConfig: &tls.Config{
				RootCAs:            pool,
				InsecureSkipVerify: opts.Insecure,
			},
		}
	}

	if opts.ShowHTTP {
		c.showHTTP = true
	}

	c.debug = debug

	return c, nil
}
func New ( ctx context . Context , host string , opts ClientOptions , debug bool ) ( Client , error ) { if host == " " { return nil , errNewClient } host = strings . Replace ( host , " " , " " , 1 ) c := & client { http : & http . Client { } , host : host , } if opts . Timeout != 0 { c . http . Timeout = opts . Timeout } if opts . Insecure { c . http . Transport = & http . Transport { TLSClientConfig : & tls . Config { InsecureSkipVerify : true , } , } } if opts . UseCerts { pool , err := x509 . SystemCertPool ( ) if err != nil { return nil , errSysCerts } c . http . Transport = & http . Transport { TLSClientConfig : & tls . Config { RootCAs : pool , InsecureSkipVerify : opts . Insecure , } , } } if opts . ShowHTTP { c . showHTTP = true } c . debug = debug return c , nil }
// New returns a new API client.
New returns a new API client .