mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-15 11:13:37 +08:00
39 lines
920 B
Go
39 lines
920 B
Go
package http
|
|
|
|
import (
|
|
"io"
|
|
|
|
core "github.com/jbenet/go-ipfs/core"
|
|
"github.com/jbenet/go-ipfs/importer"
|
|
dag "github.com/jbenet/go-ipfs/merkledag"
|
|
uio "github.com/jbenet/go-ipfs/unixfs/io"
|
|
u "github.com/jbenet/go-ipfs/util"
|
|
)
|
|
|
|
type ipfs interface {
|
|
ResolvePath(string) (*dag.Node, error)
|
|
NewDagFromReader(io.Reader) (*dag.Node, error)
|
|
AddNodeToDAG(nd *dag.Node) (u.Key, error)
|
|
NewDagReader(nd *dag.Node) (io.Reader, error)
|
|
}
|
|
|
|
type ipfsHandler struct {
|
|
node *core.IpfsNode
|
|
}
|
|
|
|
func (i *ipfsHandler) ResolvePath(path string) (*dag.Node, error) {
|
|
return i.node.Resolver.ResolvePath(path)
|
|
}
|
|
|
|
func (i *ipfsHandler) NewDagFromReader(r io.Reader) (*dag.Node, error) {
|
|
return importer.NewDagFromReader(r)
|
|
}
|
|
|
|
func (i *ipfsHandler) AddNodeToDAG(nd *dag.Node) (u.Key, error) {
|
|
return i.node.DAG.Add(nd)
|
|
}
|
|
|
|
func (i *ipfsHandler) NewDagReader(nd *dag.Node) (io.Reader, error) {
|
|
return uio.NewDagReader(nd, i.node.DAG)
|
|
}
|