From ae3261d4abd1c36df7b0d8192641919c65c14b8d Mon Sep 17 00:00:00 2001
From: a <a@tuxpa.in>
Date: Sun, 31 Mar 2024 21:02:38 -0500
Subject: [PATCH] a

---
 contrib/jrpcutil/errorcatcher.go | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 contrib/jrpcutil/errorcatcher.go

diff --git a/contrib/jrpcutil/errorcatcher.go b/contrib/jrpcutil/errorcatcher.go
new file mode 100644
index 0000000..979c282
--- /dev/null
+++ b/contrib/jrpcutil/errorcatcher.go
@@ -0,0 +1,21 @@
+package jrpcutil
+
+import "gfx.cafe/open/jrpc/pkg/jsonrpc"
+
+type ErrorRecorder struct {
+	jsonrpc.ResponseWriter
+
+	err error
+}
+
+func (e *ErrorRecorder) Send(v any, err error) error {
+	newErr := e.ResponseWriter.Send(v, err)
+	if err != nil {
+		e.err = err
+	}
+	return newErr
+}
+
+func (e *ErrorRecorder) Error() error {
+	return e.err
+}
-- 
GitLab