12345678910111213141516171819 |
- package serverinterceptors
- import (
- "context"
- "time"
- "zero/core/contextx"
- "google.golang.org/grpc"
- )
- func UnaryTimeoutInterceptor(timeout time.Duration) grpc.UnaryServerInterceptor {
- return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo,
- handler grpc.UnaryHandler) (resp interface{}, err error) {
- ctx, cancel := contextx.ShrinkDeadline(ctx, timeout)
- defer cancel()
- return handler(ctx, req)
- }
- }
|