github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/core/commands/cat.go (about) 1 package commands 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/jbenet/go-ipfs/core" 8 uio "github.com/jbenet/go-ipfs/unixfs/io" 9 ) 10 11 func Cat(n *core.IpfsNode, args []string, opts map[string]interface{}, out io.Writer) error { 12 for _, fn := range args { 13 dagnode, err := n.Resolver.ResolvePath(fn) 14 if err != nil { 15 return fmt.Errorf("catFile error: %v", err) 16 } 17 18 read, err := uio.NewDagReader(dagnode, n.DAG) 19 if err != nil { 20 return fmt.Errorf("cat error: %v", err) 21 } 22 23 _, err = io.Copy(out, read) 24 if err != nil { 25 return fmt.Errorf("cat error: %v", err) 26 } 27 } 28 return nil 29 }