From 4115e2315d4f1eb3b028c8f47cac859b94ddc85e Mon Sep 17 00:00:00 2001 From: Kevin Atkinson Date: Sun, 19 Feb 2017 21:02:39 -0500 Subject: [PATCH] block rm: use Marshalers instead of PostRun to process output License: MIT Signed-off-by: Kevin Atkinson --- core/commands/block.go | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/core/commands/block.go b/core/commands/block.go index b45805f3250..6e718f0e75c 100644 --- a/core/commands/block.go +++ b/core/commands/block.go @@ -280,21 +280,19 @@ It takes a list of base58 encoded multihashs to remove. } res.SetOutput(ch) }, - PostRun: func(req cmds.Request, res cmds.Response) { - if res.Error() != nil { - return - } - outChan, ok := res.Output().(<-chan interface{}) - if !ok { - res.SetError(u.ErrCast(), cmds.ErrNormal) - return - } - res.SetOutput(nil) + Marshalers: cmds.MarshalerMap{ + cmds.Text: func(res cmds.Response) (io.Reader, error) { + outChan, ok := res.Output().(<-chan interface{}) + if !ok { + return nil, u.ErrCast() + } - err := util.ProcRmOutput(outChan, res.Stdout(), res.Stderr()) - if err != nil { - res.SetError(err, cmds.ErrNormal) - } + err := util.ProcRmOutput(outChan, res.Stdout(), res.Stderr()) + if err != nil { + return nil, err + } + return nil, nil + }, }, Type: util.RemovedBlock{}, }