From b6d1ed89096e2b5559dafa1ebf9c677ff8cab6c2 Mon Sep 17 00:00:00 2001 From: thijsheijden <hi@thijsheijden.nl> Date: Mon, 13 Dec 2021 14:08:09 +0100 Subject: [PATCH] Updated panic defer function to send message to frontend --- internal/usecases/consume/handlemessage.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/usecases/consume/handlemessage.go b/internal/usecases/consume/handlemessage.go index f751492..fd6977c 100644 --- a/internal/usecases/consume/handlemessage.go +++ b/internal/usecases/consume/handlemessage.go @@ -25,13 +25,6 @@ HandleMessage gets called when a message is received */ func (s *Service) HandleMessage(msg *broker.Message) { - // Defer a panic intercepting function - defer func() { - if err := recover(); err != nil { - log.Printf("PANIC: %e", err.(error)) - } - }() - // Grab the headers from the message sessionID, clientID, queryID, err := getHeaders(&msg.Headers) if err != nil { @@ -40,6 +33,15 @@ func (s *Service) HandleMessage(msg *broker.Message) { } s.publishStatus("Received", sessionID, queryID) + // Defer a panic intercepting function + defer func(sessionID, queryID *string) { + if err := recover(); err != nil { + log.Printf("PANIC: %e", err.(error)) + + s.publishStatus("Critical Error", sessionID, queryID) + } + }(sessionID, queryID) + // Unmarshall the incoming message into an IncomingJSONQuery object JSONQuery, err := query.UnmarshalJSON(&msg.Body) if err != nil { -- GitLab