Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }