aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/http
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-02-04 07:29:29 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-02-04 07:29:29 +0800
commit55ed0ff07c6cf2dc8b422a3bf8d623a039ad6dbd (patch)
tree34ec5ce35049377792ccc33892191b76fc49069a /rpc/http
parent07590196a5ee1a63856f1653516da950dfa4966b (diff)
downloaddexon-55ed0ff07c6cf2dc8b422a3bf8d623a039ad6dbd.tar.gz
dexon-55ed0ff07c6cf2dc8b422a3bf8d623a039ad6dbd.tar.zst
dexon-55ed0ff07c6cf2dc8b422a3bf8d623a039ad6dbd.zip
Update RPC message format
Diffstat (limited to 'rpc/http')
-rw-r--r--rpc/http/server.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/rpc/http/server.go b/rpc/http/server.go
index 965727a4e..caa50d67c 100644
--- a/rpc/http/server.go
+++ b/rpc/http/server.go
@@ -84,6 +84,7 @@ func (s *RpcHttpServer) Start() {
}
func (s *RpcHttpServer) apiHandler(api *rpc.EthereumApi) http.Handler {
+ var jsonrpcver string = "2.0"
fn := func(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
@@ -91,20 +92,22 @@ func (s *RpcHttpServer) apiHandler(api *rpc.EthereumApi) http.Handler {
reqParsed, reqerr := JSON.ParseRequestBody(req)
if reqerr != nil {
- JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: reqParsed.JsonRpc, ID: reqParsed.ID, Error: true, ErrorText: rpc.ErrorParseRequest})
+ jsonerr := &rpc.RpcErrorObject{-32700, rpc.ErrorParseRequest}
+ JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: nil, Error: jsonerr})
return
}
var response interface{}
reserr := api.GetRequestReply(&reqParsed, &response)
if reserr != nil {
- rpchttplogger.Errorln(reserr)
- JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: reqParsed.JsonRpc, ID: reqParsed.ID, Error: true, ErrorText: reserr.Error()})
+ rpchttplogger.Warnln(reserr)
+ jsonerr := &rpc.RpcErrorObject{-32603, reserr.Error()}
+ JSON.Send(w, &rpc.RpcErrorResponse{JsonRpc: jsonrpcver, ID: &reqParsed.ID, Error: jsonerr})
return
}
rpchttplogger.Debugf("Generated response: %T %s", response, response)
- JSON.Send(w, &rpc.RpcSuccessResponse{JsonRpc: reqParsed.JsonRpc, ID: reqParsed.ID, Error: false, Result: response})
+ JSON.Send(w, &rpc.RpcSuccessResponse{JsonRpc: jsonrpcver, ID: reqParsed.ID, Result: response})
}
return http.HandlerFunc(fn)