示例#1
0
        /// <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))
                                ));
        }