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