From 90df2f21e5aa32ccc39deb2e07b3ca5bca098f68 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 2 Jul 2018 10:50:48 -0400 Subject: [PATCH] TryCreate on each uri --- src/Icons/Services/IconFetchingService.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Icons/Services/IconFetchingService.cs b/src/Icons/Services/IconFetchingService.cs index e1d76530af..bb5bf942c4 100644 --- a/src/Icons/Services/IconFetchingService.cs +++ b/src/Icons/Services/IconFetchingService.cs @@ -50,22 +50,25 @@ namespace Bit.Icons.Services public async Task GetIconAsync(string domain) { - if(!Uri.TryCreate($"https://{domain}", UriKind.Absolute, out var parsedUri)) + if(!Uri.TryCreate($"https://{domain}", UriKind.Absolute, out var parsedHttpsUri)) { return null; } - var uri = parsedUri; + var uri = parsedHttpsUri; var response = await GetAndFollowAsync(uri, 2); - if(response == null || !response.IsSuccessStatusCode) + if((response == null || !response.IsSuccessStatusCode) && + Uri.TryCreate($"http://{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedHttpUri)) { Cleanup(response); - uri = new Uri($"http://{parsedUri.Host}"); + uri = parsedHttpUri; response = await GetAndFollowAsync(uri, 2); - if(response == null || !response.IsSuccessStatusCode) + + if((response == null || !response.IsSuccessStatusCode) && + Uri.TryCreate($"https://www.{parsedHttpsUri.Host}", UriKind.Absolute, out var parsedWwwUri)) { Cleanup(response); - uri = new Uri($"https://www.{parsedUri.Host}"); + uri = parsedWwwUri; response = await GetAndFollowAsync(uri, 2); } }