private double IsMatch(RequestMessage requestMessage) { if (requestMessage.Headers == null) { return(MatchBehaviourHelper.Convert(_matchBehaviour, MatchScores.Mismatch)); } // Check if we want to use IgnoreCase to compare the Header-Name and Header-Value(s) var headers = !_ignoreCase ? requestMessage.Headers : new Dictionary <string, WireMockList <string> >(requestMessage.Headers, StringComparer.OrdinalIgnoreCase); if (Funcs != null) { return(MatchScores.ToScore(Funcs.Any(f => f(headers.ToDictionary(entry => entry.Key, entry => entry.Value.ToArray()))))); } if (Matchers == null) { return(MatchScores.Mismatch); } if (!headers.ContainsKey(Name)) { return(MatchBehaviourHelper.Convert(_matchBehaviour, MatchScores.Mismatch)); } WireMockList <string> list = headers[Name]; return(Matchers.Max(m => list.Max(value => m.IsMatch(value)))); // TODO : is this correct ? }
private double IsMatch(RequestMessage requestMessage) { if (requestMessage.Headers == null) { return(MatchScores.Mismatch); } if (Funcs != null) { return(MatchScores.ToScore(Funcs.Any(f => f(requestMessage.Headers.ToDictionary(entry => entry.Key, entry => entry.Value.ToArray()))))); } if (Matchers == null) { return(MatchScores.Mismatch); } if (!requestMessage.Headers.ContainsKey(Name)) { return(MatchScores.Mismatch); } WireMockList <string> list = requestMessage.Headers[Name]; return(Matchers.Max(m => list.Max(value => m.IsMatch(value)))); // TODO : is this correct ? }