in spinnaker/spinnaker.go [140:168]
func New(endpoint string, certPath string, password string, x509Cert string, x509Key string, user string) (Spinnaker, error) {
var client *http.Client
var err error
if x509Cert != "" && certPath != "" {
return Spinnaker{}, errors.New("cannot use both p12 and x509 certs, choose one")
}
if certPath != "" {
pfxData, err := ioutil.ReadFile(certPath)
if err != nil {
return Spinnaker{}, errors.Wrapf(err, "failed to read file %s", certPath)
}
client, err = getClient(pfxData, password)
if err != nil {
return Spinnaker{}, err
}
} else if x509Cert != "" {
client, err = getClientX509(x509Cert, x509Key)
if err != nil {
return Spinnaker{}, err
}
} else {
client = new(http.Client)
}
return Spinnaker{endpoint: endpoint, client: client, user: user}, nil
}