// Copyright © WireMock.Net
using System.Collections.Generic;
using System.Text.RegularExpressions;
using WireMock.Handlers;
using WireMock.Types;
namespace WireMock.Admin.Settings;
///
/// Settings
///
[FluentBuilder.AutoGenerateBuilder]
public class SettingsModel
{
///
/// Gets or sets the global delay in milliseconds.
///
public int? GlobalProcessingDelay { get; set; }
///
/// Gets or sets if partial mapping is allowed.
///
public bool? AllowPartialMapping { get; set; }
///
/// Gets or sets the RequestLog expiration in hours
///
public int? RequestLogExpirationDuration { get; set; }
///
/// Gets or sets the MaxRequestLog count.
///
public int? MaxRequestLogCount { get; set; }
///
/// Allow a Body for all HTTP Methods. (default set to false).
///
public bool? AllowBodyForAllHttpMethods { get; set; }
///
/// Allow only a HttpStatus Code in the response which is defined. (default set to false).
/// - false : also null, 0, empty or invalid HttpStatus codes are allowed.
/// - true : only codes defined in are allowed.
///
public bool? AllowOnlyDefinedHttpStatusCodeInResponse { get; set; }
///
/// Set to true to disable Json deserialization when processing requests. (default set to false).
///
public bool? DisableJsonBodyParsing { get; set; }
///
/// Disable support for GZip and Deflate request body decompression. (default set to false).
///
public bool? DisableRequestBodyDecompressing { get; set; }
///
/// Set to true to disable FormUrlEncoded deserializing when processing requests. (default set to false).
///
public bool? DisableDeserializeFormUrlEncoded { get; set; }
///
/// Handle all requests synchronously. (default set to false).
///
public bool? HandleRequestsSynchronously { get; set; }
///
/// Use the RegexExtended instead of the default . (default set to true).
///
public bool? UseRegexExtended { get; set; }
///
/// Save unmatched requests to a file using the . (default set to false).
///
public bool? SaveUnmatchedRequests { get; set; }
///
/// Gets or sets if the static mappings should be read at startup.
///
public bool? ReadStaticMappings { get; set; }
///
/// Watch the static mapping files + folder for changes when running.
///
public bool? WatchStaticMappings { get; set; }
///
/// A value indicating whether subdirectories within the static mappings path should be monitored.
///
public bool? WatchStaticMappingsInSubdirectories { get; set; }
///
/// Policies to use when using CORS. By default CORS is disabled. [Optional]
///
public string? CorsPolicyOptions { get; set; }
///
/// The proxy and record settings.
///
public ProxyAndRecordSettingsModel? ProxyAndRecordSettings { get; set; }
///
/// Defines on which scheme (http/https) to host. (This overrides the UseSSL value).
///
public HostingScheme? HostingScheme { get; set; }
///
/// Don't save the response-string in the LogEntry when WithBody(Func{IRequestMessage, string}) or WithBody(Func{IRequestMessage, Task{string}}) is used. (default set to false).
///
public bool? DoNotSaveDynamicResponseInLogEntry { get; set; }
///
/// See .
///
/// Default value = "All".
///
public QueryParameterMultipleValueSupport? QueryParameterMultipleValueSupport { get; set; }
///
/// A list of Grpc ProtoDefinitions which can be used.
///
public Dictionary? ProtoDefinitions { get; set; }
///
/// Server client certificate mode
///
public ClientCertificateMode ClientCertificateMode { get; set; }
///
/// Whether to accept any client certificate
///
public bool AcceptAnyClientCertificate { get; set; }
///
/// Gets or sets the WebSocket settings.
///
public WebSocketSettingsModel? WebSocketSettings { get; set; }
}