using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Tango.FSE.Common.Helpers { public static class StartupArgsHelper { public static String[] CleanArgsFromWeb(String[] args) { if (args != null && args.Length == 1) //Check for web custom protocol { var match = Regex.Match(args[0], "%5C%5C(.+)"); var groups = match.Groups.OfType().ToList(); if (groups.Count == 2) { List cleanArgs = new List(); String encodedData = groups[1].Value; String decodedData = DecodeBase64String(encodedData); String[] splitted = decodedData.Split(' '); foreach (var item in splitted) { cleanArgs.Add(item); } return cleanArgs.ToArray(); } } return args; } public static String EncodeBase64String(String text) { var plainTextBytes = Encoding.UTF8.GetBytes(text); return Convert.ToBase64String(plainTextBytes).Replace("=", "-"); } public static String DecodeBase64String(String base64) { var base64EncodedBytes = Convert.FromBase64String(base64.Replace("-", "=")); return Encoding.UTF8.GetString(base64EncodedBytes); } } }