private async Task <IMultiPage <IQuote> > getHistoricalQuotesAsync( HistoricalCryptoQuotesRequest request, CancellationToken cancellationToken = default) => await _httpClient.GetAsync <IMultiPage <IQuote>, JsonMultiQuotesPage <JsonHistoricalCryptoQuote> >( await request.EnsureNotNull(nameof(request)).Validate() .GetUriBuilderAsync(_httpClient).ConfigureAwait(false), cancellationToken).ConfigureAwait(false);
public Task <IMultiPage <IQuote> > GetHistoricalQuotesAsync( HistoricalCryptoQuotesRequest request, CancellationToken cancellationToken = default) => request.Symbols.Count == 1 ? listHistoricalQuotesAsync(request, cancellationToken) .AsMultiPageAsync <IQuote, JsonMultiQuotesPage <JsonHistoricalCryptoQuote> >() : getHistoricalQuotesAsync(request, cancellationToken);
private HistoricalCryptoQuotesRequest( HistoricalCryptoQuotesRequest request, IEnumerable <CryptoExchange> exchanges) : base(request.Symbols, request.TimeInterval, request.Exchanges.Concat(exchanges)) { }