diff --git a/contrib/codecs/broker/server.go b/contrib/codecs/broker/server.go index 6e76c20a766ba9bbc78dea8d0d312d04d586a8f8..c92f0b31d1c3f16ef9e108ef1a7ec4bc187c01f1 100644 --- a/contrib/codecs/broker/server.go +++ b/contrib/codecs/broker/server.go @@ -2,6 +2,7 @@ package broker import ( "context" + "log/slog" "gfx.cafe/open/jrpc/pkg/server" ) @@ -26,7 +27,10 @@ func (s *Server) ServeSpoke(ctx context.Context, stream ServerSpoke) { } cd := NewCodec(req, fn) go func() { - s.Server.ServeCodec(ctx, cd) + err := s.Server.ServeCodec(ctx, cd) + if err != nil { + slog.Error("codec err", "err", err) + } cd.Close() }() } diff --git a/contrib/codecs/http/handler.go b/contrib/codecs/http/handler.go index b3ba7868d044702bbdab0c8df4d1500c9b1a1448..d677dfcad9b60486c90146ccc8467a7f26ab6d8a 100644 --- a/contrib/codecs/http/handler.go +++ b/contrib/codecs/http/handler.go @@ -1,6 +1,7 @@ package http import ( + "log/slog" "net/http" "sync" @@ -29,7 +30,10 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { c := codecPool.Get().(*Codec) c.Reset(w, r) w.Header().Set("content-type", contentType) - s.Server.ServeCodec(r.Context(), c) + err := s.Server.ServeCodec(r.Context(), c) + if err != nil { + slog.Error("codec err", "err", err) + } go func() { <-c.Closed() codecPool.Put(c) diff --git a/contrib/codecs/websocket/handler.go b/contrib/codecs/websocket/handler.go index bbbf8c4fdce35ce5329bfe6f8368a2748f1a8757..7114f0660b409be10994aa02c344170d346a8479 100644 --- a/contrib/codecs/websocket/handler.go +++ b/contrib/codecs/websocket/handler.go @@ -1,6 +1,7 @@ package websocket import ( + "log/slog" "net/http" "gfx.cafe/open/websocket" @@ -23,7 +24,10 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } c := newWebsocketCodec(r.Context(), conn, "", r.Header) - s.Server.ServeCodec(r.Context(), c) + err = s.Server.ServeCodec(r.Context(), c) + if err != nil { + slog.Error("codec err", "error", err) + } } // WebsocketHandler returns a handler that serves JSON-RPC to WebSocket connections. @@ -41,6 +45,9 @@ func WebsocketHandler(s *server.Server, allowedOrigins []string) http.Handler { return } codec := newWebsocketCodec(r.Context(), conn, r.Host, r.Header) - s.ServeCodec(r.Context(), codec) + err = s.ServeCodec(r.Context(), codec) + if err != nil { + slog.Error("codec err", "error", err) + } }) }