public override async Task <TResponse> ClientStreamingServerHandler <TRequest, TResponse>(IAsyncStreamReader <TRequest> requestStream, ServerCallContext context, ClientStreamingServerMethod <TRequest, TResponse> continuation) { var validatingRequestStream = new ValidatingAsyncStreamReader <TRequest>(requestStream, request => ValidateRequest(request)); return(await continuation(validatingRequestStream, context)); }
public override async Task DuplexStreamingServerHandler <TRequest, TResponse>(IAsyncStreamReader <TRequest> requestStream, IServerStreamWriter <TResponse> responseStream, ServerCallContext context, DuplexStreamingServerMethod <TRequest, TResponse> continuation) { var validatingRequestStream = new ValidatingAsyncStreamReader <TRequest>(requestStream, request => ValidateRequest(request)); await continuation(validatingRequestStream, responseStream, context); }