private void _ParseUrlEncoded(HttpDataDictionary d, string qs) { string[] parts = qs.Split('&'); foreach (string p in parts) { string[] kv = p.Split('='); if (kv.Length == 2) { string key = _Utils.UrlDecode(kv[0]); string value = _Utils.UrlDecode(kv[1]); d.Set(key, new UnsafeString(value)); } } }
public static HttpDataDictionary FromHeader(string header) { int eq_idx = -1; int key_idx = 0; HttpDataDictionary dict = new HttpDataDictionary (); if (header == null) return dict; for (int i = 0; i < header.Length; i++) { if (header [i] == ';') { if (eq_idx == -1) continue; string key = header.Substring (key_idx, eq_idx - key_idx); string value = header.Substring (eq_idx + 1, i - eq_idx - 1); dict.Set (key.Trim (), value.Trim ()); key_idx = i + 1; eq_idx = -1; continue; } if (header [i] == '=') eq_idx = i; } if (eq_idx != -1) { string key = header.Substring (key_idx, eq_idx - key_idx); string value = header.Substring (eq_idx + 1); dict.Set (key.Trim (), value.Trim ()); } return dict; }