async Task <PagedCollection <T> > IAdvancedSentryApiClient.GetPagedAsync <T>(string resource) { var response = await _sentryHttpClient.SendAsync(new HttpRequestMessage(HttpMethod.Get, resource)) .ConfigureAwait(false); var pagedCollection = new PagedCollection <T> { Collection = await DeserializeBodyAsync <IReadOnlyCollection <T> >(response).ConfigureAwait(false) }; // ReSharper disable PossibleMultipleEnumeration if (response.Headers.TryGetValues("link", out var linkValues) && linkValues.Count() == 1 && Pagination.TryParse(linkValues.First(), out var pagination)) { pagedCollection.Pagination = pagination; } // ReSharper restore PossibleMultipleEnumeration return(pagedCollection); }
public Task <PagedCollection <T> > LoadPreviousPageAsync <T>(PagedCollection <T> collection) { return(((IAdvancedSentryApiClient)this).GetPagedAsync <T>(collection.Pagination.PreviousLink.ToString())); }