go-ethereum/rpc
rayoo 4017efe345
rpc: reject empty batch in BatchCallContext (#34985)
The server already rejects empty batches with -32600. On the client
side, calling BatchCallContext with a zero-length slice on inproc/WS/IPC
transports registers no request IDs but the server still replies with an
error message whose id is null. The dispatch loop has no requestOp to
match it to, so op.resp is never written and op.wait blocks until ctx
deadline.

Short-circuit on len(b) == 0 with the same invalidRequestError the
server uses, so all transports return immediately with -32600.
2026-05-28 10:38:34 +02:00
..
testdata rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
client.go rpc: reject empty batch in BatchCallContext (#34985) 2026-05-28 10:38:34 +02:00
client_example_test.go rpc: make ExampleClientSubscription work with the geth API (#19483) 2020-04-27 17:25:24 +02:00
client_opt.go eth, rpc: add configurable option for wsMessageSizeLimit (#27801) 2023-10-03 03:23:19 -04:00
client_opt_test.go all: update license comments and AUTHORS (#31133) 2025-02-05 23:01:17 +01:00
client_test.go rpc: fix a flaky test of the websocket (#33002) 2025-10-23 20:58:33 +08:00
context_headers.go rpc: support injecting HTTP headers through context (#26023) 2022-11-16 15:22:12 +01:00
doc.go all: update dead wiki links (#32215) 2025-07-15 06:24:17 -06: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 rpc: add method to test for subscription support (#25942) 2023-06-14 14:04:41 +02:00
handler.go rpc: fix method-name matched before maxMethodNameLength (#35038) 2026-05-27 16:32:51 +02:00
http.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
http_test.go rpc: avoid unnecessary RST_STREAM, PING frames sent by client (#33122) 2025-11-11 15:54:36 +01:00
inproc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
ipc_js.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
ipc_unix.go rpc: fix ipc max path size (#29385) 2024-04-02 11:25:19 +02:00
ipc_wasip1.go all: add build tags for wasip1 (#31090) 2025-01-30 16:58:53 +01:00
ipc_windows.go rpc: use go-winio for named pipes (#27972) 2023-08-23 04:39:01 +02:00
json.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
metrics.go rpc: fix ns/µs mismatch in metrics (#28649) 2023-12-08 09:40:50 +01:00
server.go rpc, internal/telemetry: add OpenTelemetry tracing for JSON-RPC calls (#33452) 2026-01-14 10:58:30 -07:00
server_test.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
service.go rpc, internal/telemetry: add OpenTelemetry tracing for JSON-RPC calls (#33452) 2026-01-14 10:58:30 -07:00
stdio.go rpc: add limit for batch request items and response size (#26681) 2023-06-13 13:38:58 +02:00
subscription.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
subscription_test.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
testservice_test.go rpc: remove deprecated method "Notifier.Closed" (#29162) 2024-03-05 14:44:23 +01:00
tracing_test.go rpc,internal/telemetry: fix deferred spanEnd to capture errors via pointer (#33772) 2026-02-14 01:00:14 +01:00
types.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
types_test.go rpc: run tests in parallel (#30384) 2024-11-19 13:43:33 +01:00
websocket.go beacon/engine, rpc: optimize JSON encoding for large blob payloads (#33969) 2026-05-20 20:25:56 +02:00
websocket_test.go rpc: fix method-name matched before maxMethodNameLength (#35038) 2026-05-27 16:32:51 +02:00