This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
nats-cli/nats.go

43 lines
738 B
Go
Raw Normal View History

2017-11-29 14:37:37 -05:00
package nats_cli
import (
"errors"
"github.com/nats-io/nats"
)
func Connect(url string, tls bool, certPath string, keyPath string, caCertPath string) (*nats.Conn, error) {
if tls {
if len(certPath) == 0 {
return nil, errors.New("tlscert not set")
}
if len(keyPath) == 0 {
return nil, errors.New("tlskey not set")
}
cert := nats.ClientCert(certPath, keyPath)
var conn *nats.Conn
var err error
if len(caCertPath) > 0 {
conn, err = nats.Connect(url, nats.RootCAs(caCertPath), cert)
} else {
conn, err = nats.Connect(url, cert)
}
if err != nil {
return nil, err
}
return conn, nil
} else {
conn, err := nats.Connect(url)
if err != nil {
return nil, err
}
return conn, nil
}
}