github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/server/http/ipfs.go (about) 1 package http 2 3 import ( 4 "io" 5 6 core "github.com/jbenet/go-ipfs/core" 7 "github.com/jbenet/go-ipfs/importer" 8 dag "github.com/jbenet/go-ipfs/merkledag" 9 uio "github.com/jbenet/go-ipfs/unixfs/io" 10 u "github.com/jbenet/go-ipfs/util" 11 ) 12 13 type ipfs interface { 14 ResolvePath(string) (*dag.Node, error) 15 NewDagFromReader(io.Reader) (*dag.Node, error) 16 AddNodeToDAG(nd *dag.Node) (u.Key, error) 17 NewDagReader(nd *dag.Node) (io.Reader, error) 18 } 19 20 type ipfsHandler struct { 21 node *core.IpfsNode 22 } 23 24 func (i *ipfsHandler) ResolvePath(path string) (*dag.Node, error) { 25 return i.node.Resolver.ResolvePath(path) 26 } 27 28 func (i *ipfsHandler) NewDagFromReader(r io.Reader) (*dag.Node, error) { 29 return importer.NewDagFromReader(r) 30 } 31 32 func (i *ipfsHandler) AddNodeToDAG(nd *dag.Node) (u.Key, error) { 33 return i.node.DAG.Add(nd) 34 } 35 36 func (i *ipfsHandler) NewDagReader(nd *dag.Node) (io.Reader, error) { 37 return uio.NewDagReader(nd, i.node.DAG) 38 }