Update errors.go (#2009)

pull/2012/head
songzhibin97 3 years ago committed by GitHub
parent ef6fb480c6
commit 1dfb77bfe1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      errors/errors.go

@ -131,20 +131,20 @@ func FromError(err error) *Error {
return se return se
} }
gs, ok := status.FromError(err) gs, ok := status.FromError(err)
if ok { if !ok {
ret := New( return New(UnknownCode, UnknownReason, err.Error())
httpstatus.FromGRPCCode(gs.Code()), }
UnknownReason, ret := New(
gs.Message(), httpstatus.FromGRPCCode(gs.Code()),
) UnknownReason,
for _, detail := range gs.Details() { gs.Message(),
switch d := detail.(type) { )
case *errdetails.ErrorInfo: for _, detail := range gs.Details() {
ret.Reason = d.Reason switch d := detail.(type) {
return ret.WithMetadata(d.Metadata) case *errdetails.ErrorInfo:
} ret.Reason = d.Reason
return ret.WithMetadata(d.Metadata)
} }
return ret
} }
return New(UnknownCode, UnknownReason, err.Error()) return ret
} }

Loading…
Cancel
Save