cmd/ipfs: Renamed 'ipfsHandler' to 'gatewayHandler'
Matt Bell committed
Dec 12, 2014 at 20:52 UTC
e25b08231c0d63860c702dd42922a17603bbc5e9
2 files changed
+17
-16
cmd/ipfs/daemon.go
+5
-4
@@ -165,12 +165,12 @@ func listenAndServeAPI(node *core.IpfsNode, req cmds.Request, addr ma.Multiaddr)
165
cmdHandler := cmdsHttp.NewHandler(*req.Context(), commands.Root, origin)
166
mux.Handle(cmdsHttp.ApiPath+"/", cmdHandler)
167
168
- ifpsHandler, err := NewIpfsHandler(node)
168
+ gateway, err := NewGatewayHandler(node)
169
if err != nil {
170
return err
171
}
172
173
- mux.Handle("/ipfs/", ifpsHandler)
173
+ mux.Handle("/ipfs/", gateway)
174
175
// if the server exits beforehand
176
var serverError error
@@ -197,6 +197,7 @@ func listenAndServeAPI(node *core.IpfsNode, req cmds.Request, addr ma.Multiaddr)
197
return serverError
198
}
199
200
+// the gateway also listens on its own address:port in addition to the API listener
201
func listenAndServeGateway(node *core.IpfsNode, addr ma.Multiaddr) error {
202
_, host, err := manet.DialArgs(addr)
203
if err != nil {
@@ -205,11 +206,11 @@ func listenAndServeGateway(node *core.IpfsNode, addr ma.Multiaddr) error {
206
207
server := manners.NewServer()
208
mux := http.NewServeMux()
208
- ifpsHandler, err := NewIpfsHandler(node)
209
+ gateway, err := NewGatewayHandler(node)
210
if err != nil {
211
return err
212
}
212
- mux.Handle("/ipfs/", ifpsHandler)
213
+ mux.Handle("/ipfs/", gateway)
214
215
done := make(chan struct{}, 1)
216
defer func() {
cmd/ipfs/gatewayHandler.go
renamed
+12
-12
@@ -17,7 +17,7 @@ import (
17
u "github.com/jbenet/go-ipfs/util"
18
)
19
20
-type ipfs interface {
20
+type gateway interface {
21
ResolvePath(string) (*dag.Node, error)
22
NewDagFromReader(io.Reader) (*dag.Node, error)
23
AddNodeToDAG(nd *dag.Node) (u.Key, error)
@@ -33,15 +33,15 @@ type directoryItem struct {
33
Name string
34
}
35
36
-// ipfsHandler is a HTTP handler that serves IPFS objects (accessible by default at /ipfs/<path>)
36
+// gatewayHandler is a HTTP handler that serves IPFS objects (accessible by default at /ipfs/<path>)
37
// (it serves requests like GET /ipfs/QmVRzPKPzNtSrEzBFm2UZfxmPAgnaLke4DMcerbsGGSaFe/link)
38
-type ipfsHandler struct {
38
+type gatewayHandler struct {
39
node *core.IpfsNode
40
dirList *template.Template
41
}
42
43
-func NewIpfsHandler(node *core.IpfsNode) (*ipfsHandler, error) {
44
- i := &ipfsHandler{
43
+func NewGatewayHandler(node *core.IpfsNode) (*gatewayHandler, error) {
44
+ i := &gatewayHandler{
45
node: node,
46
}
47
err := i.loadTemplate()
@@ -52,7 +52,7 @@ func NewIpfsHandler(node *core.IpfsNode) (*ipfsHandler, error) {
52
}
53
54
// Load the directroy list template
55
-func (i *ipfsHandler) loadTemplate() error {
55
+func (i *gatewayHandler) loadTemplate() error {
56
t, err := template.New("dir").Parse(listingTemplate)
57
if err != nil {
58
return err
@@ -61,24 +61,24 @@ func (i *ipfsHandler) loadTemplate() error {
61
return nil
62
}
63
64
-func (i *ipfsHandler) ResolvePath(path string) (*dag.Node, error) {
64
+func (i *gatewayHandler) ResolvePath(path string) (*dag.Node, error) {
65
return i.node.Resolver.ResolvePath(path)
66
}
67
68
-func (i *ipfsHandler) NewDagFromReader(r io.Reader) (*dag.Node, error) {
68
+func (i *gatewayHandler) NewDagFromReader(r io.Reader) (*dag.Node, error) {
69
return importer.BuildDagFromReader(
70
r, i.node.DAG, i.node.Pinning.GetManual(), chunk.DefaultSplitter)
71
}
72
73
-func (i *ipfsHandler) AddNodeToDAG(nd *dag.Node) (u.Key, error) {
73
+func (i *gatewayHandler) AddNodeToDAG(nd *dag.Node) (u.Key, error) {
74
return i.node.DAG.Add(nd)
75
}
76
77
-func (i *ipfsHandler) NewDagReader(nd *dag.Node) (io.Reader, error) {
77
+func (i *gatewayHandler) NewDagReader(nd *dag.Node) (io.Reader, error) {
78
return uio.NewDagReader(nd, i.node.DAG)
79
}
80
81
-func (i *ipfsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
81
+func (i *gatewayHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
82
path := r.URL.Path[5:]
83
84
nd, err := i.ResolvePath(path)
@@ -147,7 +147,7 @@ func (i *ipfsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
147
io.Copy(w, dr)
148
}
149
150
-func (i *ipfsHandler) postHandler(w http.ResponseWriter, r *http.Request) {
150
+func (i *gatewayHandler) postHandler(w http.ResponseWriter, r *http.Request) {
151
nd, err := i.NewDagFromReader(r.Body)
152
if err != nil {
153
w.WriteHeader(http.StatusInternalServerError)