rpc: modify New* functions to return error (#4274)

The New* client functions return an error instead
of panicking when the remote address is invalid.

Fixes #3953
This commit is contained in:
Peter Mrekaj
2020-01-07 07:07:03 +01:00
committed by Anton Kaliaev
parent 7be74c73b7
commit 8f5d58f32e
19 changed files with 156 additions and 75 deletions

View File

@@ -58,7 +58,10 @@ func dumpCmdHandler(_ *cobra.Command, args []string) error {
}
}
rpc := rpcclient.NewHTTP(nodeRPCAddr, "/websocket")
rpc, err := rpcclient.NewHTTP(nodeRPCAddr, "/websocket")
if err != nil {
return errors.Wrap(err, "failed to create new http client")
}
home := viper.GetString(cli.HomeFlag)
conf := cfg.DefaultConfig()

View File

@@ -44,7 +44,10 @@ func killCmdHandler(cmd *cobra.Command, args []string) error {
return errors.New("invalid output file")
}
rpc := rpcclient.NewHTTP(nodeRPCAddr, "/websocket")
rpc, err := rpcclient.NewHTTP(nodeRPCAddr, "/websocket")
if err != nil {
return errors.Wrap(err, "failed to create new http client")
}
home := viper.GetString(cli.HomeFlag)
conf := cfg.DefaultConfig()

View File

@@ -80,7 +80,10 @@ func runProxy(cmd *cobra.Command, args []string) error {
// First, connect a client
logger.Info("Connecting to source HTTP client...")
node := rpcclient.NewHTTP(nodeAddr, "/websocket")
node, err := rpcclient.NewHTTP(nodeAddr, "/websocket")
if err != nil {
return errors.Wrap(err, "new HTTP client")
}
logger.Info("Constructing Verifier...")
cert, err := proxy.NewVerifier(chainID, home, node, logger, cacheSize)