コード例 #1
0
        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);
        }
コード例 #2
0
 public Task <PagedCollection <T> > LoadPreviousPageAsync <T>(PagedCollection <T> collection)
 {
     return(((IAdvancedSentryApiClient)this).GetPagedAsync <T>(collection.Pagination.PreviousLink.ToString()));
 }