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
}
gs, ok := status.FromError(err)
if ok {
ret := New(
httpstatus.FromGRPCCode(gs.Code()),
UnknownReason,
gs.Message(),
)
for _, detail := range gs.Details() {
switch d := detail.(type) {
case *errdetails.ErrorInfo:
ret.Reason = d.Reason
return ret.WithMetadata(d.Metadata)
}
if !ok {
return New(UnknownCode, UnknownReason, err.Error())
}
ret := New(
httpstatus.FromGRPCCode(gs.Code()),
UnknownReason,
gs.Message(),
)
for _, detail := range gs.Details() {
switch d := detail.(type) {
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