public void ParseTest() { var q = new QueryString("foo=bar&baz=Lorem%20Ipsum"); Assert.AreEqual(2, q.Count); Assert.IsTrue(q.ContainsKey("foo")); Assert.IsFalse(q.ContainsKey("abcdefg")); CollectionAssert.AreEqual(new string[] { "foo", "baz" }, q.Keys.ToArray()); Assert.AreEqual("bar", q["foo"]); Assert.AreEqual("Lorem Ipsum", q["baz"]); Assert.IsNull(q["qux"]); }
public void OverlayTest() { var x = new QueryString("abc=1"); var y = new QueryString("def=2"); x.Overlay(y); Assert.AreEqual(2, x.Count); Assert.AreEqual(1, y.Count); Assert.IsTrue(x.ContainsKey("abc")); Assert.IsTrue(x.ContainsKey("def")); Assert.IsFalse(y.ContainsKey("abc")); Assert.IsTrue(y.ContainsKey("def")); }
public object GetValue(ParameterInfo parameter) { if (parameter.GetCustomAttribute <FromRequestBodyAttribute>() != null) { return(JsonConvert.DeserializeObject(RequestBody(), parameter.ParameterType)); } var name = parameter.Name.ToLower(); if (!QueryString.ContainsKey(name)) { return(null); } if (parameter.ParameterType == typeof(string)) { return(QueryString[name]); } if (parameter.ParameterType == typeof(int)) { return(int.Parse(QueryString[name], CultureInfo.InvariantCulture)); } if (parameter.ParameterType == typeof(double)) { return(double.Parse(QueryString[name], CultureInfo.InvariantCulture)); } return(null); }
public TOut GetQueryStringValue <TOut>(string name) { if (!QueryString.ContainsKey(name)) { return(default(TOut)); } object value = QueryString[name]; if (value == null) { return(default(TOut)); } return((TOut)value); }
public AWebSocketClient AddArgument(string argumentName, string argumentValue) { if (QueryString.ContainsKey(argumentName)) { QueryString[argumentName] = argumentValue; } else { QueryString.Add(argumentName, argumentValue); } UriBuilder.Query = string.Join("&", QueryString.Keys.Where(key => !string.IsNullOrWhiteSpace(QueryString[key])).Select(key => string.Format("{0}={1}", WebUtility.UrlEncode(key), WebUtility.UrlEncode(QueryString[key])))); return(this); }
/// <inheritdoc /> public override bool IsMatch(MockHttpRequestContext requestContext) { if (requestContext is null) { throw new ArgumentNullException(nameof(requestContext)); } QueryString query = QueryString.Parse(requestContext.Request.RequestUri.Query); // When match collection is empty, behavior is flipped, and we expect no query string parameters on request. if (_matchQs.Count == 0 && query.Count > 0) { return(false); } return(_matchQs.All(q => query.ContainsKey(q.Key) && (BothAreEmpty(query[q.Key], q.Value) || HasOneOf(query[q.Key], q.Value)) )); }
public override ThreadPageMetadata LoadThreadPage(Uri uri) { string url = uri.AbsoluteUri; var doc = new AwfulWebClient().FetchHtml(url).ToHtmlDocument(); var page = ThreadPageParser.ParseThreadPage(doc); // check for post id QueryString query = new QueryString(url); if (page != null && query.ContainsKey("postid")) { string id = query["postid"]; var targetPost = page.Posts.Where(post => post.PostID.Equals(id)).SingleOrDefault(); if (targetPost != null) { page.TargetPostIndex = page.Posts.IndexOf(targetPost); } } return page; }
public bool ContainsKey(string name) { return(QueryString != null && QueryString.ContainsKey(name)); }