public static async Task <ApiListResponse> Get_Episodes(string seriesId) { var result = new ApiListResponse(); long episodeCount = 10; var step = 10; for (long offset = 0; offset < episodeCount; offset += step) { var queryString = $"?filter[mediaId]={seriesId}&page[limit]={step}&page[offset]={offset}"; var responseStream = await _httpClient.GetStreamAsync($"{_apiBaseUrl}/episodes{queryString}"); var response = await JsonSerializer.DeserializeAsync <ApiListResponse>(responseStream, _serializerOptions); episodeCount = response.Meta.Count.Value; result.Data.AddRange(response.Data); } return(result); }
public static async Task <ApiListResponse> Get_Episodes(string seriesId, IHttpClientFactory httpClientFactory) { var result = new ApiListResponse(); long episodeCount = 10; var step = 10; var httpClient = httpClientFactory.CreateClient(NamedClient.Default); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/vnd.api+json")); for (long offset = 0; offset < episodeCount; offset += step) { var queryString = $"?filter[mediaId]={seriesId}&page[limit]={step}&page[offset]={offset}"; var responseStream = await httpClient.GetStreamAsync($"{_apiBaseUrl}/episodes{queryString}"); var response = await JsonSerializer.DeserializeAsync <ApiListResponse>(responseStream, _serializerOptions); episodeCount = response.Meta.Count.Value; result.Data.AddRange(response.Data); } return(result); }