From 282b5f5ff03c076e35ee7768a9a64081e653fbf2 Mon Sep 17 00:00:00 2001 From: jar3b Date: Tue, 3 Nov 2020 19:47:15 +0300 Subject: [PATCH] fix: add `subscriptions` and `closeHandler` nil check --- nacl.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/nacl.go b/nacl.go index a70ea49..bae0410 100644 --- a/nacl.go +++ b/nacl.go @@ -34,7 +34,9 @@ func SetupNats(host string, port int, user string, pass string, closeHandler *gr NatsClient, err = nats.Connect( connectionString, nats.ClosedHandler(func(conn *nats.Conn) { - closeHandler.Halt(nil) + if closeHandler != nil { + closeHandler.Halt(nil) + } }), nats.MaxReconnects(5), nats.ReconnectWait(time.Second*2), @@ -68,8 +70,11 @@ func FinalizeStan(subscriptions *[]Subscription) error { if StanClient == nil { 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 { @@ -83,8 +88,11 @@ func FinalizeNats(subscriptions *[]*NatsSubscription) error { if NatsClient == nil { 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()