golang/go

net/rpc/jsonrpc: client implementation is not compatible with JSON-RPC 1.0 spec

Open

#30,188 创建于 2019年2月12日

在 GitHub 查看
 (8 评论) (1 反应) (0 负责人)Go (19,008 fork)batch import
NeedsInvestigationhelp wanted

仓库指标

Star
 (133,883 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

According to JSON-RPC 1.0 specification the params property should be an array of object. The canonical example of calling remote methods with JSON-RPC 1.0 is to send the parameters as one dimensional JSON array: {"method": "concat", "params": ["foo", "bar"], "id": 123} The GO's client implementation will always wrap the params property in an additional array: {"method": "concat", "params": [["foo", "bar"]], "id": 123} This works fine as long as both ends use the GO's implementation and expect the actual params to be the first element of the params array. It becomes a problem if you have another server implementation of JSON-RPC 1.0 but want to use GO's client to call remote methods.

I have worked around this issue locally by fixing it in my go fork.

贡献者指南