private static void SetHttpsAndUrls(KestrelServerOptions kestrelOptions, IWireMockMiddlewareOptions wireMockMiddlewareOptions, IEnumerable <HostUrlDetails> urlDetails) { foreach (var urlDetail in urlDetails) { if (urlDetail.IsHttps) { kestrelOptions.Listen(System.Net.IPAddress.Any, urlDetail.Port, listenOptions => { if (wireMockMiddlewareOptions.CustomCertificateDefined) { listenOptions.UseHttps(CertificateLoader.LoadCertificate( wireMockMiddlewareOptions.X509StoreName, wireMockMiddlewareOptions.X509StoreLocation, wireMockMiddlewareOptions.X509ThumbprintOrSubjectName, wireMockMiddlewareOptions.X509CertificateFilePath, wireMockMiddlewareOptions.X509CertificatePassword, urlDetail.Host) ); } else { listenOptions.UseHttps(); } }); } else { kestrelOptions.Listen(System.Net.IPAddress.Any, urlDetail.Port); } } }
public GlobalExceptionMiddleware(Next next, IWireMockMiddlewareOptions options, IOwinResponseMapper responseMapper) : base(next) { Check.NotNull(options, nameof(options)); Check.NotNull(responseMapper, nameof(responseMapper)); _options = options; _responseMapper = responseMapper; }
public AspNetCoreSelfHost([NotNull] IWireMockMiddlewareOptions wireMockMiddlewareOptions, [NotNull] HostUrlOptions urlOptions) { Check.NotNull(wireMockMiddlewareOptions, nameof(wireMockMiddlewareOptions)); Check.NotNull(urlOptions, nameof(urlOptions)); _logger = wireMockMiddlewareOptions.Logger ?? new WireMockConsoleLogger(); _wireMockMiddlewareOptions = wireMockMiddlewareOptions; _urlOptions = urlOptions; }
/// <inheritdoc cref="IOwinRequestMapper.MapAsync"/> public async Task <RequestMessage> MapAsync(IRequest request, IWireMockMiddlewareOptions options) { (UrlDetails urldetails, string clientIP) = ParseRequest(request); string method = request.Method; Dictionary <string, string[]> headers = null; IEnumerable <string> contentEncodingHeader = null; if (request.Headers.Any()) { headers = new Dictionary <string, string[]>(); foreach (var header in request.Headers) { headers.Add(header.Key, header.Value); if (string.Equals(header.Key, HttpKnownHeaderNames.ContentEncoding, StringComparison.OrdinalIgnoreCase)) { contentEncodingHeader = header.Value; } } } IDictionary <string, string> cookies = null; if (request.Cookies.Any()) { cookies = new Dictionary <string, string>(); foreach (var cookie in request.Cookies) { cookies.Add(cookie.Key, cookie.Value); } } BodyData body = null; if (request.Body != null && BodyParser.ShouldParseBody(method, options.AllowBodyForAllHttpMethods == true)) { var bodyParserSettings = new BodyParserSettings { Stream = request.Body, ContentType = request.ContentType, DeserializeJson = !options.DisableJsonBodyParsing.GetValueOrDefault(false), ContentEncoding = contentEncodingHeader?.FirstOrDefault(), DecompressGZipAndDeflate = !options.DisableRequestBodyDecompressing.GetValueOrDefault(false) }; body = await BodyParser.Parse(bodyParserSettings); } return(new RequestMessage(urldetails, method, clientIP, body, headers, cookies) { DateTime = DateTime.UtcNow }); }
public WireMockMiddleware(Next next, IWireMockMiddlewareOptions options, IOwinRequestMapper requestMapper, IOwinResponseMapper responseMapper, IMappingMatcher mappingMatcher) { Check.NotNull(options, nameof(options)); Check.NotNull(requestMapper, nameof(requestMapper)); Check.NotNull(responseMapper, nameof(responseMapper)); Check.NotNull(mappingMatcher, nameof(mappingMatcher)); _options = options; _requestMapper = requestMapper; _responseMapper = responseMapper; _mappingMatcher = mappingMatcher; }
public OwinSelfHost([NotNull] IWireMockMiddlewareOptions options, [NotNull] HostUrlOptions urlOptions) { Check.NotNull(options, nameof(options)); Check.NotNull(urlOptions, nameof(urlOptions)); _options = options; _logger = options.Logger ?? new WireMockConsoleLogger(); foreach (var detail in urlOptions.GetDetails()) { Urls.Add(detail.Url); Ports.Add(detail.Port); } }
public IgnorePrefixesMiddleware(OwinMiddleware p_next, IWireMockMiddlewareOptions p_options) : base(p_next) { Check.NotNull(p_options, nameof(p_options)); m_matchers = new List <WildcardMatcher>(); m_options = p_options; if (m_options.IgnorePrefixURLs != null) { foreach (string prefix in m_options.IgnorePrefixURLs) { m_matchers.Add(new WildcardMatcher(prefix, true)); } } }
public OwinSelfHost([NotNull] IWireMockMiddlewareOptions options, [NotNull] params string[] uriPrefixes) { Check.NotNull(options, nameof(options)); Check.NotNullOrEmpty(uriPrefixes, nameof(uriPrefixes)); _logger = options.Logger ?? new WireMockConsoleLogger(); foreach (string uriPrefix in uriPrefixes) { Urls.Add(uriPrefix); PortUtils.TryExtract(uriPrefix, out string protocol, out string host, out int port); Ports.Add(port); } _options = options; }
/// <inheritdoc cref="IOwinRequestMapper.MapAsync"/> public async Task <RequestMessage> MapAsync(IRequest request, IWireMockMiddlewareOptions options) { (UrlDetails urldetails, string clientIP) = ParseRequest(request); string method = request.Method; Dictionary <string, string[]> headers = null; if (request.Headers.Any()) { headers = new Dictionary <string, string[]>(); foreach (var header in request.Headers) { headers.Add(header.Key, header.Value); } } IDictionary <string, string> cookies = null; if (request.Cookies.Any()) { cookies = new Dictionary <string, string>(); foreach (var cookie in request.Cookies) { cookies.Add(cookie.Key, cookie.Value); } } BodyData body = null; if (request.Body != null && BodyParser.ShouldParseBody(method, options.AllowBodyForAllHttpMethods == true)) { body = await BodyParser.Parse(request.Body, request.ContentType, !options.DisableJsonBodyParsing.GetValueOrDefault(false)); } return(new RequestMessage(urldetails, method, clientIP, body, headers, cookies) { DateTime = DateTime.UtcNow }); }
private static void SetHttpsAndUrls(KestrelServerOptions options, IWireMockMiddlewareOptions wireMockMiddlewareOptions, IEnumerable <HostUrlDetails> urlDetails) { foreach (var urlDetail in urlDetails) { if (urlDetail.IsHttps) { if (wireMockMiddlewareOptions.CustomCertificateDefined) { options.UseHttps(CertificateLoader.LoadCertificate( wireMockMiddlewareOptions.X509StoreName, wireMockMiddlewareOptions.X509StoreLocation, wireMockMiddlewareOptions.X509ThumbprintOrSubjectName, wireMockMiddlewareOptions.X509CertificateFilePath, wireMockMiddlewareOptions.X509CertificatePassword, urlDetail.Host) ); } else { options.UseHttps(PublicCertificateHelper.GetX509Certificate2()); } } } }
/// <summary> /// Constructor /// </summary> /// <param name="options">The IWireMockMiddlewareOptions.</param> public OwinResponseMapper(IWireMockMiddlewareOptions options) { Check.NotNull(options, nameof(options)); _options = options; }
public MappingMatcher(IWireMockMiddlewareOptions options) { Check.NotNull(options, nameof(options)); _options = options; }