diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 77940da8a75..11696ed3b02 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -17,7 +17,7 @@ - Data Storage - [state] \#6541 Move pruneBlocks from consensus/state to state/execution. (@JayT106) - + - Tooling - [tools/tm-signer-harness] \#6498 Set OS home dir to instead of the hardcoded PATH. (@JayT106) - [metrics] \#9682 move state-syncing and block-syncing metrics to their respective packages (@cmwaters) diff --git a/rpc/jsonrpc/server/http_server.go b/rpc/jsonrpc/server/http_server.go index 617e1bbdc68..6dd772e3d97 100644 --- a/rpc/jsonrpc/server/http_server.go +++ b/rpc/jsonrpc/server/http_server.go @@ -104,7 +104,7 @@ func WriteRPCResponseHTTPError( panic("tried to write http error response without RPC error") } - jsonBytes, err := json.MarshalIndent(res, "", " ") + jsonBytes, err := json.Marshal(res) if err != nil { return fmt.Errorf("json marshal: %w", err) } @@ -140,7 +140,7 @@ func writeRPCResponseHTTP(w http.ResponseWriter, headers []httpHeader, res ...ty v = res } - jsonBytes, err := json.MarshalIndent(v, "", " ") + jsonBytes, err := json.Marshal(v) if err != nil { return fmt.Errorf("json marshal: %w", err) } diff --git a/rpc/jsonrpc/server/http_server_test.go b/rpc/jsonrpc/server/http_server_test.go index e1c499200f1..72e87320737 100644 --- a/rpc/jsonrpc/server/http_server_test.go +++ b/rpc/jsonrpc/server/http_server_test.go @@ -121,13 +121,7 @@ func TestWriteRPCResponseHTTP(t *testing.T) { assert.Equal(t, 200, resp.StatusCode) assert.Equal(t, "application/json", resp.Header.Get("Content-Type")) assert.Equal(t, "public, max-age=86400", resp.Header.Get("Cache-control")) - assert.Equal(t, `{ - "jsonrpc": "2.0", - "id": -1, - "result": { - "value": "hello" - } -}`, string(body)) + assert.Equal(t, `{"jsonrpc":"2.0","id":-1,"result":{"value":"hello"}}`, string(body)) // multiple arguments w = httptest.NewRecorder() @@ -142,22 +136,7 @@ func TestWriteRPCResponseHTTP(t *testing.T) { assert.Equal(t, 200, resp.StatusCode) assert.Equal(t, "application/json", resp.Header.Get("Content-Type")) - assert.Equal(t, `[ - { - "jsonrpc": "2.0", - "id": -1, - "result": { - "value": "hello" - } - }, - { - "jsonrpc": "2.0", - "id": -1, - "result": { - "value": "world" - } - } -]`, string(body)) + assert.Equal(t, `[{"jsonrpc":"2.0","id":-1,"result":{"value":"hello"}},{"jsonrpc":"2.0","id":-1,"result":{"value":"world"}}]`, string(body)) } func TestWriteRPCResponseHTTPError(t *testing.T) { @@ -173,13 +152,5 @@ func TestWriteRPCResponseHTTPError(t *testing.T) { require.NoError(t, err) assert.Equal(t, http.StatusInternalServerError, resp.StatusCode) assert.Equal(t, "application/json", resp.Header.Get("Content-Type")) - assert.Equal(t, `{ - "jsonrpc": "2.0", - "id": -1, - "error": { - "code": -32603, - "message": "Internal error", - "data": "foo" - } -}`, string(body)) + assert.Equal(t, `{"jsonrpc":"2.0","id":-1,"error":{"code":-32603,"message":"Internal error","data":"foo"}}`, string(body)) } diff --git a/rpc/jsonrpc/server/ws_handler.go b/rpc/jsonrpc/server/ws_handler.go index f8a89714ea9..b2f1382c57b 100644 --- a/rpc/jsonrpc/server/ws_handler.go +++ b/rpc/jsonrpc/server/ws_handler.go @@ -431,7 +431,10 @@ func (wsc *wsConnection) writeRoutine() { return } case msg := <-wsc.writeChan: - jsonBytes, err := json.MarshalIndent(msg, "", " ") + // Use json.MarshalIndent instead of Marshal for pretty output. + // Pretty output not necessary, since most consumers of WS events are + // automated processes, not humans. + jsonBytes, err := json.Marshal(msg) if err != nil { wsc.Logger.Error("Failed to marshal RPCResponse to JSON", "err", err) continue