mirror of
https://github.com/sphildreth/roadie
synced 2024-11-25 21:50:22 +00:00
More HttpClientFactory rework.
This commit is contained in:
parent
0c3d978dfb
commit
4940112b9b
3 changed files with 10 additions and 6 deletions
|
@ -705,7 +705,7 @@ namespace Roadie.Library.Engines
|
||||||
{
|
{
|
||||||
var sw2 = Stopwatch.StartNew();
|
var sw2 = Stopwatch.StartNew();
|
||||||
var imageBag = new ConcurrentBag<IImage>();
|
var imageBag = new ConcurrentBag<IImage>();
|
||||||
var i = artistImageUrls.Select(async url => imageBag.Add(await WebHelper.GetImageFromUrlAsync(url).ConfigureAwait(false)));
|
var i = artistImageUrls.Select(async url => imageBag.Add(await WebHelper.GetImageFromUrlAsync(HttpClientFactory, url).ConfigureAwait(false)));
|
||||||
await Task.WhenAll(i).ConfigureAwait(false);
|
await Task.WhenAll(i).ConfigureAwait(false);
|
||||||
result.Images = imageBag.Where(x => x?.Bytes != null)
|
result.Images = imageBag.Where(x => x?.Bytes != null)
|
||||||
.GroupBy(x => x.Signature)
|
.GroupBy(x => x.Signature)
|
||||||
|
|
|
@ -915,7 +915,7 @@ namespace Roadie.Library.Engines
|
||||||
{
|
{
|
||||||
var sw2 = Stopwatch.StartNew();
|
var sw2 = Stopwatch.StartNew();
|
||||||
var imageBag = new ConcurrentBag<IImage>();
|
var imageBag = new ConcurrentBag<IImage>();
|
||||||
var i = releaseImageUrls.Select(async url => imageBag.Add(await WebHelper.GetImageFromUrlAsync(url).ConfigureAwait(false)));
|
var i = releaseImageUrls.Select(async url => imageBag.Add(await WebHelper.GetImageFromUrlAsync(HttpClientFactory, url).ConfigureAwait(false)));
|
||||||
await Task.WhenAll(i).ConfigureAwait(false);
|
await Task.WhenAll(i).ConfigureAwait(false);
|
||||||
releaseImages = imageBag.Where(x => x?.Bytes != null)
|
releaseImages = imageBag.Where(x => x?.Bytes != null)
|
||||||
.GroupBy(x => x.Signature)
|
.GroupBy(x => x.Signature)
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Roadie.Library.Utility
|
||||||
{
|
{
|
||||||
var client = httpclientFactory.CreateClient();
|
var client = httpclientFactory.CreateClient();
|
||||||
var request = new HttpRequestMessage(HttpMethod.Get, url);
|
var request = new HttpRequestMessage(HttpMethod.Get, url);
|
||||||
|
request.Headers.Add("User-Agent", UserAgent);
|
||||||
var response = await client.SendAsync(request).ConfigureAwait(false);
|
var response = await client.SendAsync(request).ConfigureAwait(false);
|
||||||
if(response.IsSuccessStatusCode)
|
if(response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
|
@ -58,15 +59,18 @@ namespace Roadie.Library.Utility
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<IImage> GetImageFromUrlAsync(string url)
|
public static async Task<IImage> GetImageFromUrlAsync(IHttpClientFactory httpclientFactory, string url)
|
||||||
{
|
{
|
||||||
byte[] imageBytes = null;
|
byte[] imageBytes = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var webClient = new WebClient())
|
var client = httpclientFactory.CreateClient();
|
||||||
|
var request = new HttpRequestMessage(HttpMethod.Get, url);
|
||||||
|
request.Headers.Add("User-Agent", UserAgent);
|
||||||
|
var response = await client.SendAsync(request).ConfigureAwait(false);
|
||||||
|
if (response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
webClient.Headers.Add("user-agent", UserAgent);
|
imageBytes = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false);
|
||||||
imageBytes = await webClient.DownloadDataTaskAsync(new Uri(url)).ConfigureAwait(false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
|
Loading…
Reference in a new issue