...
1
2
3
4 package grpc_recovery_test
5
6 import (
7 "github.com/grpc-ecosystem/go-grpc-middleware"
8 "github.com/grpc-ecosystem/go-grpc-middleware/recovery"
9 "google.golang.org/grpc"
10 "google.golang.org/grpc/codes"
11 "google.golang.org/grpc/status"
12 )
13
14 var (
15 customFunc grpc_recovery.RecoveryHandlerFunc
16 )
17
18
19 func Example_initialization() {
20
21 customFunc = func(p interface{}) (err error) {
22 return status.Errorf(codes.Unknown, "panic triggered: %v", p)
23 }
24
25 opts := []grpc_recovery.Option{
26 grpc_recovery.WithRecoveryHandler(customFunc),
27 }
28
29
30 _ = grpc.NewServer(
31 grpc_middleware.WithUnaryServerChain(
32 grpc_recovery.UnaryServerInterceptor(opts...),
33 ),
34 grpc_middleware.WithStreamServerChain(
35 grpc_recovery.StreamServerInterceptor(opts...),
36 ),
37 )
38 }
39
View as plain text