From 00dadb46d96928b67b8272dd2781feee4dc26f66 Mon Sep 17 00:00:00 2001
From: a <a@a.a>
Date: Wed, 14 Sep 2022 11:26:30 -0500
Subject: [PATCH] more json iter

---
 http.go |  4 ++--
 json.go | 10 ++++++----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/http.go b/http.go
index ba29c09..088f364 100644
--- a/http.go
+++ b/http.go
@@ -242,8 +242,8 @@ func newHTTPServerConn(r *http.Request, w http.ResponseWriter) ServerCodec {
 			param = pb
 		}
 		buf := new(bytes.Buffer)
-		buf.Grow(64)
-		json.NewEncoder(buf).Encode(jsonrpcMessage{
+		buf.Grow(128)
+		jzon.NewEncoder(buf).Encode(jsonrpcMessage{
 			ID:     NewStringIDPtr(id),
 			Method: method_up,
 			Params: param,
diff --git a/json.go b/json.go
index f73fc32..044466a 100644
--- a/json.go
+++ b/json.go
@@ -31,6 +31,8 @@ import (
 	jsoniter "github.com/json-iterator/go"
 )
 
+var jzon = jsoniter.ConfigCompatibleWithStandardLibrary
+
 const (
 	vsn                      = "2.0"
 	serviceMethodSeparator   = "_"
@@ -92,7 +94,7 @@ func (msg *jsonrpcMessage) namespace() string {
 }
 
 func (msg *jsonrpcMessage) String() string {
-	b, _ := jsoniter.Marshal(msg)
+	b, _ := jzon.Marshal(msg)
 	return string(b)
 }
 
@@ -106,7 +108,7 @@ func (msg *jsonrpcMessage) errorResponse(err error) *jsonrpcMessage {
 
 func (msg *jsonrpcMessage) response(result any) *jsonrpcMessage {
 	// do a funny marshaling
-	enc, err := jsoniter.ConfigCompatibleWithStandardLibrary.Marshal(result)
+	enc, err := jzon.Marshal(result)
 	if err != nil {
 		return msg.errorResponse(err)
 	}
@@ -203,8 +205,8 @@ func NewFuncCodec(conn deadlineCloser, encode, decode func(v any) error) ServerC
 // NewCodec creates a codec on the given connection. If conn implements ConnRemoteAddr, log
 // messages will use it to include the remote address of the connection.
 func NewCodec(conn Conn) ServerCodec {
-	enc := json.NewEncoder(conn)
-	dec := json.NewDecoder(conn)
+	enc := jzon.NewEncoder(conn)
+	dec := jzon.NewDecoder(conn)
 	dec.UseNumber()
 	return NewFuncCodec(conn, enc.Encode, dec.Decode)
 }
-- 
GitLab