func (r *serverRouter) StreamResolver() grpc.StreamServerInterceptor {
	return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
		// TODO: Find a more efficient way to chain the interceptors
		interceptor := NewStreamServerInterceptor()
		_, err := resolveServerInterceptor(info.FullMethod, r.interceptors, func(lvl ServerInterceptor) {
			interceptor.AddInterceptor(lvl.StreamServerInterceptor())
		}, false)
		if err != nil {
			return grpc.Errorf(codes.Internal, err.Error())
		}
		return interceptor.Interceptor()(srv, ss, info, handler)
	}
}
// StreamResolver returns a `grpc.StreamServerInterceptor` that uses the
// appropriate chain of interceptors with the given stream gRPC request.
StreamResolver returns a `grpc.StreamServerInterceptor` that uses the
appropriate chain of interceptors with the given stream gRPC request.
// StreamResolver returns a ` grpc . StreamServerInterceptor ` that uses the // appropriate chain of interceptors with the given stream gRPC request .
func (r *serverRouter) StreamResolver() grpc.StreamServerInterceptor {
	return func(srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler) error {
		interceptor := NewStreamServerInterceptor()
		_, err := resolveServerInterceptor(info.FullMethod, r.interceptors, func(lvl ServerInterceptor) {
			interceptor.AddInterceptor(lvl.StreamServerInterceptor())
		}, false)
		if err != nil {
			return grpc.Errorf(codes.Internal, err.Error())
		}
		return interceptor.Interceptor()(srv, ss, info, handler)
	}
}
func ( r * serverRouter ) StreamResolver ( ) grpc . StreamServerInterceptor { return func ( srv interface { } , ss grpc . ServerStream , info * grpc . StreamServerInfo , handler grpc . StreamHandler ) error { interceptor := NewStreamServerInterceptor ( ) _ , err := resolveServerInterceptor ( info . FullMethod , r . interceptors , func ( lvl ServerInterceptor ) { interceptor . AddInterceptor ( lvl . StreamServerInterceptor ( ) ) } , false ) if err != nil { return grpc . Errorf ( codes . Internal , err . Error ( ) ) } return interceptor . Interceptor ( ) ( srv , ss , info , handler ) } }
StreamResolver returns a `grpc.StreamServerInterceptor` that uses the
appropriate chain of interceptors with the given stream gRPC request.
StreamResolver returns a ` grpc . StreamServerInterceptor ` that uses the appropriate chain of interceptors with the given stream gRPC request .
// TODO: Find a more efficient way to chain the interceptors