fix: add subscriptions and closeHandler nil check

This commit is contained in:
jar3b 2020-11-03 19:47:15 +03:00
parent fabfbfe174
commit 282b5f5ff0

18
nacl.go
View File

@ -34,7 +34,9 @@ func SetupNats(host string, port int, user string, pass string, closeHandler *gr
NatsClient, err = nats.Connect( NatsClient, err = nats.Connect(
connectionString, connectionString,
nats.ClosedHandler(func(conn *nats.Conn) { nats.ClosedHandler(func(conn *nats.Conn) {
closeHandler.Halt(nil) if closeHandler != nil {
closeHandler.Halt(nil)
}
}), }),
nats.MaxReconnects(5), nats.MaxReconnects(5),
nats.ReconnectWait(time.Second*2), nats.ReconnectWait(time.Second*2),
@ -68,8 +70,11 @@ func FinalizeStan(subscriptions *[]Subscription) error {
if StanClient == nil { if StanClient == nil {
return fmt.Errorf("stan client is not initialized") return fmt.Errorf("stan client is not initialized")
} }
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe() if subscriptions != nil {
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe()
}
} }
if err := StanClient.Close(); err != nil { if err := StanClient.Close(); err != nil {
@ -83,8 +88,11 @@ func FinalizeNats(subscriptions *[]*NatsSubscription) error {
if NatsClient == nil { if NatsClient == nil {
return fmt.Errorf("stan client is not initialized") return fmt.Errorf("stan client is not initialized")
} }
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe() if subscriptions != nil {
for _, subscription := range *subscriptions {
_ = subscription.Unsubscribe()
}
} }
NatsClient.Close() NatsClient.Close()