good morning!!!!

Skip to content
Snippets Groups Projects
Commit 594a34a8 authored by Bas van Kervel's avatar Bas van Kervel
Browse files

changed send methods for backwards compatability in geth console

parent 1b59f890
Branches
Tags
No related merge requests found
...@@ -307,7 +307,6 @@ func console(ctx *cli.Context) { ...@@ -307,7 +307,6 @@ func console(ctx *cli.Context) {
repl := newJSRE( repl := newJSRE(
ethereum, ethereum,
ctx.String(utils.JSpathFlag.Name), ctx.String(utils.JSpathFlag.Name),
ctx.GlobalString(utils.IPCPathFlag.Name),
ctx.GlobalString(utils.RPCCORSDomainFlag.Name), ctx.GlobalString(utils.RPCCORSDomainFlag.Name),
ctx.GlobalString(utils.IPCPathFlag.Name), ctx.GlobalString(utils.IPCPathFlag.Name),
true, true,
...@@ -330,7 +329,6 @@ func execJSFiles(ctx *cli.Context) { ...@@ -330,7 +329,6 @@ func execJSFiles(ctx *cli.Context) {
repl := newJSRE( repl := newJSRE(
ethereum, ethereum,
ctx.String(utils.JSpathFlag.Name), ctx.String(utils.JSpathFlag.Name),
ctx.GlobalString(utils.IPCPathFlag.Name),
ctx.GlobalString(utils.RPCCORSDomainFlag.Name), ctx.GlobalString(utils.RPCCORSDomainFlag.Name),
ctx.GlobalString(utils.IPCPathFlag.Name), ctx.GlobalString(utils.IPCPathFlag.Name),
false, false,
......
...@@ -44,6 +44,60 @@ func (self *Jeth) Send(call otto.FunctionCall) (response otto.Value) { ...@@ -44,6 +44,60 @@ func (self *Jeth) Send(call otto.FunctionCall) (response otto.Value) {
return self.err(call, -32700, err.Error(), nil) return self.err(call, -32700, err.Error(), nil)
} }
jsonreq, err := json.Marshal(reqif)
var reqs []RpcRequest
batch := true
err = json.Unmarshal(jsonreq, &reqs)
if err != nil {
reqs = make([]RpcRequest, 1)
err = json.Unmarshal(jsonreq, &reqs[0])
batch = false
}
call.Otto.Set("response_len", len(reqs))
call.Otto.Run("var ret_response = new Array(response_len);")
for i, req := range reqs {
var respif interface{}
err = self.ethApi.GetRequestReply(&req, &respif)
if err != nil {
fmt.Println("Error response:", err)
return self.err(call, -32603, err.Error(), req.Id)
}
call.Otto.Set("ret_jsonrpc", jsonrpcver)
call.Otto.Set("ret_id", req.Id)
res, _ := json.Marshal(respif)
call.Otto.Set("ret_result", string(res))
call.Otto.Set("response_idx", i)
response, err = call.Otto.Run(`
ret_response[response_idx] = { jsonrpc: ret_jsonrpc, id: ret_id, result: JSON.parse(ret_result) };
`)
}
if !batch {
call.Otto.Run("ret_response = ret_response[0];")
}
if call.Argument(1).IsObject() {
call.Otto.Set("callback", call.Argument(1))
call.Otto.Run(`
if (Object.prototype.toString.call(callback) == '[object Function]') {
callback(null, ret_response);
}
`)
}
return
}
func (self *Jeth) SendIpc(call otto.FunctionCall) (response otto.Value) {
reqif, err := call.Argument(0).Export()
if err != nil {
return self.err(call, -32700, err.Error(), nil)
}
client, err := comms.NewIpcClient(comms.IpcConfig{self.ipcpath}, codec.JSON) client, err := comms.NewIpcClient(comms.IpcConfig{self.ipcpath}, codec.JSON)
if err != nil { if err != nil {
fmt.Println("Unable to connect to geth.") fmt.Println("Unable to connect to geth.")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment