hashes := req.Arguments() force, _, _ := req.Option("force").Bool() quiet, _, _ := req.Option("quiet").Bool() cids := make([]*cid.Cid, 0, len(hashes)) for _, hash := range hashes { c, err := cid.Decode(hash) if err != nil { res.SetError(fmt.Errorf("invalid content id: %s (%s)", hash, err), cmds.ErrNormal) return } cids = append(cids, c) } outChan := make(chan interface{}) err = util.RmBlocks(n.Blockstore, n.Pinning, outChan, cids, util.RmBlocksOpts{ Quiet: quiet, Force: force, }) if err != nil { res.SetError(err, cmds.ErrNormal) return } res.SetOutput((<-chan interface{})(outChan)) }, 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
} hashes := req.Arguments() force, _, _ := req.Option("force").Bool() quiet, _, _ := req.Option("quiet").Bool() cids := make([]*cid.Cid, 0, len(hashes)) for _, hash := range hashes { c, err := cid.Decode(hash) if err != nil { res.SetError(fmt.Errorf("invalid content id: %s (%s)", hash, err), cmds.ErrNormal) return } cids = append(cids, c) } ch, err := util.RmBlocks(n.Blockstore, n.Pinning, cids, util.RmBlocksOpts{ Quiet: quiet, Force: force, }) if err != nil { res.SetError(err, cmds.ErrNormal) return } 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