using System; using System.Threading.Tasks; using WireMock.Matchers.Request; namespace WireMock { /// /// The Mapping. /// public class Mapping { /// /// Gets the unique identifier. /// /// /// The unique identifier. /// public Guid Guid { get; } /// /// The Request matcher. /// public IRequestMatcher RequestMatcher { get; } /// /// The Provider. /// public IResponseProvider Provider { get; } /// /// Initializes a new instance of the class. /// /// The the unique identifier. /// The request matcher. /// The provider. public Mapping(Guid guid, IRequestMatcher requestMatcher, IResponseProvider provider) { Guid = guid; RequestMatcher = requestMatcher; Provider = provider; } /// /// The response to. /// /// The request message. /// The . public async Task ResponseTo(RequestMessage requestMessage) { return await Provider.ProvideResponse(requestMessage); } /// /// Determines whether the RequestMessage is handled. /// /// The request message. /// /// true if RequestMessage is handled; otherwise, false. /// public bool IsRequestHandled(RequestMessage requestMessage) { return RequestMatcher.IsMatch(requestMessage); } } }