diff options
author | Andrew Newdigate <andrew@troupe.co> | 2017-06-09 16:38:20 +0300 |
---|---|---|
committer | Andrew Newdigate <andrew@troupe.co> | 2017-06-09 16:38:20 +0300 |
commit | 58338d7dfffb615803be35ad935c7f37fad80055 (patch) | |
tree | 5b45af2ea046be257450a3729e7c861f3b04b7ef | |
parent | b3874986935b8166c257879fcbc94765b18fa9f9 (diff) |
Slight refactoring to make the code easier to understand
-rw-r--r-- | internal/service/middleware/sentryhandler/sentryhandler.go | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/internal/service/middleware/sentryhandler/sentryhandler.go b/internal/service/middleware/sentryhandler/sentryhandler.go index a610ab5bf..f33f8ff4f 100644 --- a/internal/service/middleware/sentryhandler/sentryhandler.go +++ b/internal/service/middleware/sentryhandler/sentryhandler.go @@ -17,7 +17,11 @@ import ( func UnaryLogHandler(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { start := time.Now() resp, err := handler(ctx, req) - logRequest(ctx, info.FullMethod, start, err) + + if err != nil { + logGrpcErrorToSentry(ctx, info.FullMethod, start, err) + } + return resp, err } @@ -25,7 +29,11 @@ func UnaryLogHandler(ctx context.Context, req interface{}, info *grpc.UnaryServe func StreamLogHandler(srv interface{}, stream grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error { start := time.Now() err := handler(srv, stream) - logRequest(stream.Context(), info.FullMethod, start, err) + + if err != nil { + logGrpcErrorToSentry(stream.Context(), info.FullMethod, start, err) + } + return err } @@ -37,11 +45,7 @@ func stringMap(incoming map[string]interface{}) map[string]string { return result } -func logRequest(ctx context.Context, method string, start time.Time, err error) { - if err == nil { - return - } - +func logGrpcErrorToSentry(ctx context.Context, method string, start time.Time, err error) { grpcErrorCode := grpc.Code(err) if grpcErrorCode == codes.OK { |