Added try-catch for return Matchers

This commit is contained in:
Stef Heyenrath
2017-01-19 23:37:02 +01:00
parent 68f3a2ff76
commit 847745c256
3 changed files with 38 additions and 11 deletions

View File

@@ -1,4 +1,5 @@
using JetBrains.Annotations;
using System;
using JetBrains.Annotations;
using Newtonsoft.Json.Linq;
using WireMock.Validation;
@@ -35,10 +36,17 @@ namespace WireMock.Matchers
if (input == null)
return false;
JObject o = JObject.Parse(input);
JToken token = o.SelectToken(_pattern);
return token != null;
try
{
JObject o = JObject.Parse(input);
JToken token = o.SelectToken(_pattern);
return token != null;
}
catch (Exception)
{
return false;
}
}
}
}

View File

@@ -1,4 +1,5 @@
using System.Text.RegularExpressions;
using System;
using System.Text.RegularExpressions;
using JetBrains.Annotations;
using WireMock.Validation;
@@ -32,7 +33,17 @@ namespace WireMock.Matchers
/// </returns>
public bool IsMatch(string input)
{
return input != null && _expression.IsMatch(input);
if (input == null)
return false;
try
{
return _expression.IsMatch(input);
}
catch (Exception)
{
return false;
}
}
}
}

View File

@@ -1,4 +1,5 @@
using System.Xml;
using System;
using System.Xml;
using JetBrains.Annotations;
using WireMock.Validation;
using Wmhelp.XPath2;
@@ -36,10 +37,17 @@ namespace WireMock.Matchers
if (input == null)
return false;
var nav = new XmlDocument { InnerXml = input }.CreateNavigator();
object result = nav.XPath2Evaluate($"boolean({_pattern})");
try
{
var nav = new XmlDocument { InnerXml = input }.CreateNavigator();
object result = nav.XPath2Evaluate($"boolean({_pattern})");
return true.Equals(result);
return true.Equals(result);
}
catch (Exception)
{
return false;
}
}
}
}