1
0
mirror of https://github.com/bitwarden/server.git synced 2025-05-29 15:24:51 -05:00

GetScheme helper

This commit is contained in:
Kyle Spearrin 2018-06-19 17:28:45 -04:00
parent 06db27ae19
commit 5c13802879

View File

@ -141,11 +141,11 @@ namespace Bit.Icons.Services
Uri iconUri = null; Uri iconUri = null;
if(icon.Path.StartsWith("//")) if(icon.Path.StartsWith("//"))
{ {
iconUri = new Uri($"{uri.Scheme}://{icon.Path.Substring(2)}"); iconUri = new Uri($"{GetScheme(uri)}://{icon.Path.Substring(2)}");
} }
else if(Uri.TryCreate(icon.Path, UriKind.Relative, out var relUri)) else if(Uri.TryCreate(icon.Path, UriKind.Relative, out var relUri))
{ {
iconUri = ResolveUri($"{uri.Scheme}://{uri.Host}", baseUrl, relUri.OriginalString); iconUri = ResolveUri($"{GetScheme(uri)}://{uri.Host}", baseUrl, relUri.OriginalString);
} }
else if(Uri.TryCreate(icon.Path, UriKind.Absolute, out var absUri)) else if(Uri.TryCreate(icon.Path, UriKind.Absolute, out var absUri))
{ {
@ -170,7 +170,7 @@ namespace Bit.Icons.Services
await Task.WhenAll(iconResultTasks); await Task.WhenAll(iconResultTasks);
if(!icons.Any(i => i.Icon != null)) if(!icons.Any(i => i.Icon != null))
{ {
var faviconUri = ResolveUri($"{uri.Scheme}://{uri.Host}", "favicon.ico"); var faviconUri = ResolveUri($"{GetScheme(uri)}://{uri.Host}", "favicon.ico");
var result = await GetIconAsync(faviconUri); var result = await GetIconAsync(faviconUri);
if(result != null) if(result != null)
{ {
@ -287,7 +287,7 @@ namespace Bit.Icons.Services
else else
{ {
var requestUri = response.RequestMessage.RequestUri; var requestUri = response.RequestMessage.RequestUri;
location = ResolveUri($"{requestUri.Scheme}://{requestUri.Host}", location = ResolveUri($"{GetScheme(requestUri)}://{requestUri.Host}",
response.Headers.Location.OriginalString); response.Headers.Location.OriginalString);
} }
@ -333,5 +333,10 @@ namespace Bit.Icons.Services
obj?.Dispose(); obj?.Dispose();
obj = null; obj = null;
} }
private string GetScheme(Uri uri)
{
return uri != null && uri.Scheme == "http" ? "http" : "https";
}
} }
} }