From 9561b167f779e84a0c619863e847298e98394b75 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Mon, 25 Jun 2018 09:28:54 -0400 Subject: [PATCH] icon service fixes --- src/Icons/Services/IconFetchingService.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Icons/Services/IconFetchingService.cs b/src/Icons/Services/IconFetchingService.cs index f7c9e5a0d5..f5b275479c 100644 --- a/src/Icons/Services/IconFetchingService.cs +++ b/src/Icons/Services/IconFetchingService.cs @@ -139,9 +139,10 @@ namespace Bit.Icons.Services foreach(var icon in icons) { Uri iconUri = null; - if(icon.Path.StartsWith("//")) + if(icon.Path.StartsWith("//") && Uri.TryCreate($"{GetScheme(uri)}://{icon.Path.Substring(2)}", + UriKind.Absolute, out var slashUri)) { - iconUri = new Uri($"{GetScheme(uri)}://{icon.Path.Substring(2)}"); + iconUri = slashUri; } else if(Uri.TryCreate(icon.Path, UriKind.Relative, out var relUri)) { @@ -282,7 +283,18 @@ namespace Bit.Icons.Services Uri location = null; if(response.Headers.Location.IsAbsoluteUri) { - location = response.Headers.Location; + if(response.Headers.Location.Scheme != "http" && response.Headers.Location.Scheme != "https") + { + if(Uri.TryCreate($"https://{response.Headers.Location.OriginalString}", + UriKind.Absolute, out var newUri)) + { + location = newUri; + } + } + else + { + location = response.Headers.Location; + } } else {