using System;
using JetBrains.Annotations;
namespace WireMock.Settings
{
///
/// IProxyAndRecordSettings
///
public interface IProxyAndRecordSettings
{
///
/// The URL to proxy.
///
string Url { get; set; }
///
/// Save the mapping for each request/response to the internal Mappings.
///
bool SaveMapping { get; set; }
///
/// Only save request/response to the internal Mappings if the status code is included in this pattern. (Note that SaveMapping must also be set to true.)
/// The pattern can contain a single value like "200", but also ranges like "2xx", "100,300,600" or "100-299,6xx" are supported.
///
[CanBeNull]
string SaveMappingForStatusCodePattern { get; set; }
///
/// Save the mapping for each request/response also to a file. (Note that SaveMapping must also be set to true.)
///
bool SaveMappingToFile { get; set; }
///
/// The clientCertificate thumbprint or subject name fragment to use.
/// Example thumbprint : "D2DBF135A8D06ACCD0E1FAD9BFB28678DF7A9818". Example subject name: "www.google.com""
///
string ClientX509Certificate2ThumbprintOrSubjectName { get; set; }
///
/// Defines a list from headers which will be excluded from the saved mappings.
///
[Obsolete("Will be renamed to ExcludedHeaders in next version (1.3.x)")]
string[] BlackListedHeaders { get; set; }
///
/// Defines a list of cookies which will be excluded from the saved mappings.
///
[Obsolete("Will be renamed to ExcludedCookies in next version (1.3.x)")]
string[] BlackListedCookies { get; set; }
///
/// Defines the WebProxySettings.
///
IWebProxySettings WebProxySettings { get; set; }
///
/// Proxy requests should follow redirection (30x).
///
bool? AllowAutoRedirect { get; set; }
}
}