aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/http/server.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-02-05 00:58:18 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-02-05 00:58:18 +0800
commit429077a5a043ea6664f795ab34ad09ec2f65286f (patch)
treeaca9958c9185660c7a5a0d3b6bf6a1a7dff702b1 /rpc/http/server.go
parent2656a2d0387464d6c5039f38189649533c578708 (diff)
parent55ed0ff07c6cf2dc8b422a3bf8d623a039ad6dbd (diff)
downloadgo-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar.gz
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar.bz2
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar.lz
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar.xz
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.tar.zst
go-tangerine-429077a5a043ea6664f795ab34ad09ec2f65286f.zip
Merge branch 'develop' of github.com:tgerring/go-ethereum into develop
Diffstat (limited to 'rpc/http/server.go')
-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)