mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-02-21 17:57:52 +01:00
82 lines
3.6 KiB
C#
82 lines
3.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using WireMock.Matchers;
|
|
using WireMock.Matchers.Request;
|
|
using WireMock.Validation;
|
|
|
|
namespace WireMock.RequestBuilders
|
|
{
|
|
public partial class Request
|
|
{
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, string, MatchBehaviour)"/>
|
|
public IRequestBuilder WithHeader(string name, string pattern, MatchBehaviour matchBehaviour)
|
|
{
|
|
return WithHeader(name, pattern, true, matchBehaviour);
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, string, bool, MatchBehaviour)"/>
|
|
public IRequestBuilder WithHeader(string name, string pattern, bool ignoreCase = true, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch)
|
|
{
|
|
Check.NotNull(name, nameof(name));
|
|
Check.NotNull(pattern, nameof(pattern));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, pattern, ignoreCase));
|
|
return this;
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, string[], MatchBehaviour)"/>
|
|
public IRequestBuilder WithHeader(string name, string[] patterns, MatchBehaviour matchBehaviour)
|
|
{
|
|
return WithHeader(name, patterns, true, matchBehaviour);
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, string[], bool, MatchBehaviour)"/>
|
|
public IRequestBuilder WithHeader(string name, string[] patterns, bool ignoreCase = true, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch)
|
|
{
|
|
Check.NotNull(name, nameof(name));
|
|
Check.NotNull(patterns, nameof(patterns));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, ignoreCase, patterns));
|
|
return this;
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, IStringMatcher[])"/>
|
|
public IRequestBuilder WithHeader(string name, params IStringMatcher[] matchers)
|
|
{
|
|
Check.NotNull(name, nameof(name));
|
|
Check.NotNullOrEmpty(matchers, nameof(matchers));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(MatchBehaviour.AcceptOnMatch, name, false, matchers));
|
|
return this;
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, bool, IStringMatcher[])"/>
|
|
public IRequestBuilder WithHeader(string name, bool ignoreCase, params IStringMatcher[] matchers)
|
|
{
|
|
Check.NotNull(name, nameof(name));
|
|
Check.NotNullOrEmpty(matchers, nameof(matchers));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(MatchBehaviour.AcceptOnMatch, name, ignoreCase, matchers));
|
|
return this;
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(string, IStringMatcher[])"/>
|
|
public IRequestBuilder WithHeader(string name, bool ignoreCase, MatchBehaviour matchBehaviour, params IStringMatcher[] matchers)
|
|
{
|
|
Check.NotNull(name, nameof(name));
|
|
Check.NotNullOrEmpty(matchers, nameof(matchers));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, ignoreCase, matchers));
|
|
return this;
|
|
}
|
|
|
|
/// <inheritdoc cref="IHeadersRequestBuilder.WithHeader(Func{IDictionary{string, string[]}, bool}[])"/>
|
|
public IRequestBuilder WithHeader(params Func<IDictionary<string, string[]>, bool>[] funcs)
|
|
{
|
|
Check.NotNullOrEmpty(funcs, nameof(funcs));
|
|
|
|
_requestMatchers.Add(new RequestMessageHeaderMatcher(funcs));
|
|
return this;
|
|
}
|
|
}
|
|
} |