Example #1
0
        private Task <HttpResponseMessage> ProcessMatchAsync(HttpInteraction match)
        {
            match.Played = true;
            var httpRequestMessage  = match.Request.ToHttpRequestMessage();
            var httpResponseMessage = match.Response.ToHttpRequestMessage(httpRequestMessage);

            return(Task.FromResult(httpResponseMessage));
        }
Example #2
0
        private HttpInteraction FindMatch(HttpRequest httpRequest)
        {
            HttpInteraction[] snapshot = null;
            lock (_httpInteractions)
            {
                snapshot = _httpInteractions.ToArray();
            }

            HttpInteraction match = _requestMatcher.FindMatch(snapshot, httpRequest);

            return(match);
        }
        public HttpInteraction FindMatch(HttpInteraction[] httpInteractions, HttpRequest request)
        {
            HttpInteraction bestMatch = null;

            foreach (var httpInteraction in httpInteractions)
            {
                if (httpInteraction.Played)
                {
                    continue;
                }

                if (!UriEqual(httpInteraction.Request, request))
                {
                    continue;
                }

                if (!MethodEqual(httpInteraction.Request, request))
                {
                    continue;
                }

                if (CompareHeaders && !HeadersEqual(httpInteraction.Request, request))
                {
                    continue;
                }

                if (CompareBody && !BodiesEqual(httpInteraction.Request, request))
                {
                    continue;
                }

                return(httpInteraction);
            }

            return(bestMatch);
        }