Skip to content

Commit 18fbb38

Browse files
authored
Merge pull request #137 from ipfs/fix/go-ipfs-3785
print a nicer error on timeout/cancel
2 parents 4263ae6 + af847ec commit 18fbb38

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

cli/responseemitter.go

+11-14
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package cli
22

33
import (
4+
"context"
45
"fmt"
56
"io"
67
"os"
78
"sync"
89
"syscall"
910

10-
"github.com/ipfs/go-ipfs-cmdkit"
1111
"github.com/ipfs/go-ipfs-cmds"
1212
"github.com/ipfs/go-ipfs-cmds/debug"
1313
)
@@ -63,19 +63,16 @@ func (re *responseEmitter) SetLength(l uint64) {
6363
}
6464

6565
func (re *responseEmitter) CloseWithError(err error) error {
66-
if err == nil {
66+
var msg string
67+
switch err {
68+
case nil:
6769
return re.Close()
68-
}
69-
70-
if e, ok := err.(cmdkit.Error); ok {
71-
err = &e
72-
}
73-
74-
e, ok := err.(*cmdkit.Error)
75-
if !ok {
76-
e = &cmdkit.Error{
77-
Message: err.Error(),
78-
}
70+
case context.Canceled:
71+
msg = "canceled"
72+
case context.DeadlineExceeded:
73+
msg = "timed out"
74+
default:
75+
msg = err.Error()
7976
}
8077

8178
re.l.Lock()
@@ -87,7 +84,7 @@ func (re *responseEmitter) CloseWithError(err error) error {
8784

8885
re.exit = 1 // TODO we could let err carry an exit code
8986

90-
_, err = fmt.Fprintln(re.stderr, "Error:", e.Message)
87+
_, err = fmt.Fprintln(re.stderr, "Error:", msg)
9188
if err != nil {
9289
return err
9390
}

0 commit comments

Comments
 (0)