public async Task <TOutput> QueryAsync <TOutput>(IQuery <TOutput> query) { CollectionMiddleware middleware = new CollectionMiddleware(middlewares); TOutput output = (TOutput)await middleware.ExecuteAsync(query, new DefaultMiddleware <TOutput>(api, formatters, log).ExecuteRawAsync); return(output); }
public async Task <TOutput> QueryAsync <TOutput>(IQuery <TOutput> query) { log.Debug($"Query input '{query.GetType().Name}' casting to '{typeof(IQuery<TOutput>).Name}' ('{typeof(TOutput).Name}')."); CollectionMiddleware middleware = new CollectionMiddleware(middlewares); TOutput output = (TOutput)await middleware.ExecuteAsync(query, this, ExecuteRawAsync); return(output); }