using System;
using JetBrains.Annotations;
using WireMock.Matchers;
namespace WireMock.RequestBuilders
{
///
/// The MethodRequestBuilder interface.
///
public interface IMethodRequestBuilder : IHeadersAndCookiesRequestBuilder
{
///
/// UsingDelete: add HTTP Method matching on `delete` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingDelete(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// UsingGet: add HTTP Method matching on `get` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingGet(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// Add HTTP Method matching on `head` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingHead(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// UsingPost: add HTTP Method matching on `post` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingPost(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// UsingPatch: add HTTP Method matching on `patch` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingPatch(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// UsingPut: add HTTP Method matching on `put` and matchBehaviour (optional).
///
/// The match behaviour.
/// The .
IRequestBuilder UsingPut(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// UsingAnyMethod: add HTTP Method matching on any method.
///
/// The .
IRequestBuilder UsingAnyMethod();
///
/// UsingAnyVerb: add HTTP Method matching on any method.
///
/// The .
[Obsolete]
IRequestBuilder UsingAnyVerb();
///
/// UsingMethod: add HTTP Method matching on any methods and matchBehaviour.
///
/// The match behaviour.
/// The methods.
/// The .
IRequestBuilder UsingMethod(MatchBehaviour matchBehaviour, [NotNull] params string[] methods);
///
/// UsingMethod: add HTTP Method matching on any methods.
///
/// The methods.
/// The .
IRequestBuilder UsingMethod([NotNull] params string[] methods);
///
/// UsingVerb: add HTTP Method matching on any methods.
///
/// The methods.
/// The .
[Obsolete]
IRequestBuilder UsingVerb([NotNull] params string[] verbs);
}
}