feat(core): expose IpfsNode.Resolve

This commit is contained in:
Brian Tiger Chow 2015-01-10 23:17:19 -08:00
parent 223ee4df1a
commit 033e33dadf
2 changed files with 7 additions and 4 deletions

View File

@ -29,6 +29,7 @@ import (
pin "github.com/jbenet/go-ipfs/pin"
routing "github.com/jbenet/go-ipfs/routing"
dht "github.com/jbenet/go-ipfs/routing/dht"
util "github.com/jbenet/go-ipfs/util"
ds2 "github.com/jbenet/go-ipfs/util/datastore2"
debugerror "github.com/jbenet/go-ipfs/util/debugerror"
eventlog "github.com/jbenet/go-ipfs/util/eventlog"
@ -264,6 +265,10 @@ func (n *IpfsNode) OnlineMode() bool {
}
}
func (n *IpfsNode) Resolve(k util.Key) (*merkledag.Node, error) {
return (&path.Resolver{n.DAG}).ResolvePath(k.String())
}
func (n *IpfsNode) Bootstrap(ctx context.Context, peers []peer.PeerInfo) error {
if n.DHT != nil {
for _, p := range peers {

View File

@ -15,16 +15,14 @@ import (
"io"
core "github.com/jbenet/go-ipfs/core"
path "github.com/jbenet/go-ipfs/path"
uio "github.com/jbenet/go-ipfs/unixfs/io"
u "github.com/jbenet/go-ipfs/util"
)
func Cat(n *core.IpfsNode, k u.Key) (io.Reader, error) {
dag := n.DAG
dagNode, err := (&path.Resolver{dag}).ResolvePath(k.String())
dagNode, err := n.Resolve(k)
if err != nil {
return nil, err
}
return uio.NewDagReader(dagNode, dag)
return uio.NewDagReader(dagNode, n.DAG)
}