From b12c8a97ad332bc8dceaf99c1586d68d89d28275 Mon Sep 17 00:00:00 2001 From: Kevin Park Date: Fri, 30 Dec 2022 01:03:18 +0900 Subject: [PATCH] Add additional unwrap code in ToStatusError gRPC error handler --- server/grpchelper/status.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/grpchelper/status.go b/server/grpchelper/status.go index 07708f548..84d9e0d02 100644 --- a/server/grpchelper/status.go +++ b/server/grpchelper/status.go @@ -100,9 +100,9 @@ func detailsFromError(err error) (protoiface.MessageV1, bool) { // occurs while executing logic in API handler, gRPC status.error should be // returned so that the client can know more about the status of the request. func ToStatusError(err error) error { - cause := errors.Unwrap(err) - if cause == nil { - cause = err + cause := err + for errors.Unwrap(cause) != nil { + cause = errors.Unwrap(cause) } if code, ok := errorToCode[cause]; ok { return status.Error(code, err.Error())