using System; using System.Collections.Concurrent; using WireMock.Handlers; using WireMock.Logging; using WireMock.Matchers; using WireMock.Util; #if !USE_ASPNETCORE using Owin; #else using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; using Microsoft.Extensions.DependencyInjection; using WireMock.Types; #endif namespace WireMock.Owin; internal interface IWireMockMiddlewareOptions { IWireMockLogger Logger { get; set; } TimeSpan? RequestProcessingDelay { get; set; } IStringMatcher? AuthenticationMatcher { get; set; } bool? AllowPartialMapping { get; set; } ConcurrentDictionary Mappings { get; } ConcurrentDictionary Scenarios { get; } ConcurrentObservableCollection LogEntries { get; } int? RequestLogExpirationDuration { get; set; } int? MaxRequestLogCount { get; set; } Action? PreWireMockMiddlewareInit { get; set; } Action? PostWireMockMiddlewareInit { get; set; } #if USE_ASPNETCORE Action? AdditionalServiceRegistration { get; set; } CorsPolicyOptions? CorsPolicyOptions { get; set; } #endif IFileSystemHandler? FileSystemHandler { get; set; } bool? AllowBodyForAllHttpMethods { get; set; } bool? AllowOnlyDefinedHttpStatusCodeInResponse { get; set; } bool? DisableJsonBodyParsing { get; set; } bool? DisableRequestBodyDecompressing { get; set; } bool? HandleRequestsSynchronously { get; set; } string? X509StoreName { get; set; } string? X509StoreLocation { get; set; } string? X509ThumbprintOrSubjectName { get; set; } string? X509CertificateFilePath { get; set; } string? X509CertificatePassword { get; set; } bool CustomCertificateDefined { get; } bool? SaveUnmatchedRequests { get; set; } }