fixed some errors related to crashing travis build

This commit is contained in:
renaynay 2020-03-25 16:30:51 +01:00
parent 3131d6e5bc
commit 3de74d2213
No known key found for this signature in database
GPG key ID: 731E44FAAFCD0274
4 changed files with 23 additions and 7 deletions

View file

@ -539,9 +539,17 @@ func signer(c *cli.Context) error {
vhosts := splitAndTrim(c.GlobalString(utils.RPCVirtualHostsFlag.Name))
cors := splitAndTrim(c.GlobalString(utils.RPCCORSDomainFlag.Name))
// start http server
srv := rpc.NewServer()
err := node.RegisterApisFromWhitelist(rpcAPI, []string{"account"}, srv)
if err != nil {
utils.Fatalf("Could not register API: %w", err) // TODO should this be a fatal failure?
}
handler := node.NewHTTPHandlerStack(srv, cors, vhosts)
httpEndpoint := fmt.Sprintf("%s:%d", c.GlobalString(utils.RPCListenAddrFlag.Name), c.Int(rpcPortFlag.Name))
listener, _, err := rpc.StartHTTPEndpoint(httpEndpoint, rpcAPI, []string{"account"}, cors, vhosts, rpc.DefaultHTTPTimeouts)
// start http server
listener, err := rpc.StartHTTPEndpoint(httpEndpoint, rpc.DefaultHTTPTimeouts, handler)
if err != nil {
utils.Fatalf("Could not start RPC api: %v", err)
}

View file

@ -890,6 +890,11 @@ func retesteth(ctx *cli.Context) error {
srv := rpc.NewServer()
err := node.RegisterApisFromWhitelist(rpcAPI, []string{"test", "eth", "debug", "web3"}, srv)
if err != nil {
utils.Fatalf("Could not register RPC apis: %w", err) // TODO should this be a fatal error?
}
handler := node.NewHTTPHandlerStack(srv, cors, vhosts)
handler = node.NewWebsocketUpgradeHandler(handler, nil)
@ -900,7 +905,7 @@ func retesteth(ctx *cli.Context) error {
IdleTimeout: 120 * time.Second,
}
httpEndpoint := fmt.Sprintf("%s:%d", ctx.GlobalString(utils.RPCListenAddrFlag.Name), ctx.Int(rpcPortFlag.Name))
listener, err := rpc.StartHTTPEndpoint(httpEndpoint, rpcAPI, []string{"test", "eth", "debug", "web3"}, RetestethHTTPTimeouts, handler)
listener, err := rpc.StartHTTPEndpoint(httpEndpoint, RetestethHTTPTimeouts, handler)
if err != nil {
utils.Fatalf("Could not start RPC api: %v", err)
}

View file

@ -372,7 +372,10 @@ func (n *Node) startHTTP(endpoint string, apis []rpc.API, modules []string, cors
srv := rpc.NewServer()
err := registerApisFromWhitelist(apis, modules, srv)
err := RegisterApisFromWhitelist(apis, modules, srv)
if err != nil {
return err // TODO this should return upon failure, right?
}
var ws http.Handler
if n.httpEndpoint == n.wsEndpoint {
@ -381,7 +384,7 @@ func (n *Node) startHTTP(endpoint string, apis []rpc.API, modules []string, cors
// wrap handler in websocket handler only if websocket port is the same as http rpc
handler := n.AddWebsocketHandler(NewHTTPHandlerStack(srv, cors, vhosts), ws)
listener, err := rpc.StartHTTPEndpoint(endpoint, apis, modules, timeouts, handler)
listener, err := rpc.StartHTTPEndpoint(endpoint, timeouts, handler)
if err != nil {
return err
}
@ -694,7 +697,7 @@ func (n *Node) apis() []rpc.API {
}
}
func registerApisFromWhitelist(apis []rpc.API, modules []string, srv *rpc.Server) error {
func RegisterApisFromWhitelist(apis []rpc.API, modules []string, srv *rpc.Server) error {
if bad, available := rpc.CheckModuleAvailability(modules, apis); len(bad) > 0 {
log.Error("Unavailable modules in HTTP API list", "unavailable", bad, "available", available)
}

View file

@ -44,7 +44,7 @@ func CheckModuleAvailability(modules []string, apis []API) (bad, available []str
}
// StartHTTPEndpoint starts the HTTP RPC endpoint, configured with cors/vhosts/modules.
func StartHTTPEndpoint(endpoint string, apis []API, modules []string, timeouts HTTPTimeouts, handler http.Handler) (net.Listener, error) {
func StartHTTPEndpoint(endpoint string, timeouts HTTPTimeouts, handler http.Handler) (net.Listener, error) {
// Start the HTTP listener
var (
listener net.Listener