internal static bool IsFilteredByFluentExpression(Exception e, string url)
{
if (ConfigurationModel.Instance.FilteredExceptionsByLambda.Any(item => item(e))
|| ConfigurationModel.Instance.FilteredExceptionsByType.Contains(e.GetType())
|| ConfigurationModel.Instance.FilteredExceptionsByRegex.Exists(m => m.Match(e.Message).Success)
|| ConfigurationModel.Instance.FilteredExceptionByRelativeUrls.Any(u => UrlHelpers.UrlsAreEqual(url, u))
|| ConfigurationModel.Instance.FilteredExceptionByRelativeUrlsContaining.Any(u => UrlHelpers.UrlContains(url, u))
|| ConfigurationModel.Instance.FilteredExceptionByRelativeUrlsStartingWith.Any(u => UrlHelpers.UrlStartsWith(url, u)))
{
return true;
}
if (e is HttpException)
{
var httpStatusCode = GetHttpStatusCode(e as HttpException);
if (ConfigurationModel.Instance.FilteredExceptionsByHttpStatusCode.Contains(httpStatusCode))
{
return true;
}
}
return false;
}