()
| 25 | ) |
| 26 | |
| 27 | func ExampleUnaryInterceptorFunc() { |
| 28 | logger := log.New(os.Stdout, "" /* prefix */, 0 /* flags */) |
| 29 | loggingInterceptor := connect.UnaryInterceptorFunc( |
| 30 | func(next connect.UnaryFunc) connect.UnaryFunc { |
| 31 | return connect.UnaryFunc(func(ctx context.Context, request connect.AnyRequest) (connect.AnyResponse, error) { |
| 32 | logger.Println("calling:", request.Spec().Procedure) |
| 33 | logger.Println("request:", request.Any()) |
| 34 | response, err := next(ctx, request) |
| 35 | if err != nil { |
| 36 | logger.Println("error:", err) |
| 37 | } else { |
| 38 | logger.Println("response:", response.Any()) |
| 39 | } |
| 40 | return response, err |
| 41 | }) |
| 42 | }, |
| 43 | ) |
| 44 | client := pingv1connect.NewPingServiceClient( |
| 45 | examplePingServer.Client(), |
| 46 | examplePingServer.URL(), |
| 47 | connect.WithInterceptors(loggingInterceptor), |
| 48 | ) |
| 49 | if _, err := client.Ping(context.Background(), &pingv1.PingRequest{Number: 42}); err != nil { |
| 50 | logger.Println("error:", err) |
| 51 | return |
| 52 | } |
| 53 | |
| 54 | // Output: |
| 55 | // calling: /connect.ping.v1.PingService/Ping |
| 56 | // request: number:42 |
| 57 | // response: number:42 |
| 58 | } |
| 59 | |
| 60 | func ExampleWithInterceptors() { |
| 61 | logger := log.New(os.Stdout, "" /* prefix */, 0 /* flags */) |
nothing calls this directly
no test coverage detected