@cryptotaxi247 / kubo / commits / 3ab3170a9

IPFS_ADDRESS_RPC env var for changing rpc target

Jeromy committed Oct 18, 2014 at 17:29 UTC 3ab3170a986dabc6654c29d2d6e03cefcff34e0f
1 file changed +28 -11
daemon/daemon_client.go
+28 -11
@@ -47,26 +47,43 @@ func getDaemonAddr(confdir string) (string, error) {
47 // over network RPC API. The address of the daemon is retrieved from the config
48 // directory, where live daemons write their addresses to special files.
49 func SendCommand(command *Command, confdir string) error {
50 - //check if daemon is running
51 - log.Info("Checking if daemon is running...")
50 + server := os.Getenv("IPFS_ADDRESS_RPC")
51 +
52 + if server == "" {
53 + //check if daemon is running
54 + log.Info("Checking if daemon is running...")
55 + if !serverIsRunning(confdir) {
56 + return ErrDaemonNotRunning
57 + }
58 +
59 + log.Info("Daemon is running!")
60 +
61 + var err error
62 + server, err = getDaemonAddr(confdir)
63 + if err != nil {
64 + return err
65 + }
66 + }
67 +
68 + return serverComm(server, command)
69 +}
70 +
71 +func serverIsRunning(confdir string) bool {
72 var err error
73 confdir, err = u.TildeExpansion(confdir)
74 if err != nil {
55 - return err
75 + log.Error("Tilde Expansion Failed: %s", err)
76 + return false
77 }
78 lk, err := daemonLock(confdir)
79 if err == nil {
80 lk.Close()
60 - return ErrDaemonNotRunning
61 - }
62 -
63 - log.Info("Daemon is running! [reason = %s]", err)
64 -
65 - server, err := getDaemonAddr(confdir)
66 - if err != nil {
67 - return err
81 + return false
82 }
83 + return true
84 +}
85
86 +func serverComm(server string, command *Command) error {
87 log.Info("Daemon address: %s", server)
88 maddr, err := ma.NewMultiaddr(server)
89 if err != nil {