From 3ab3170a986dabc6654c29d2d6e03cefcff34e0f Mon Sep 17 00:00:00 2001 From: Jeromy Date: Sat, 18 Oct 2014 17:29:54 -0700 Subject: [PATCH] IPFS_ADDRESS_RPC env var for changing rpc target --- daemon/daemon_client.go | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/daemon/daemon_client.go b/daemon/daemon_client.go index 8db861535..4ed1be73c 100644 --- a/daemon/daemon_client.go +++ b/daemon/daemon_client.go @@ -47,26 +47,43 @@ func getDaemonAddr(confdir string) (string, error) { // over network RPC API. The address of the daemon is retrieved from the config // directory, where live daemons write their addresses to special files. func SendCommand(command *Command, confdir string) error { - //check if daemon is running - log.Info("Checking if daemon is running...") + server := os.Getenv("IPFS_ADDRESS_RPC") + + if server == "" { + //check if daemon is running + log.Info("Checking if daemon is running...") + if !serverIsRunning(confdir) { + return ErrDaemonNotRunning + } + + log.Info("Daemon is running!") + + var err error + server, err = getDaemonAddr(confdir) + if err != nil { + return err + } + } + + return serverComm(server, command) +} + +func serverIsRunning(confdir string) bool { var err error confdir, err = u.TildeExpansion(confdir) if err != nil { - return err + log.Error("Tilde Expansion Failed: %s", err) + return false } lk, err := daemonLock(confdir) if err == nil { lk.Close() - return ErrDaemonNotRunning - } - - log.Info("Daemon is running! [reason = %s]", err) - - server, err := getDaemonAddr(confdir) - if err != nil { - return err + return false } + return true +} +func serverComm(server string, command *Command) error { log.Info("Daemon address: %s", server) maddr, err := ma.NewMultiaddr(server) if err != nil {