diff options
author | zelig <viktor.tron@gmail.com> | 2015-04-22 21:55:01 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2015-04-24 19:45:11 +0800 |
commit | 6b1b5a4a2a8b315f4d0e7a08ab10563653711a92 (patch) | |
tree | 697ed17f77ce843ce0086e9532a2ee2d992a906d /cmd | |
parent | 1b7c017076ae578a89a18b5c7ffc61e9c8d59eee (diff) | |
download | dexon-6b1b5a4a2a8b315f4d0e7a08ab10563653711a92.tar.gz dexon-6b1b5a4a2a8b315f4d0e7a08ab10563653711a92.tar.zst dexon-6b1b5a4a2a8b315f4d0e7a08ab10563653711a92.zip |
cli/js console: if corsDomain is not given to startRpc, we fall back to value set on command line with `-corsDomain`
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/geth/admin.go | 3 | ||||
-rw-r--r-- | cmd/geth/js.go | 16 | ||||
-rw-r--r-- | cmd/geth/js_test.go | 2 | ||||
-rw-r--r-- | cmd/geth/main.go | 4 |
4 files changed, 14 insertions, 11 deletions
diff --git a/cmd/geth/admin.go b/cmd/geth/admin.go index 646b45bf9..31f8d4400 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 abbd65513..a545de1d0 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 662e195e5..50528b80a 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 70be2ed2e..dd87632b6 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) } |