using System; using System.Collections.Concurrent; using System.Collections.ObjectModel; using WireMock.Handlers; using WireMock.Logging; using WireMock.Matchers; using WireMock.Util; #if !USE_ASPNETCORE using Owin; #else using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder; #endif namespace WireMock.Owin { internal class WireMockMiddlewareOptions : IWireMockMiddlewareOptions { public IWireMockLogger Logger { get; set; } public TimeSpan? RequestProcessingDelay { get; set; } public IStringMatcher AuthorizationMatcher { get; set; } public bool? AllowPartialMapping { get; set; } public ConcurrentDictionary Mappings { get; } = new ConcurrentDictionary(); public ConcurrentDictionary Scenarios { get; } = new ConcurrentDictionary(); public ConcurrentObservableCollection LogEntries { get; } = new ConcurrentObservableCollection(); public int? RequestLogExpirationDuration { get; set; } public int? MaxRequestLogCount { get; set; } public Action PreWireMockMiddlewareInit { get; set; } public Action PostWireMockMiddlewareInit { get; set; } /// public IFileSystemHandler FileSystemHandler { get; set; } /// public bool? AllowBodyForAllHttpMethods { get; set; } /// public bool? AllowOnlyDefinedHttpStatusCodeInResponse { get; set; } /// public bool? DisableJsonBodyParsing { get; set; } /// public bool? DisableRequestBodyDecompressing { get; set; } } }