public override async Task <PagingResponse <TResponse> > GetPageAsync <TResponse>(IRestResource <BitBucketClientContext> resource, BitBucketClientContext context) { var url = this.BuildUri(context, () => resource.GetPagingUrl(context)); var response = await this.GetAsync(url.Uri).ConfigureAwait(false); return(await response.DeserializeAsync <BitBucketPagingResponse <TResponse> >().ConfigureAwait(false)); }
public override async Task <IEnumerable <TResponse> > GetAllAsync <TResponse>(IRestResource <BitBucketClientContext> resource, BitBucketClientContext context) { var results = new List <TResponse>(200); var url = this.BuildUri(context, () => resource.GetPagingUrl(context)); var response = await this.GetAsync(url.Uri).ConfigureAwait(false); var page = await response.DeserializeAsync <BitBucketPagingResponse <TResponse> >().ConfigureAwait(false); results.AddRange(page.Values); while (page.Next.HasValue()) { response = await this.GetAsync(page.Next).ConfigureAwait(false); page = await response.DeserializeAsync <BitBucketPagingResponse <TResponse> >().ConfigureAwait(false); results.AddRange(page.Values); } return(results); }