63 lines
1.7 KiB
Go
63 lines
1.7 KiB
Go
package tmobile
|
|
|
|
import (
|
|
"github.com/pkg/errors"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
var ErrCreateRequest = errors.New("failed to create request")
|
|
var ErrDoRequest = errors.New("failed to do request")
|
|
var ErrReadResponseBody = errors.New("failed to read response body")
|
|
var ErrBadStatusCode = errors.New("bad status code")
|
|
var ErrBadGatewayCode = errors.New("bad gateway timeout")
|
|
var ErrJSONMarshal = errors.New("json marshal & unmarshal error")
|
|
var ErrTokenGen = errors.New("failed to generate token")
|
|
var ErrBadMsgStatus = errors.New("bad message status")
|
|
var ErrTimeoutSendingMessage = errors.New("timeout sending message")
|
|
var ErrAccessTokenExpired = errors.New("access token expired")
|
|
|
|
func ErrorToGRPCError(err error) error {
|
|
if err == nil {
|
|
return nil
|
|
}
|
|
|
|
if errors.Is(err, ErrCreateRequest) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrDoRequest) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrReadResponseBody) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrBadStatusCode) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrBadGatewayCode) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrJSONMarshal) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrTokenGen) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrBadMsgStatus) {
|
|
return status.Errorf(codes.Internal, "%s", err.Error())
|
|
}
|
|
|
|
if errors.Is(err, ErrTimeoutSendingMessage) {
|
|
return status.Errorf(codes.DeadlineExceeded, "%s", err.Error())
|
|
}
|
|
|
|
return status.Errorf(codes.Unknown, "unknown error: %v", err)
|
|
}
|