namespace WireMock.Admin.Settings;
[FluentBuilder.AutoGenerateBuilder]
public class ProxyAndRecordSettingsModel
{
///
/// The clientCertificate thumbprint or subject name fragment to use.
/// Example thumbprint : "D2DBF135A8D06ACCD0E1FAD9BFB28678DF7A9818". Example subject name: "www.google.com""
///
public string ClientX509Certificate2ThumbprintOrSubjectName { get; set; }
///
/// Defines the WebProxySettings.
///
public WebProxySettingsModel WebProxySettings { get; set; }
///
/// Proxy requests should follow redirection (30x).
///
public bool? AllowAutoRedirect { get; set; }
///
/// The URL to proxy.
///
public string Url { get; set; }
///
/// Save the mapping for each request/response to the internal Mappings.
///
public bool SaveMapping { get; set; }
///
/// Save the mapping for each request/response also to a file. (Note that SaveMapping must also be set to true.)
///
public bool SaveMappingToFile { 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.
///
public string SaveMappingForStatusCodePattern { get; set; } = "*";
///
/// Defines a list from headers which will be excluded from the saved mappings.
///
public string[] ExcludedHeaders { get; set; }
///
/// Defines a list of cookies which will be excluded from the saved mappings.
///
public string[] ExcludedCookies { get; set; }
///
/// Prefer the Proxy Mapping over the saved Mapping (in case SaveMapping is set to true).
///
// public bool PreferProxyMapping { get; set; }
///
/// When SaveMapping is set to true, this setting can be used to control the behavior of the generated request matchers for the new mapping.
/// - false, the default matchers will be used.
/// - true, the defined mappings in the request wil be used for the new mapping.
///
/// Default value is false.
///
public bool UseDefinedRequestMatchers { get; set; }
///
/// Append an unique GUID to the filename from the saved mapping file.
///
public bool AppendGuidToSavedMappingFile { get; set; }
///
/// Defines the Replace Settings
///
public ProxyUrlReplaceSettingsModel? ReplaceSettings { get; set; }
}