forked from cerc-io/plugeth
js console: add cors domain optional argument to startRpc
This commit is contained in:
parent
a3fb41981e
commit
22450c069b
@ -209,10 +209,19 @@ func (js *jsre) startRPC(call otto.FunctionCall) otto.Value {
|
|||||||
return otto.FalseValue()
|
return otto.FalseValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var corsDomain string
|
||||||
|
if len(call.ArgumentList) > 2 {
|
||||||
|
corsDomain, err = call.Argument(2).ToString()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return otto.FalseValue()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
config := rpc.RpcConfig{
|
config := rpc.RpcConfig{
|
||||||
ListenAddress: addr,
|
ListenAddress: addr,
|
||||||
ListenPort: uint(port),
|
ListenPort: uint(port),
|
||||||
// CorsDomain: ctx.GlobalString(RPCCORSDomainFlag.Name),
|
CorsDomain: corsDomain,
|
||||||
}
|
}
|
||||||
|
|
||||||
xeth := xeth.New(js.ethereum, nil)
|
xeth := xeth.New(js.ethereum, nil)
|
||||||
|
@ -3,16 +3,16 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"path/filepath"
|
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/eth"
|
"github.com/ethereum/go-ethereum/eth"
|
||||||
"runtime"
|
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -70,8 +70,8 @@ func TestAccounts(t *testing.T) {
|
|||||||
t.Errorf("address not hex: %q", addr)
|
t.Errorf("address not hex: %q", addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
checkEvalJSON(t, repl, `eth.accounts`, `["` + addr + `"]`)
|
checkEvalJSON(t, repl, `eth.accounts`, `["`+addr+`"]`)
|
||||||
checkEvalJSON(t, repl, `eth.coinbase`, `"` + addr + `"`)
|
checkEvalJSON(t, repl, `eth.coinbase`, `"`+addr+`"`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBlockChain(t *testing.T) {
|
func TestBlockChain(t *testing.T) {
|
||||||
@ -97,13 +97,13 @@ func TestBlockChain(t *testing.T) {
|
|||||||
tmpfile := filepath.Join(tmp, "export.chain")
|
tmpfile := filepath.Join(tmp, "export.chain")
|
||||||
tmpfileq := strconv.Quote(tmpfile)
|
tmpfileq := strconv.Quote(tmpfile)
|
||||||
|
|
||||||
checkEvalJSON(t, repl, `admin.export(` + tmpfileq + `)`, `true`)
|
checkEvalJSON(t, repl, `admin.export(`+tmpfileq+`)`, `true`)
|
||||||
if _, err := os.Stat(tmpfile); err != nil {
|
if _, err := os.Stat(tmpfile); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// check import, verify that dumpBlock gives the same result.
|
// check import, verify that dumpBlock gives the same result.
|
||||||
checkEvalJSON(t, repl, `admin.import(` + tmpfileq + `)`, `true`)
|
checkEvalJSON(t, repl, `admin.import(`+tmpfileq+`)`, `true`)
|
||||||
checkEvalJSON(t, repl, `admin.debug.dumpBlock()`, beforeExport)
|
checkEvalJSON(t, repl, `admin.debug.dumpBlock()`, beforeExport)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ func TestRPC(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func checkEvalJSON(t *testing.T, re *jsre, expr, want string) error {
|
func checkEvalJSON(t *testing.T, re *jsre, expr, want string) error {
|
||||||
val, err := re.re.Run("JSON.stringify("+ expr + ")")
|
val, err := re.re.Run("JSON.stringify(" + expr + ")")
|
||||||
if err == nil && val.String() != want {
|
if err == nil && val.String() != want {
|
||||||
err = fmt.Errorf("Output mismatch for `%s`:\ngot: %s\nwant: %s", expr, val.String(), want)
|
err = fmt.Errorf("Output mismatch for `%s`:\ngot: %s\nwant: %s", expr, val.String(), want)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user