diff --git a/cmd/geth/admin.go b/cmd/geth/admin.go index 646b45bf9a14cd0b2432cc7b064e26f8c7bd1cbb..31f8d4400420bdab5b60ab4733667defdc3c9b4d 100644 --- a/cmd/geth/admin.go +++ b/cmd/geth/admin.go @@ -203,13 +203,14 @@ func (js *jsre) startRPC(call otto.FunctionCall) otto.Value { fmt.Println(err) return otto.FalseValue() } + port, err := call.Argument(1).ToInteger() if err != nil { fmt.Println(err) return otto.FalseValue() } - var corsDomain string + corsDomain := js.corsDomain if len(call.ArgumentList) > 2 { corsDomain, err = call.Argument(2).ToString() if err != nil { diff --git a/cmd/geth/js.go b/cmd/geth/js.go index abbd655137b3e898b7e862e1ff85d8cacb8ef3fa..a545de1d054048abed3b29472bba6247e3f278fa 100644 --- a/cmd/geth/js.go +++ b/cmd/geth/js.go @@ -59,17 +59,19 @@ func (r dumbterm) PasswordPrompt(p string) (string, error) { func (r dumbterm) AppendHistory(string) {} type jsre struct { - re *re.JSRE - ethereum *eth.Ethereum - xeth *xeth.XEth - ps1 string - atexit func() - + re *re.JSRE + ethereum *eth.Ethereum + xeth *xeth.XEth + ps1 string + atexit func() + corsDomain string prompter } -func newJSRE(ethereum *eth.Ethereum, libPath string, interactive bool) *jsre { +func newJSRE(ethereum *eth.Ethereum, libPath string, interactive bool, corsDomain string) *jsre { js := &jsre{ethereum: ethereum, ps1: "> "} + // set default cors domain used by startRpc from CLI flag + js.corsDomain = corsDomain js.xeth = xeth.New(ethereum, js) js.re = re.New(libPath) js.apiBindings() diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go index 662e195e55a7232b23bc8a5c0b85868ca81adba3..50528b80aa1c05889420f406ac24b940c4102eb0 100644 --- a/cmd/geth/js_test.go +++ b/cmd/geth/js_test.go @@ -36,7 +36,7 @@ func testJEthRE(t *testing.T) (*jsre, *eth.Ethereum) { t.Fatal("%v", err) } assetPath := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist", "assets", "ext") - repl := newJSRE(ethereum, assetPath, false) + repl := newJSRE(ethereum, assetPath, false, "") return repl, ethereum } diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 70be2ed2e1eac3142b9d15df190736ead0e06316..dd87632b6bb094b020d944e6b0efbf2575151db4 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -296,7 +296,7 @@ func console(ctx *cli.Context) { } startEth(ctx, ethereum) - repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), true) + repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), true, ctx.GlobalString(utils.RPCCORSDomainFlag.Name)) repl.interactive() ethereum.Stop() @@ -311,7 +311,7 @@ func execJSFiles(ctx *cli.Context) { } startEth(ctx, ethereum) - repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), false) + repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), false, ctx.GlobalString(utils.RPCCORSDomainFlag.Name)) for _, file := range ctx.Args() { repl.exec(file) }