master
go 31 lines 646 Bytes
Raw
1 package dagcmd
2
3 import (
4 "github.com/ipfs/boxo/path"
5 "github.com/ipfs/kubo/core/commands/cmdenv"
6 "github.com/ipfs/kubo/core/commands/cmdutils"
7
8 cmds "github.com/ipfs/go-ipfs-cmds"
9 )
10
11 func dagResolve(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
12 api, err := cmdenv.GetApi(env, req)
13 if err != nil {
14 return err
15 }
16
17 p, err := cmdutils.PathOrCidPath(req.Arguments[0])
18 if err != nil {
19 return err
20 }
21
22 rp, remainder, err := api.ResolvePath(req.Context, p)
23 if err != nil {
24 return err
25 }
26
27 return cmds.EmitOnce(res, &ResolveOutput{
28 Cid: rp.RootCid(),
29 RemPath: path.SegmentsToString(remainder...),
30 })
31 }