tracker-api-go/internal/nats.go

28 lines
364 B
Go

package internal
import (
"os"
"sync"
"github.com/nats-io/nats.go"
)
var (
err error
nc *nats.Conn
once sync.Once
)
func NewNatsConnection() *nats.Conn {
once.Do(func() {
nc, err = nats.Connect(
os.Getenv("NATS_URL"),
nats.UserInfo(os.Getenv("NATS_USER"), os.Getenv("NATS_PASSWORD")),
)
if err != nil {
panic(err)
}
})
return nc
}