Skip to content

Commit c1e5412

Browse files
committed
Cleanup instances of manual resolver construction
License: MIT Signed-off-by: Łukasz Magiera <[email protected]>
1 parent 61f31e5 commit c1e5412

File tree

14 files changed

+188
-206
lines changed

14 files changed

+188
-206
lines changed

core/commands/cat.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ import (
66
"io"
77
"os"
88

9-
core "github.com/ipfs/go-ipfs/core"
109
cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
11-
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
10+
"github.com/ipfs/go-ipfs/core/coreapi/interface"
1211

1312
cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds"
1413
"gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
@@ -36,6 +35,12 @@ var CatCmd = &cmds.Command{
3635
return
3736
}
3837

38+
api, err := cmdenv.GetApi(env)
39+
if err != nil {
40+
res.SetError(err, cmdkit.ErrNormal)
41+
return
42+
}
43+
3944
if !node.OnlineMode() {
4045
if err := node.SetupOfflineRouting(); err != nil {
4146
res.SetError(err, cmdkit.ErrNormal)
@@ -68,7 +73,7 @@ var CatCmd = &cmds.Command{
6873
return
6974
}
7075

71-
readers, length, err := cat(req.Context, node, req.Arguments, int64(offset), int64(max))
76+
readers, length, err := cat(req.Context, api, req.Arguments, int64(offset), int64(max))
7277
if err != nil {
7378
res.SetError(err, cmdkit.ErrNormal)
7479
return
@@ -134,14 +139,19 @@ var CatCmd = &cmds.Command{
134139
},
135140
}
136141

137-
func cat(ctx context.Context, node *core.IpfsNode, paths []string, offset int64, max int64) ([]io.Reader, uint64, error) {
142+
func cat(ctx context.Context, api iface.CoreAPI, paths []string, offset int64, max int64) ([]io.Reader, uint64, error) {
138143
readers := make([]io.Reader, 0, len(paths))
139144
length := uint64(0)
140145
if max == 0 {
141146
return nil, 0, nil
142147
}
143-
for _, fpath := range paths {
144-
read, err := coreunix.Cat(ctx, node, fpath)
148+
for _, p := range paths {
149+
fpath, err := iface.ParsePath(p)
150+
if err != nil {
151+
return nil, 0, err
152+
}
153+
154+
read, err := api.Unixfs().Cat(ctx, fpath)
145155
if err != nil {
146156
return nil, 0, err
147157
}

core/commands/files.go

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,22 @@ import (
1313

1414
oldcmds "github.com/ipfs/go-ipfs/commands"
1515
lgc "github.com/ipfs/go-ipfs/commands/legacy"
16-
core "github.com/ipfs/go-ipfs/core"
17-
cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
18-
e "github.com/ipfs/go-ipfs/core/commands/e"
19-
ft "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
20-
uio "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs/io"
21-
path "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path"
22-
resolver "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path/resolver"
23-
dag "gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
24-
bservice "gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
16+
"github.com/ipfs/go-ipfs/core"
17+
"github.com/ipfs/go-ipfs/core/commands/cmdenv"
18+
"github.com/ipfs/go-ipfs/core/commands/e"
19+
"github.com/ipfs/go-ipfs/core/coreapi/interface"
2520

26-
humanize "gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize"
27-
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
28-
cmds "gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds"
21+
ft "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
22+
"gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize"
23+
"gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
24+
"gx/ipfs/QmPTfgFTo9PFr1PvPKyKoeMgBvYPh6cX3aDP7DHKVbnCbi/go-ipfs-cmds"
2925
mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
3026
logging "gx/ipfs/QmRREK2CAZ5Re2Bd9zZFG6FeYDppUWt5cMgsoUEp3ktgSr/go-log"
31-
mfs "gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
32-
cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
33-
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
27+
"gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
28+
"gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
29+
dag "gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
30+
bservice "gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
31+
"gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
3432
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
3533
)
3634

@@ -121,6 +119,12 @@ var filesStatCmd = &cmds.Command{
121119
return
122120
}
123121

122+
api, err := cmdenv.GetApi(env)
123+
if err != nil {
124+
res.SetError(err, cmdkit.ErrNormal)
125+
return
126+
}
127+
124128
path, err := checkPath(req.Arguments[0])
125129
if err != nil {
126130
res.SetError(err, cmdkit.ErrNormal)
@@ -140,7 +144,7 @@ var filesStatCmd = &cmds.Command{
140144
dagserv = node.DAG
141145
}
142146

143-
nd, err := getNodeFromPath(req.Context, node, dagserv, path)
147+
nd, err := getNodeFromPath(req.Context, node, api, path)
144148
if err != nil {
145149
res.SetError(err, cmdkit.ErrNormal)
146150
return
@@ -310,6 +314,12 @@ var filesCpCmd = &oldcmds.Command{
310314
return
311315
}
312316

317+
api, err := req.InvocContext().GetApi()
318+
if err != nil {
319+
res.SetError(err, cmdkit.ErrNormal)
320+
return
321+
}
322+
313323
flush, _, _ := req.Option("flush").Bool()
314324

315325
src, err := checkPath(req.Arguments()[0])
@@ -329,7 +339,7 @@ var filesCpCmd = &oldcmds.Command{
329339
dst += gopath.Base(src)
330340
}
331341

332-
nd, err := getNodeFromPath(req.Context(), node, node.DAG, src)
342+
nd, err := getNodeFromPath(req.Context(), node, api, src)
333343
if err != nil {
334344
res.SetError(fmt.Errorf("cp: cannot get node from path %s: %s", src, err), cmdkit.ErrNormal)
335345
return
@@ -353,20 +363,15 @@ var filesCpCmd = &oldcmds.Command{
353363
},
354364
}
355365

356-
func getNodeFromPath(ctx context.Context, node *core.IpfsNode, dagservice ipld.DAGService, p string) (ipld.Node, error) {
366+
func getNodeFromPath(ctx context.Context, node *core.IpfsNode, api iface.CoreAPI, p string) (ipld.Node, error) {
357367
switch {
358368
case strings.HasPrefix(p, "/ipfs/"):
359-
np, err := path.ParsePath(p)
369+
np, err := iface.ParsePath(p)
360370
if err != nil {
361371
return nil, err
362372
}
363373

364-
resolver := &resolver.Resolver{
365-
DAG: dagservice,
366-
ResolveOnce: uio.ResolveUnixfsOnce,
367-
}
368-
369-
return core.Resolve(ctx, node.Namesys, resolver, np)
374+
return api.ResolveNode(ctx, np)
370375
default:
371376
fsn, err := mfs.Lookup(node.FilesRoot, p)
372377
if err != nil {

core/commands/ls.go

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,17 @@ import (
77
"text/tabwriter"
88

99
cmds "github.com/ipfs/go-ipfs/commands"
10-
core "github.com/ipfs/go-ipfs/core"
11-
e "github.com/ipfs/go-ipfs/core/commands/e"
12-
unixfs "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
10+
"github.com/ipfs/go-ipfs/core/commands/e"
11+
"github.com/ipfs/go-ipfs/core/coreapi/interface"
12+
13+
"gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
1314
uio "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs/io"
1415
unixfspb "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs/pb"
15-
path "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path"
16-
resolver "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path/resolver"
17-
merkledag "gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
18-
blockservice "gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
19-
20-
cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
16+
"gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
2117
"gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
22-
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
18+
"gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
19+
"gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
20+
"gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
2321
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
2422
)
2523

@@ -65,6 +63,12 @@ The JSON output contains type information.
6563
return
6664
}
6765

66+
api, err := req.InvocContext().GetApi()
67+
if err != nil {
68+
res.SetError(err, cmdkit.ErrNormal)
69+
return
70+
}
71+
6872
// get options early -> exit early in case of error
6973
if _, _, err := req.Option("headers").Bool(); err != nil {
7074
res.SetError(err, cmdkit.ErrNormal)
@@ -88,18 +92,13 @@ The JSON output contains type information.
8892

8993
var dagnodes []ipld.Node
9094
for _, fpath := range paths {
91-
p, err := path.ParsePath(fpath)
95+
p, err := iface.ParsePath(fpath)
9296
if err != nil {
9397
res.SetError(err, cmdkit.ErrNormal)
9498
return
9599
}
96100

97-
r := &resolver.Resolver{
98-
DAG: nd.DAG,
99-
ResolveOnce: uio.ResolveUnixfsOnce,
100-
}
101-
102-
dagnode, err := core.Resolve(req.Context(), nd.Namesys, r, p)
101+
dagnode, err := api.ResolveNode(req.Context(), p)
103102
if err != nil {
104103
res.SetError(err, cmdkit.ErrNormal)
105104
return

0 commit comments

Comments
 (0)