From cf60fdd3d9e266dd56d1fb45bfab4fd5b50a6136 Mon Sep 17 00:00:00 2001 From: Matt Bell <mappum@gmail.com> Date: Mon, 27 Oct 2014 17:01:00 -0700 Subject: [PATCH] cmd/ipfs: Load API address from config --- cmd/ipfs/daemon.go | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/cmd/ipfs/daemon.go b/cmd/ipfs/daemon.go index 1ece04048..79a4b4df3 100644 --- a/cmd/ipfs/daemon.go +++ b/cmd/ipfs/daemon.go @@ -5,6 +5,8 @@ import ( "net/http" "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock" + ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr" + manet "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/net" cmds "github.com/jbenet/go-ipfs/commands" cmdsHttp "github.com/jbenet/go-ipfs/commands/http" @@ -41,10 +43,33 @@ func daemonFunc(req cmds.Request, res cmds.Response) { } defer lk.Close() + configFile, err := config.Filename(configPath) + if err != nil { + res.SetError(err, cmds.ErrNormal) + return + } + + config, err := config.Load(configFile) + if err != nil { + res.SetError(err, cmds.ErrNormal) + return + } + + addr, err := ma.NewMultiaddr(config.Addresses.API) + if err != nil { + res.SetError(err, cmds.ErrNormal) + return + } + + _, host, err := manet.DialArgs(addr) + if err != nil { + res.SetError(err, cmds.ErrNormal) + return + } + handler := cmdsHttp.Handler{} http.Handle(cmdsHttp.ApiPath+"/", handler) - // TODO: load listen address/port from config/options - err = http.ListenAndServe(":8080", nil) + err = http.ListenAndServe(host, nil) if err != nil { res.SetError(err, cmds.ErrNormal) return -- GitLab