feat: Adding TryGetPortForScheme method to UriExtensions

This commit is contained in:
Chris Cameron
2019-01-07 15:37:33 -05:00
parent 4a411e8990
commit 108317212c
2 changed files with 20 additions and 1 deletions

View File

@@ -110,7 +110,7 @@
<Compile Include="Extensions\MethodInfoExtensions.cs" />
<Compile Include="Extensions\ParameterInfoExtensions.cs" />
<Compile Include="Extensions\UriExtensions.cs" />
<Compile Include="Extensions\UshortExtensions.cs" />
<Compile Include="Extensions\UShortExtensions.cs" />
<Compile Include="IcdUriBuilder.cs" />
<Compile Include="IO\Compression\IcdZipEntry.cs" />
<Compile Include="IO\IcdBinaryReader.cs" />

View File

@@ -1,9 +1,17 @@
using System;
using System.Collections.Generic;
namespace ICD.Common.Utils
{
public static class UriUtils
{
private static readonly Dictionary<string, ushort> s_SchemeToPort =
new Dictionary<string, ushort>(StringComparer.OrdinalIgnoreCase)
{
{Uri.UriSchemeHttp, 80},
{Uri.UriSchemeHttps, 443}
};
/// <summary>
/// Attempts to parse the given URI string into a System.Uri instance.
/// </summary>
@@ -27,5 +35,16 @@ namespace ICD.Common.Utils
return false;
}
}
/// <summary>
/// Gets the port number for the given URI scheme.
/// </summary>
/// <param name="scheme"></param>
/// <param name="port"></param>
/// <returns></returns>
public static bool TryGetPortForScheme(string scheme, out ushort port)
{
return s_SchemeToPort.TryGetValue(scheme, out port);
}
}
}