using System; using Stef.Validation; using WireMock.Matchers; using WireMock.Matchers.Request; namespace WireMock.RequestBuilders; public partial class Request { /// public IRequestBuilder WithClientIP(params IStringMatcher[] matchers) { return WithClientIP(MatchOperator.Or, matchers); } /// public IRequestBuilder WithClientIP(MatchOperator matchOperator, params IStringMatcher[] matchers) { Guard.NotNullOrEmpty(matchers); _requestMatchers.Add(new RequestMessageClientIPMatcher(MatchBehaviour.AcceptOnMatch, MatchOperator.Or, matchers)); return this; } /// public IRequestBuilder WithClientIP(params string[] clientIPs) { return WithClientIP(MatchOperator.Or, clientIPs); } /// public IRequestBuilder WithClientIP(MatchOperator matchOperator, params string[] clientIPs) { Guard.NotNullOrEmpty(clientIPs); _requestMatchers.Add(new RequestMessageClientIPMatcher(MatchBehaviour.AcceptOnMatch, matchOperator, clientIPs)); return this; } /// public IRequestBuilder WithClientIP(params Func[] funcs) { Guard.NotNullOrEmpty(funcs); _requestMatchers.Add(new RequestMessageClientIPMatcher(funcs)); return this; } }