diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/Microsoft.Plugin.Uri.csproj b/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/Microsoft.Plugin.Uri.csproj index 68c5f573c5..4a32efbe58 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/Microsoft.Plugin.Uri.csproj +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/Microsoft.Plugin.Uri.csproj @@ -13,6 +13,8 @@ false x64 en-US + true + Recommended diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/UriHelper/ExtendedUriParser.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/UriHelper/ExtendedUriParser.cs index d7b75e5bcd..b30aece9ed 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/UriHelper/ExtendedUriParser.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Uri/UriHelper/ExtendedUriParser.cs @@ -27,7 +27,7 @@ namespace Microsoft.Plugin.Uri.UriHelper const string schemeRegex = @"^([a-z][a-z0-9+\-.]*):"; if (input.EndsWith(":", StringComparison.OrdinalIgnoreCase) && !input.StartsWith("http", StringComparison.OrdinalIgnoreCase) - && !input.Contains("/", StringComparison.OrdinalIgnoreCase) + && !input.Contains('/', StringComparison.OrdinalIgnoreCase) && !input.All(char.IsDigit) && Regex.IsMatch(input, schemeRegex)) { @@ -60,9 +60,9 @@ namespace Microsoft.Plugin.Uri.UriHelper urlBuilder.Scheme = System.Uri.UriSchemeHttp; isWebUri = true; } - else if (input.Contains(":", StringComparison.OrdinalIgnoreCase) && + else if (input.Contains(':', StringComparison.OrdinalIgnoreCase) && !input.StartsWith("http", StringComparison.OrdinalIgnoreCase) && - !input.Contains("[", StringComparison.OrdinalIgnoreCase)) + !input.Contains('[', StringComparison.OrdinalIgnoreCase)) { // Do nothing, leave unchanged isWebUri = false;