public IRequestHandler Match(HttpRequestHead request, string body, IEnumerable <IRequestHandler> requestHandlerList) { var matches = requestHandlerList .Where(handler => _matchingRule.IsEndpointMatch(handler, request)) .Where(handler => handler.CanVerifyConstraintsFor(request.Uri, body)); return(matches.FirstOrDefault()); }