using System.Linq;
using JetBrains.Annotations;
using WireMock.Validation;
namespace WireMock.Matchers.Request
{
///
/// The request verb matcher.
///
internal class RequestMessageVerbMatcher : IRequestMatcher
{
///
/// The verbs
///
public string[] Verbs { get; }
///
/// Initializes a new instance of the class.
///
///
/// The verb.
///
public RequestMessageVerbMatcher([NotNull] params string[] verbs)
{
Check.NotNull(verbs, nameof(verbs));
Verbs = verbs.Select(v => v.ToLower()).ToArray();
}
///
/// Determines whether the specified RequestMessage is match.
///
/// The RequestMessage.
///
/// true if the specified RequestMessage is match; otherwise, false.
///
public bool IsMatch(RequestMessage requestMessage)
{
return Verbs.Contains(requestMessage.Verb);
}
}
}