aboutsummaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-02-12 02:22:38 +0800
committerobscuren <geffobscura@gmail.com>2015-02-12 02:22:38 +0800
commit1fc3524e40ced2e780f6b90fa4ca7725c839976f (patch)
tree1d3508d967c9269fd89b0fa2d45313e4c821c170 /rpc
parentdf49c609a0fd055a4f0dac89db6863ad5532228f (diff)
parentebc506dae8a15e5dcce4e4369e21d04e3b8f9aa4 (diff)
downloadgo-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar.gz
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar.bz2
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar.lz
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar.xz
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.tar.zst
go-tangerine-1fc3524e40ced2e780f6b90fa4ca7725c839976f.zip
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
Diffstat (limited to 'rpc')
-rw-r--r--rpc/http/server.go2
-rw-r--r--rpc/message.go6
-rw-r--r--rpc/util.go2
-rw-r--r--rpc/ws/server.go5
4 files changed, 8 insertions, 7 deletions
diff --git a/rpc/http/server.go b/rpc/http/server.go
index a34400a77..10c8fa813 100644
--- a/rpc/http/server.go
+++ b/rpc/http/server.go
@@ -102,7 +102,7 @@ func (s *RpcHttpServer) apiHandler(api *rpc.EthereumApi) http.Handler {
if reserr != nil {
rpchttplogger.Warnln(reserr)
jsonerr := &rpc.RpcErrorObject{-32603, reserr.Error()}
- JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: &reqParsed.ID, Error: jsonerr})
+ JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: reqParsed.ID, Error: jsonerr})
return
}
diff --git a/rpc/message.go b/rpc/message.go
index 78dc6e2ff..7983e003d 100644
--- a/rpc/message.go
+++ b/rpc/message.go
@@ -34,20 +34,20 @@ const (
)
type RpcRequest struct {
+ ID interface{} `json:"id"`
JsonRpc string `json:"jsonrpc"`
- ID int `json:"id"`
Method string `json:"method"`
Params []json.RawMessage `json:"params"`
}
type RpcSuccessResponse struct {
- ID int `json:"id"`
+ ID interface{} `json:"id"`
JsonRpc string `json:"jsonrpc"`
Result interface{} `json:"result"`
}
type RpcErrorResponse struct {
- ID *int `json:"id"`
+ ID interface{} `json:"id"`
JsonRpc string `json:"jsonrpc"`
Error *RpcErrorObject `json:"error"`
}
diff --git a/rpc/util.go b/rpc/util.go
index 509d9a17d..679d83754 100644
--- a/rpc/util.go
+++ b/rpc/util.go
@@ -47,7 +47,6 @@ func (self JsonWrapper) ParseRequestBody(req *http.Request) (RpcRequest, error)
// Convert JSON to native types
d := json.NewDecoder(req.Body)
- // d.UseNumber()
defer req.Body.Close()
err := d.Decode(&reqParsed)
@@ -55,6 +54,7 @@ func (self JsonWrapper) ParseRequestBody(req *http.Request) (RpcRequest, error)
rpclogger.Errorln("Error decoding JSON: ", err)
return reqParsed, err
}
+
rpclogger.DebugDetailf("Parsed request: %s", reqParsed)
return reqParsed, nil
diff --git a/rpc/ws/server.go b/rpc/ws/server.go
index 6be4e8ce9..100713c10 100644
--- a/rpc/ws/server.go
+++ b/rpc/ws/server.go
@@ -94,9 +94,10 @@ func sockHandler(api *rpc.EthereumApi) websocket.Handler {
var jsonrpcver string = "2.0"
fn := func(conn *websocket.Conn) {
for {
- wslogger.Debugln("Handling request")
+ wslogger.Debugln("Handling connection")
var reqParsed rpc.RpcRequest
+ // reqParsed, reqerr := JSON.ParseRequestBody(conn.Request())
if err := websocket.JSON.Receive(conn, &reqParsed); err != nil {
jsonerr := &rpc.RpcErrorObject{-32700, rpc.ErrorParseRequest}
JSON.Send(conn, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: nil, Error: jsonerr})
@@ -108,7 +109,7 @@ func sockHandler(api *rpc.EthereumApi) websocket.Handler {
if reserr != nil {
wslogger.Warnln(reserr)
jsonerr := &rpc.RpcErrorObject{-32603, reserr.Error()}
- JSON.Send(conn, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: &reqParsed.ID, Error: jsonerr})
+ JSON.Send(conn, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: reqParsed.ID, Error: jsonerr})
continue
}