@cryptotaxi247 / kubo / commits / bc4a9ef7c

cmds/bootstrap: use EmitOnce directly

License: MIT Signed-off-by: Overbool <overbool.xu@gmail.com>

Overbool committed Nov 7, 2018 at 17:11 UTC bc4a9ef7c280e377621908343073486aa6dcea3e
1 file changed +46 -18
core/commands/bootstrap.go
+46 -18
@@ -5,13 +5,13 @@ import (
5 "io"
6 "sort"
7
8 - oldcmds "github.com/ipfs/go-ipfs/commands"
8 + cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
9 repo "github.com/ipfs/go-ipfs/repo"
10 fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
11
12 - cmds "gx/ipfs/QmSXUokcP4TJpFfqozT69AVAYRtzXVMUjzQVkYX41R9Svs/go-ipfs-cmds"
12 + cmds "gx/ipfs/Qma6uuSyjkecGhMFFLfzyJDPyoDtNJSHJNweDccZhaWkgU/go-ipfs-cmds"
13 config "gx/ipfs/QmbK4EmM2Xx5fmbqK38TGP3PpY66r3tkXLZTcc7dF9mFwM/go-ipfs-config"
14 - "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
14 + cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit"
15 )
16
17 type BootstrapOutput struct {
@@ -75,6 +75,10 @@ in the bootstrap list).
75
76 inputPeers = defltPeers
77 } else {
78 + if err := req.ParseBodyArgs(); err != nil {
79 + return err
80 + }
81 +
82 parsedPeers, err := config.ParseBootstrapPeers(req.Arguments)
83 if err != nil {
84 return err
@@ -87,8 +91,12 @@ in the bootstrap list).
91 return errors.New("no bootstrap peers to add")
92 }
93
90 - ctx := env.(*oldcmds.Context)
91 - r, err := fsrepo.Open(ctx.ConfigRoot)
94 + cfgRoot, err := cmdenv.GetConfigRoot(env)
95 + if err != nil {
96 + return err
97 + }
98 +
99 + r, err := fsrepo.Open(cfgRoot)
100 if err != nil {
101 return err
102 }
@@ -103,7 +111,7 @@ in the bootstrap list).
111 return err
112 }
113
106 - return res.Emit(&BootstrapOutput{config.BootstrapPeerStrings(added)})
114 + return cmds.EmitOnce(res, &BootstrapOutput{config.BootstrapPeerStrings(added)})
115 },
116 Type: BootstrapOutput{},
117 Encoders: cmds.EncoderMap{
@@ -125,8 +133,12 @@ in the bootstrap list).`,
133 return err
134 }
135
128 - ctx := env.(*oldcmds.Context)
129 - r, err := fsrepo.Open(ctx.ConfigRoot)
136 + cfgRoot, err := cmdenv.GetConfigRoot(env)
137 + if err != nil {
138 + return err
139 + }
140 +
141 + r, err := fsrepo.Open(cfgRoot)
142 if err != nil {
143 return err
144 }
@@ -142,7 +154,7 @@ in the bootstrap list).`,
154 return err
155 }
156
145 - return res.Emit(&BootstrapOutput{config.BootstrapPeerStrings(added)})
157 + return cmds.EmitOnce(res, &BootstrapOutput{config.BootstrapPeerStrings(added)})
158 },
159 Type: BootstrapOutput{},
160 Encoders: cmds.EncoderMap{
@@ -175,8 +187,12 @@ var bootstrapRemoveCmd = &cmds.Command{
187 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
188 all, _ := req.Options[bootstrapAllOptionName].(bool)
189
178 - ctx := env.(*oldcmds.Context)
179 - r, err := fsrepo.Open(ctx.ConfigRoot)
190 + cfgRoot, err := cmdenv.GetConfigRoot(env)
191 + if err != nil {
192 + return err
193 + }
194 +
195 + r, err := fsrepo.Open(cfgRoot)
196 if err != nil {
197 return err
198 }
@@ -190,6 +206,10 @@ var bootstrapRemoveCmd = &cmds.Command{
206 if all {
207 removed, err = bootstrapRemoveAll(r, cfg)
208 } else {
209 + if err := req.ParseBodyArgs(); err != nil {
210 + return err
211 + }
212 +
213 input, perr := config.ParseBootstrapPeers(req.Arguments)
214 if perr != nil {
215 return err
@@ -201,7 +221,7 @@ var bootstrapRemoveCmd = &cmds.Command{
221 return err
222 }
223
204 - return res.Emit(&BootstrapOutput{config.BootstrapPeerStrings(removed)})
224 + return cmds.EmitOnce(res, &BootstrapOutput{config.BootstrapPeerStrings(removed)})
225 },
226 Type: BootstrapOutput{},
227 Encoders: cmds.EncoderMap{
@@ -218,8 +238,12 @@ var bootstrapRemoveAllCmd = &cmds.Command{
238 },
239
240 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
221 - ctx := env.(*oldcmds.Context)
222 - r, err := fsrepo.Open(ctx.ConfigRoot)
241 + cfgRoot, err := cmdenv.GetConfigRoot(env)
242 + if err != nil {
243 + return err
244 + }
245 +
246 + r, err := fsrepo.Open(cfgRoot)
247 if err != nil {
248 return err
249 }
@@ -234,7 +258,7 @@ var bootstrapRemoveAllCmd = &cmds.Command{
258 return err
259 }
260
237 - return res.Emit(&BootstrapOutput{config.BootstrapPeerStrings(removed)})
261 + return cmds.EmitOnce(res, &BootstrapOutput{config.BootstrapPeerStrings(removed)})
262 },
263 Type: BootstrapOutput{},
264 Encoders: cmds.EncoderMap{
@@ -251,8 +275,12 @@ var bootstrapListCmd = &cmds.Command{
275 },
276
277 Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
254 - ctx := env.(*oldcmds.Context)
255 - r, err := fsrepo.Open(ctx.ConfigRoot)
278 + cfgRoot, err := cmdenv.GetConfigRoot(env)
279 + if err != nil {
280 + return err
281 + }
282 +
283 + r, err := fsrepo.Open(cfgRoot)
284 if err != nil {
285 return err
286 }
@@ -267,7 +295,7 @@ var bootstrapListCmd = &cmds.Command{
295 return err
296 }
297
270 - return res.Emit(&BootstrapOutput{config.BootstrapPeerStrings(peers)})
298 + return cmds.EmitOnce(res, &BootstrapOutput{config.BootstrapPeerStrings(peers)})
299 },
300 Type: BootstrapOutput{},
301 Encoders: cmds.EncoderMap{