From 61899398b35bf87c3880147bb33d6f57a038fe91 Mon Sep 17 00:00:00 2001 From: zuoan Date: Mon, 17 Aug 2020 16:10:42 +0800 Subject: [PATCH] simplifies code (#1934) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 刘海洋 --- server/grpc/error.go | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/server/grpc/error.go b/server/grpc/error.go index 83046a5c..22a42b8b 100644 --- a/server/grpc/error.go +++ b/server/grpc/error.go @@ -7,36 +7,27 @@ import ( "google.golang.org/grpc/codes" ) +var errMapping = map[int32]codes.Code{ + http.StatusOK: codes.OK, + http.StatusBadRequest: codes.InvalidArgument, + http.StatusRequestTimeout: codes.DeadlineExceeded, + http.StatusNotFound: codes.NotFound, + http.StatusConflict: codes.AlreadyExists, + http.StatusForbidden: codes.PermissionDenied, + http.StatusUnauthorized: codes.Unauthenticated, + http.StatusPreconditionFailed: codes.FailedPrecondition, + http.StatusNotImplemented: codes.Unimplemented, + http.StatusInternalServerError: codes.Internal, + http.StatusServiceUnavailable: codes.Unavailable, +} + func microError(err *errors.Error) codes.Code { - switch err { - case nil: + if err == nil { return codes.OK } - switch err.Code { - case http.StatusOK: - return codes.OK - case http.StatusBadRequest: - return codes.InvalidArgument - case http.StatusRequestTimeout: - return codes.DeadlineExceeded - case http.StatusNotFound: - return codes.NotFound - case http.StatusConflict: - return codes.AlreadyExists - case http.StatusForbidden: - return codes.PermissionDenied - case http.StatusUnauthorized: - return codes.Unauthenticated - case http.StatusPreconditionFailed: - return codes.FailedPrecondition - case http.StatusNotImplemented: - return codes.Unimplemented - case http.StatusInternalServerError: - return codes.Internal - case http.StatusServiceUnavailable: - return codes.Unavailable + if code, ok := errMapping[err.Code]; ok { + return code } - return codes.Unknown }