mirror of https://github.com/ethereum/go-ethereum
rpc: check that "version" is "2.0" in request objects (#25570)
The JSON-RPC spec requires the "version" field to be exactly "2.0", so we should verify that. This change is not backwards-compatible with sloppy client implementations, but I decided to go ahead with it anyway because the failure will be caught via the returned error.pull/25669/head
parent
90711efb0a
commit
38e002f464
@ -0,0 +1,19 @@ |
|||||||
|
// This test checks processing of messages with invalid Version.
|
||||||
|
|
||||||
|
--> {"jsonrpc":"2.0","id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"result":{"String":"x","Int":3,"Args":null}} |
||||||
|
|
||||||
|
--> {"jsonrpc":"2.1","id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"invalid request"}} |
||||||
|
|
||||||
|
--> {"jsonrpc":"go-ethereum","id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"invalid request"}} |
||||||
|
|
||||||
|
--> {"jsonrpc":1,"id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"invalid request"}} |
||||||
|
|
||||||
|
--> {"jsonrpc":2.0,"id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"invalid request"}} |
||||||
|
|
||||||
|
--> {"id":1,"method":"test_echo","params":["x", 3]} |
||||||
|
<-- {"jsonrpc":"2.0","id":1,"error":{"code":-32600,"message":"invalid request"}} |
Loading…
Reference in new issue