@cryptotaxi247 / kubo / commits / b078915fb

add context to files reading

License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>

Jeromy committed Jan 12, 2016 at 06:06 UTC b078915fb412f83ed01f5b44041a3d6b3db6a7dc
1 file changed +14 -1
core/commands/files/files.go
+14 -1
@@ -374,7 +374,7 @@ Examples:
374 res.SetError(err, cmds.ErrNormal)
375 return
376 }
377 - var r io.Reader = fi
377 + var r io.Reader = &contextReaderWrapper{R: fi, ctx: req.Context()}
378 count, found, err := req.Option("count").Int()
379 if err != nil {
380 res.SetError(err, cmds.ErrNormal)
@@ -392,6 +392,19 @@ Examples:
392 },
393 }
394
395 +type contextReader interface {
396 + CtxReadFull(context.Context, []byte) (int, error)
397 +}
398 +
399 +type contextReaderWrapper struct {
400 + R contextReader
401 + ctx context.Context
402 +}
403 +
404 +func (crw *contextReaderWrapper) Read(b []byte) (int, error) {
405 + return crw.R.CtxReadFull(crw.ctx, b)
406 +}
407 +
408 var FilesMvCmd = &cmds.Command{
409 Helptext: cmds.HelpText{
410 Tagline: "Move files.",