diff --git a/rpc/handler.go b/rpc/handler.go index 4fcbf2a3a4658406ee5b37c80b9eb7360b7555ea..52227f600d62b20dbbd48d9d93c52028948bed7e 100644 --- a/rpc/handler.go +++ b/rpc/handler.go @@ -133,6 +133,13 @@ func (h *handler) handleBatch(msgs []*jsonrpcMessage, stream *jsoniter.Stream) { break } } + if !allMethodsAreThreadSafe && stream == nil { + _ = h.conn.writeJSON(context.Background(), jsonrpcMessage{Version: vsn, ID: null, Error: &jsonError{ + Code: -32601, + Message: "streamable methods are not supported on websockets. help us to implement", + }}) + return + } answers := make([]*jsonrpcMessage, 0, len(msgs)) if allMethodsAreThreadSafe {