internal static NameValueCollection InternalParseQueryString(string query, Encoding encoding) { int num; if ((query == null) || (((num = query.Length) == 0) || ((num == 1) && (query[0] == '?')))) { return(new NameValueCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } QueryStringCollection strings = new QueryStringCollection(); char[] separator = new char[] { '&' }; foreach (string str in query.Split(separator)) { int index = str.IndexOf('='); if (index <= -1) { strings.Add(null, UrlDecode(str, encoding)); } else { string name = UrlDecode(str.Substring(0, index), encoding); strings.Add(name, (str.Length <= (index + 1)) ? string.Empty : UrlDecode(str.Substring(index + 1), encoding)); } } return(strings); }
internal static NameValueCollection InternalParseQueryString(string query, Encoding encoding) { int length; if (query == null || (length = query.Length) == 0 || (length == 1 && query[0] == '?')) { return(new NameValueCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } QueryStringCollection queryStringCollection = new QueryStringCollection(); string[] array = query.Split('&'); string[] array2 = array; foreach (string text in array2) { int num = text.IndexOf('='); if (num > -1) { string name = UrlDecode(text.Substring(0, num), encoding); string val = ((text.Length <= num + 1) ? string.Empty : UrlDecode(text.Substring(num + 1), encoding)); queryStringCollection.Add(name, val); } else { queryStringCollection.Add(null, UrlDecode(text, encoding)); } } return(queryStringCollection); }
internal static NameValueCollection InternalParseQueryString(string query, Encoding encoding) { int len; if (query == null || (len = query.Length) == 0 || (len == 1 && query[0] == '?')) { return(new NameValueCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } var res = new QueryStringCollection(); var components = query.Split('&'); foreach (var component in components) { var i = component.IndexOf('='); if (i > -1) { var name = SSMono.Web.HttpUtility.UrlDecode(component.Substring(0, i), encoding); var val = component.Length > i + 1 ? SSMono.Web.HttpUtility.UrlDecode(component.Substring(i + 1), encoding) : String.Empty; res.Add(name, val); } else { res.Add(null, SSMono.Web.HttpUtility.UrlDecode(component, encoding)); } } return(res); }
internal static NameValueCollection InternalParseQueryString(string query, Encoding encoding) { int len; if (query == null || (len = query.Length) == 0 || (len == 1 && query[0] == '?')) return new NameValueCollection (1); if (query[0] == '?') query = query.Substring (1); var res = new QueryStringCollection (); var components = query.Split ('&'); foreach (var component in components) { var i = component.IndexOf ('='); if (i > -1) { var name = UrlDecode (component.Substring (0, i), encoding); var val = component.Length > i + 1 ? UrlDecode (component.Substring (i + 1), encoding) : String.Empty; res.Add (name, val); } else { res.Add (null, UrlDecode (component, encoding)); } } return res; }
public static QueryStringCollection Parse(string query, Encoding encoding) { if (query == null) { return(new QueryStringCollection(1)); } var len = query.Length; if (len == 0) { return(new QueryStringCollection(1)); } if (query == "?") { return(new QueryStringCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } if (encoding == null) { encoding = Encoding.UTF8; } var ret = new QueryStringCollection(); var components = query.Split('&'); foreach (var component in components) { len = component.Length; if (len == 0) { continue; } if (component == "=") { continue; } var i = component.IndexOf('='); if (i < 0) { ret.Add(null, urlDecode(component, encoding)); continue; } if (i == 0) { ret.Add(null, urlDecode(component.Substring(1), encoding)); continue; } var name = urlDecode(component.Substring(0, i), encoding); var start = i + 1; var val = start < len ? urlDecode(component.Substring(start), encoding) : String.Empty; ret.Add(name, val); } return(ret); }
public static QueryStringCollection Parse(string query, Encoding encoding) { if (query == null) { return(new QueryStringCollection(1)); } var len = query.Length; if (len == 0) { return(new QueryStringCollection(1)); } if (query == "?") { return(new QueryStringCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } if (encoding == null) { encoding = Encoding.UTF8; } var ret = new QueryStringCollection(); var components = query.Split('&'); foreach (var component in components) { len = component.Length; if (len == 0) { continue; } if (component == "=") { continue; } var i = component.IndexOf('='); if (i < 0) { #if SSHARP ret.Add(null, Crestron.SimplSharp.Net.HttpUtility.UrlDecode(component, encoding)); #else ret.Add(null, HttpUtility.UrlDecode(component, encoding)); #endif continue; } if (i == 0) { ret.Add( #if SSHARP null, Crestron.SimplSharp.Net.HttpUtility.UrlDecode(component.Substring(1), encoding) #else null, HttpUtility.UrlDecode(component.Substring(1), encoding) #endif ); continue; } #if SSHARP var name = Crestron.SimplSharp.Net.HttpUtility.UrlDecode(component.Substring(0, i), encoding); var val = component.Length > i + 1 ? Crestron.SimplSharp.Net.HttpUtility.UrlDecode(component.Substring(i + 1), encoding) : String.Empty; #else var name = HttpUtility.UrlDecode(component.Substring(0, i), encoding); var val = component.Length > i + 1 ? HttpUtility.UrlDecode(component.Substring(i + 1), encoding) : String.Empty; #endif ret.Add(name, val); } return(ret); }
public static QueryStringCollection Parse(string query, Encoding encoding) { if (query == null) { return(new QueryStringCollection(1)); } if (query.Length == 0) { return(new QueryStringCollection(1)); } if (query == "?") { return(new QueryStringCollection(1)); } if (query[0] == '?') { query = query.Substring(1); } if (encoding == null) { encoding = Encoding.UTF8; } var ret = new QueryStringCollection(); foreach (var component in query.Split('&')) { var len = component.Length; if (len == 0) { continue; } if (component == "=") { continue; } string name = null; string val = null; var idx = component.IndexOf('='); if (idx < 0) { val = component.UrlDecode(encoding); } else if (idx == 0) { val = component.Substring(1).UrlDecode(encoding); } else { name = component.Substring(0, idx).UrlDecode(encoding); var start = idx + 1; val = start < len ? component.Substring(start).UrlDecode(encoding) : String.Empty; } ret.Add(name, val); } return(ret); }