diff --git a/wshandler/api_handler_peer.go b/wshandler/api_handler_peer.go index 7c43b18..ec0d73a 100644 --- a/wshandler/api_handler_peer.go +++ b/wshandler/api_handler_peer.go @@ -119,7 +119,15 @@ func (hc *WebsocketPeerApiBroker[T]) AddHandler(receiver WebsocketPeerApiHandler } } -func (hc *WebsocketPeerApiBroker[T]) Call(recv T, funcname string, r io.Reader) (any, error) { +func (hc *WebsocketPeerApiBroker[T]) Call(recv T, funcname string, r io.Reader) (v any, e error) { + defer func() { + r := recover() + if r != nil { + logger.Error(r) + e = fmt.Errorf("%v", r) + } + }() + if found := hc.methods[funcname]; found != nil { return found(recv, r) }