@@ -5,16 +5,12 @@ import (
55 "reflect"
66
77 "github.com/pkg/errors"
8- grpccodes "google.golang.org/grpc/codes"
9- grpcstatus "google.golang.org/grpc/status"
108)
119
1210// UndefinedCodespace when we explicitly declare no codespace
1311const UndefinedCodespace = "undefined"
1412
1513var (
16- // errInternal should never be exposed, but we reserve this code for non-specified errors
17- errInternal = Register (UndefinedCodespace , 1 , "internal" )
1814
1915 // ErrStopIterating is used to break out of an iteration
2016 ErrStopIterating = Register (UndefinedCodespace , 2 , "stop iterating" )
@@ -32,18 +28,11 @@ var (
3228//
3329// Use this function only during a program startup phase.
3430func Register (codespace string , code uint32 , description string ) * Error {
35- return RegisterWithGRPCCode (codespace , code , grpccodes .Unknown , description )
36- }
37-
38- // RegisterWithGRPCCode is a version of Register that associates a gRPC error
39- // code with a registered error.
40- func RegisterWithGRPCCode (codespace string , code uint32 , grpcCode grpccodes.Code , description string ) * Error {
41- // TODO - uniqueness is (codespace, code) combo
4231 if e := getUsed (codespace , code ); e != nil {
4332 panic (fmt .Sprintf ("error with code %d is already registered: %q" , code , e .desc ))
4433 }
4534
46- err := & Error {codespace : codespace , code : code , desc : description , grpcCode : grpcCode }
35+ err := & Error {codespace : codespace , code : code , desc : description }
4736 setUsed (err )
4837
4938 return err
@@ -94,7 +83,6 @@ type Error struct {
9483 codespace string
9584 code uint32
9685 desc string
97- grpcCode grpccodes.Code
9886}
9987
10088// New is an alias for Register.
@@ -154,10 +142,6 @@ func (e *Error) Wrap(desc string) error { return Wrap(e, desc) }
154142// It's a handy function to call Wrapf with sdk errors.
155143func (e * Error ) Wrapf (desc string , args ... interface {}) error { return Wrapf (e , desc , args ... ) }
156144
157- func (e * Error ) GRPCStatus () * grpcstatus.Status {
158- return grpcstatus .Newf (e .grpcCode , "codespace %s code %d: %s" , e .codespace , e .code , e .desc )
159- }
160-
161145func isNilErr (err error ) bool {
162146 // Reflect usage is necessary to correctly compare with
163147 // a nil implementation of an error.
@@ -246,27 +230,6 @@ func (e *wrappedError) Unwrap() error {
246230 return e .parent
247231}
248232
249- // GRPCStatus gets the gRPC status from the wrapped error or returns an unknown gRPC status.
250- func (e * wrappedError ) GRPCStatus () * grpcstatus.Status {
251- w := e .Cause ()
252- for {
253- if hasStatus , ok := w .(interface {
254- GRPCStatus () * grpcstatus.Status
255- }); ok {
256- status := hasStatus .GRPCStatus ()
257- return grpcstatus .New (status .Code (), fmt .Sprintf ("%s: %s" , status .Message (), e .msg ))
258- }
259-
260- x , ok := w .(causer )
261- if ok {
262- w = x .Cause ()
263- }
264- if x == nil {
265- return grpcstatus .New (grpccodes .Unknown , e .msg )
266- }
267- }
268- }
269-
270233// Recover captures a panic and stop its propagation. If panic happens it is
271234// transformed into a ErrPanic instance and assigned to given error. Call this
272235// function using defer in order to work as expected.
0 commit comments