public override object Request(MediationServiceProvider handlerProvider, object request) { var value = (TRequest)request; return(handlerProvider.GenerateRequestPipeline <TRequest, TResult, TResult>( (handler) => () => handler.Handle(value), (next, step) => () => step.Execute(value, next))); }
public override async Task <object> RequestAsync(MediationServiceProvider handlerProvider, object request, CancellationToken cancellationToken) { var value = (TRequest)request; return(await handlerProvider.GenerateRequestPipeline <TRequest, TResult, Task <TResult> >( (handler) => () => handler.HandleAsync(value, cancellationToken), (next, step) => () => step.ExecuteAsync(value, next, cancellationToken))()); }