daemon: Set allowed API origins in API_ORIGIN environment variable
Matt Bell committed
Nov 18, 2014 at 22:17 UTC
706ebe8d24ba98a4ef11fe465572cb54244102cb
1 file changed
+5
-1
cmd/ipfs/daemon.go
+5
-1
@@ -3,6 +3,7 @@ package main
3
import (
4
"fmt"
5
"net/http"
6
+ "os"
7
8
manners "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/braintree/manners"
9
ma "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
@@ -23,6 +24,7 @@ const (
24
ipnsMountKwd = "mount-ipns"
25
// apiAddrKwd = "address-api"
26
// swarmAddrKwd = "address-swarm"
27
+ originEnvKey = "API_ORIGIN"
28
)
29
30
var daemonCmd = &cmds.Command{
@@ -144,9 +146,11 @@ func listenAndServeAPI(node *core.IpfsNode, req cmds.Request, addr ma.Multiaddr)
146
return err
147
}
148
149
+ origin := os.Getenv(originEnvKey)
150
+
151
server := manners.NewServer()
152
mux := http.NewServeMux()
149
- cmdHandler := cmdsHttp.NewHandler(*req.Context(), commands.Root)
153
+ cmdHandler := cmdsHttp.NewHandler(*req.Context(), commands.Root, origin)
154
mux.Handle(cmdsHttp.ApiPath+"/", cmdHandler)
155
156
ifpsHandler := &ipfsHandler{node}