diff --git a/cmd/cache/main.go b/cmd/cache/main.go index a53f7ad2e1ff8c68c393e71e95e53cfc9c155c3a..059172e0033b1f7f82317ceef215e958286ce359 100644 --- a/cmd/cache/main.go +++ b/cmd/cache/main.go @@ -49,7 +49,10 @@ func main() { redis := redis.New(cfg.Redis.Addr, cfg.Redis.User, cfg.Redis.Pass, cfg.Redis.DB, cfg.Redis.TTL) // create event client - events := event.New(cfg.Nats.Addr, cfg.Nats.Subject) + events, err := event.New(cfg.Nats.Addr, cfg.Nats.Subject) + if err != nil { + log.Fatalf("failed to create events client: %v", err) + } defer events.CLose(context.Background()) // create services diff --git a/internal/clients/event/client.go b/internal/clients/event/client.go index 7baf3c193e09ea17da39107d428982a48d48b1fa..3e97ae0ca92bd36f4b07b32567bc9b8accfea617 100644 --- a/internal/clients/event/client.go +++ b/internal/clients/event/client.go @@ -4,7 +4,6 @@ import ( "context" "fmt" - "log" "time" "github.com/cloudevents/sdk-go/protocol/nats/v2" @@ -24,24 +23,24 @@ type Data struct { Key string `json:"key"` } -func New(addr, subject string) *Client { +func New(addr, subject string) (*Client, error) { // create cloudevents nats sender // other protocol implementations: https://github.com/cloudevents/sdk-go/tree/main/protocol sender, err := nats.NewSender(addr, subject, nats.NatsOptions()) if err != nil { - log.Fatalf("failed to create nats sender, %v", err) + return nil, err } // create cloudevents client eventsClient, err := cloudevents.NewClient(sender) if err != nil { - log.Fatalf("failed to create cloudevents client, %v", err) + return nil, err } return &Client{ sender: sender, events: eventsClient, - } + }, nil } func (c *Client) Send(ctx context.Context, key string) error {