Skip to content

Commit c10b58a

Browse files
authored
Merge pull request #2 from muhadif/fix-panic-recover
[DEV] fix : handling panic recovered on pubsubrouter
2 parents 61ca34b + e379ed3 commit c10b58a

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

router.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package pubsubrouter
22

33
import (
4+
"runtime/debug"
45
"sync"
56

7+
"github.com/google/martian/log"
68
"github.com/sofyan48/pubsub-router/pkg/client"
79
)
810

@@ -28,6 +30,11 @@ func (r *Router) Handle(routes string, h Handler) *Router {
2830

2931
func (r *Router) HandleMessage(m *Message) error {
3032
path := m.Payload.Attributes[client.MessageAttributeNameRoute]
33+
defer func() {
34+
if err := recover(); err != nil {
35+
log.Errorf("panic recovered: %v | stack : %v", err, string(debug.Stack()))
36+
}
37+
}()
3138
h, okRoute := r.handlers[path]
3239
if okRoute {
3340
err := h.HandleMessage(m)

0 commit comments

Comments
 (0)