js console: add cors domain optional argument to startRpc

pull/773/head
zelig 10 years ago
parent a3fb41981e
commit 22450c069b
  1. 11
      cmd/geth/admin.go
  2. 14
      cmd/geth/js_test.go

@ -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…
Cancel
Save