using JetBrains.Annotations; using System; using System.Threading.Tasks; using WireMock.Matchers.Request; using WireMock.ResponseProviders; using WireMock.Settings; namespace WireMock { /// /// The IMapping interface. /// public interface IMapping { /// /// Gets the unique identifier. /// Guid Guid { get; } /// /// Gets the unique title. /// string Title { get; } /// /// The full filename path for this mapping (only defined for static mappings). /// string Path { get; set; } /// /// Gets the priority. /// int Priority { get; } /// /// Scenario. /// [CanBeNull] string Scenario { get; } /// /// Execution state condition for the current mapping. /// [CanBeNull] string ExecutionConditionState { get; } /// /// The next state which will be signaled after the current mapping execution. /// In case the value is null, state will not be changed. /// [CanBeNull] string NextState { get; } /// /// The Request matcher. /// IRequestMatcher RequestMatcher { get; } /// /// The Provider. /// IResponseProvider Provider { get; } /// /// The FluentMockServerSettings. /// IFluentMockServerSettings Settings { get; } /// /// Is State started ? /// bool IsStartState { get; } /// /// Gets a value indicating whether this mapping is an Admin Interface. /// /// /// true if this mapping is an Admin Interface; otherwise, false. /// bool IsAdminInterface { get; } /// /// Gets a value indicating whether this mapping to be logged. /// /// /// true if this mapping to be logged; otherwise, false. /// bool LogMapping { get; } /// /// ProvideResponseAsync /// /// The request message. /// The . Task ProvideResponseAsync(RequestMessage requestMessage); /// /// Gets the RequestMatchResult based on the RequestMessage. /// /// The request message. /// The Next State. /// The . RequestMatchResult GetRequestMatchResult(RequestMessage requestMessage, [CanBeNull] string nextState); } }