From 950bc819ec6845a392aa65cfa769273b8d14e541 Mon Sep 17 00:00:00 2001
From: a <a@tuxpa.in>
Date: Thu, 28 Mar 2024 14:13:18 -0500
Subject: [PATCH] a

---
 contrib/codecs/websocket/codec.go | 6 +++++-
 pkg/jsonrpc/message.go            | 2 --
 pkg/server/server.go              | 2 +-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/contrib/codecs/websocket/codec.go b/contrib/codecs/websocket/codec.go
index 29e4744..4a39c6f 100644
--- a/contrib/codecs/websocket/codec.go
+++ b/contrib/codecs/websocket/codec.go
@@ -123,7 +123,11 @@ func (c *Codec) Flush() error {
 		if err != nil {
 			return err
 		}
-		return wr.Close()
+		err = wr.Close()
+		if err != nil {
+			return err
+		}
+		return nil
 	}
 	err := c.currentFrame.Close()
 	if err != nil {
diff --git a/pkg/jsonrpc/message.go b/pkg/jsonrpc/message.go
index 333b64a..6fb1559 100644
--- a/pkg/jsonrpc/message.go
+++ b/pkg/jsonrpc/message.go
@@ -3,7 +3,6 @@ package jsonrpc
 import (
 	"encoding/json"
 	"io"
-	"log"
 
 	"golang.org/x/net/context"
 	"golang.org/x/sync/semaphore"
@@ -18,7 +17,6 @@ type flusher interface {
 
 func flushIfFlusher(w io.Writer) error {
 	if val, ok := w.(flusher); ok {
-		log.Println("flushing response from notification")
 		return val.Flush()
 	}
 	return nil
diff --git a/pkg/server/server.go b/pkg/server/server.go
index 6bafda7..1d201bf 100644
--- a/pkg/server/server.go
+++ b/pkg/server/server.go
@@ -128,7 +128,7 @@ func serveSingle(ctx context.Context,
 		}
 	}
 	handler.ServeRPC(rw, req)
-	if rw.sendCalled == false {
+	if rw.sendCalled == false && rw.id != nil {
 		rw.Send(jsonrpc.Null, nil)
 	}
 	return nil
-- 
GitLab