fix resolve command for the new cmds refactor
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Sep 19, 2018 at 14:43 UTC
d556ee23efafe939ec3fb185d75d6e0172fde447
1 file changed
+11
-20
core/commands/resolve.go
+11
-20
@@ -68,24 +68,21 @@ Resolve the value of an IPFS DAG path:
68
cmdkit.IntOption("dht-record-count", "dhtrc", "Number of records to request for DHT resolution."),
69
cmdkit.StringOption("dht-timeout", "dhtt", "Max time to collect values during DHT resolution eg \"30s\". Pass 0 for no timeout."),
70
},
71
- Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) {
71
+ Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
72
api, err := cmdenv.GetApi(env)
73
if err != nil {
74
- res.SetError(err, cmdkit.ErrNormal)
75
- return
74
+ return err
75
}
76
77
n, err := cmdenv.GetNode(env)
78
if err != nil {
80
- res.SetError(err, cmdkit.ErrNormal)
81
- return
79
+ return err
80
}
81
82
if !n.OnlineMode() {
83
err := n.SetupOfflineRouting()
84
if err != nil {
87
- res.SetError(err, cmdkit.ErrNormal)
88
- return
85
+ return err
86
}
87
}
88
@@ -106,41 +103,35 @@ Resolve the value of an IPFS DAG path:
103
if dhttok {
104
d, err := time.ParseDuration(dhtt)
105
if err != nil {
109
- res.SetError(err, cmdkit.ErrNormal)
110
- return
106
+ return err
107
}
108
if d < 0 {
113
- res.SetError(errors.New("DHT timeout value must be >= 0"), cmdkit.ErrNormal)
114
- return
109
+ return errors.New("DHT timeout value must be >= 0")
110
}
111
ropts = append(ropts, options.Name.ResolveOption(nsopts.DhtTimeout(d)))
112
}
113
p, err := api.Name().Resolve(req.Context, name, ropts...)
114
// ErrResolveRecursion is fine
115
if err != nil && err != ns.ErrResolveRecursion {
121
- res.SetError(err, cmdkit.ErrNormal)
122
- return
116
+ return err
117
}
124
- cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.Path(p.String())})
125
- return
118
+ return cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.Path(p.String())})
119
}
120
121
// else, ipfs path or ipns with recursive flag
122
p, err := coreiface.ParsePath(name)
123
if err != nil {
131
- res.SetError(err, cmdkit.ErrNormal)
132
- return
124
+ return err
125
}
126
127
rp, err := api.ResolvePath(req.Context, p)
128
if err != nil {
137
- res.SetError(err, cmdkit.ErrNormal)
138
- return
129
+ return err
130
}
131
132
c := rp.Cid()
133
143
- cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.FromCid(c)})
134
+ return cmds.EmitOnce(res, &ncmd.ResolvedPath{Path: path.FromCid(c)})
135
},
136
Encoders: cmds.EncoderMap{
137
cmds.Text: cmds.MakeEncoder(func(req *cmds.Request, w io.Writer, v interface{}) error {