public static Uri WithoutQueryParameter(this Uri uri, string key) { var data = QueryString.Deserialize(GetQuery(uri)); if (data.ContainsKey(key)) { data.Remove(key); } return(WithQuery(WithoutQuery(uri), data)); }
public void ParseQueryString(string queryString, string expectedDictionaryJson) { // arrange // act var query = QueryString.Deserialize(queryString); // assert var expected = JsonConvert.DeserializeObject <IDictionary <string, string[]> >(expectedDictionaryJson); Assert.Equal(expected, query); }
public static Uri WithQueryParameter(this Uri uri, string key, string[] values) { if (uri == null) { throw new ArgumentNullException(nameof(uri)); } var data = QueryString.Deserialize(GetQuery(uri)); if (data.ContainsKey(key)) { var existingValues = data[key]; var newValues = new List <string>(existingValues); newValues.AddRange(values); data[key] = newValues.ToArray(); } else { data.Add(key, values); } return(WithQuery(WithoutQuery(uri), data)); }