File tree 1 file changed +12
-0
lines changed
1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -17,11 +17,13 @@ package feedback
17
17
18
18
import (
19
19
"encoding/json"
20
+ "errors"
20
21
"fmt"
21
22
"io"
22
23
"os"
23
24
24
25
"github.com/sirupsen/logrus"
26
+ "google.golang.org/grpc/status"
25
27
)
26
28
27
29
// OutputFormat is used to determine the output format
@@ -102,6 +104,16 @@ func (fb *Feedback) Print(v interface{}) {
102
104
// Errorf behaves like fmt.Printf but writes on the error writer and adds a
103
105
// newline. It also logs the error.
104
106
func (fb * Feedback ) Errorf (format string , v ... interface {}) {
107
+ // Unbox grpc status errors
108
+ for i := range v {
109
+ if s , isStatus := v [i ].(* status.Status ); isStatus {
110
+ v [i ] = errors .New (s .Message ())
111
+ } else if err , isErr := v [i ].(error ); isErr {
112
+ if s , isStatus := status .FromError (err ); isStatus {
113
+ v [i ] = errors .New (s .Message ())
114
+ }
115
+ }
116
+ }
105
117
fb .Error (fmt .Sprintf (format , v ... ))
106
118
}
107
119
You can’t perform that action at this time.
0 commit comments