@cryptotaxi247 / kubo / commits / cf60fdd3d

cmd/ipfs: Load API address from config

Matt Bell committed Oct 27, 2014 at 17:01 UTC cf60fdd3d9e266dd56d1fb45bfab4fd5b50a6136
1 file changed +27 -2
cmd/ipfs/daemon.go
+27 -2
@@ -5,6 +5,8 @@ import (
5 "net/http"
6
7 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/camlistore/lock"
8 + ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
9 + manet "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr/net"
10
11 cmds "github.com/jbenet/go-ipfs/commands"
12 cmdsHttp "github.com/jbenet/go-ipfs/commands/http"
@@ -41,10 +43,33 @@ func daemonFunc(req cmds.Request, res cmds.Response) {
43 }
44 defer lk.Close()
45
46 + configFile, err := config.Filename(configPath)
47 + if err != nil {
48 + res.SetError(err, cmds.ErrNormal)
49 + return
50 + }
51 +
52 + config, err := config.Load(configFile)
53 + if err != nil {
54 + res.SetError(err, cmds.ErrNormal)
55 + return
56 + }
57 +
58 + addr, err := ma.NewMultiaddr(config.Addresses.API)
59 + if err != nil {
60 + res.SetError(err, cmds.ErrNormal)
61 + return
62 + }
63 +
64 + _, host, err := manet.DialArgs(addr)
65 + if err != nil {
66 + res.SetError(err, cmds.ErrNormal)
67 + return
68 + }
69 +
70 handler := cmdsHttp.Handler{}
71 http.Handle(cmdsHttp.ApiPath+"/", handler)
46 - // TODO: load listen address/port from config/options
47 - err = http.ListenAndServe(":8080", nil)
72 + err = http.ListenAndServe(host, nil)
73 if err != nil {
74 res.SetError(err, cmds.ErrNormal)
75 return