go-ethereum/rpc
Valentin Trinqué abd49a6c48
rpc: set Request.GetBody for client requests (#24292)
When talking to an HTTP2 server, there are situations where it needs to
"rewind" the Request.Body. To allow this, we have to set up the Request.GetBody
function to return a brand new instance of the body.

If not set, we can end up with the following error:

    http2: Transport: cannot retry err [http2: Transport received Server's graceful shutdown GOAWAY] after Request.Body was written; define Request.GetBody to avoid this error

See this commit for more information: cffdcf672a?visible=2
2022-01-27 10:59:05 +01:00
..
testdata rpc: fix issue with null JSON-RPC messages (#21497) 2020-08-28 16:27:58 +02:00
client.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
client_example_test.go rpc: make ExampleClientSubscription work with the geth API (#19483) 2020-04-27 17:25:24 +02:00
client_test.go core, miner, rpc, eth: fix goroutine leaks in tests (#24211) 2022-01-21 12:22:44 +01:00
constants_unix.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
constants_unix_nocgo.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
doc.go rpc: remove 'exported or builtin' restriction for parameters (#20332) 2019-11-20 10:06:21 +02:00
endpoints.go trie, rpc, cmd/geth: fix tests on 32-bit and windows + minor rpc fixes (#21871) 2020-11-19 22:50:47 +01:00
errors.go eth/catalyst: implement kintsugi-spec v3 (#24067) 2021-12-17 15:38:58 +01:00
handler.go rpc: fix time key collision for logger with json output (#24112) 2021-12-15 15:30:54 +01:00
http.go rpc: set Request.GetBody for client requests (#24292) 2022-01-27 10:59:05 +01:00
http_test.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
inproc.go rpc, p2p/simulations: use github.com/gorilla/websocket (#20289) 2019-11-18 10:40:59 +02:00
ipc.go rpc, p2p/simulations: use github.com/gorilla/websocket (#20289) 2019-11-18 10:40:59 +02:00
ipc_js.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
ipc_unix.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
ipc_windows.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
json.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
metrics.go rpc: metrics for JSON-RPC method calls (#20847) 2020-04-03 12:36:44 +02:00
server.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
server_test.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
service.go rpc: remove 'exported or builtin' restriction for parameters (#20332) 2019-11-20 10:06:21 +02:00
stdio.go rpc, p2p/simulations: use github.com/gorilla/websocket (#20289) 2019-11-18 10:40:59 +02:00
subscription.go rpc: tighter shutdown synchronization in client subscription (#22597) 2021-03-30 20:09:30 +02:00
subscription_test.go all: fix a bunch of inconsequential goroutine leaks (#20667) 2020-04-03 20:07:22 +02:00
testservice_test.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
types.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
types_test.go rpc: add BlockNumber.MarshalText (#23324) 2021-08-25 19:30:29 +02:00
websocket.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00
websocket_test.go rpc: add PeerInfo (#24255) 2022-01-20 12:45:07 +01:00