From de5277d258a65b13dc751dd24ad37182940fe6dc Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Sun, 20 Aug 2017 19:20:42 +0200 Subject: [PATCH] settings --- src/WireMock.Net.StandAlone/StandAloneApp.cs | 31 ++++++++++++++++++-- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/src/WireMock.Net.StandAlone/StandAloneApp.cs b/src/WireMock.Net.StandAlone/StandAloneApp.cs index a8482873..5789534c 100644 --- a/src/WireMock.Net.StandAlone/StandAloneApp.cs +++ b/src/WireMock.Net.StandAlone/StandAloneApp.cs @@ -7,6 +7,7 @@ using WireMock.Server; using WireMock.Settings; using WireMock.Validation; using JetBrains.Annotations; +using Newtonsoft.Json; namespace WireMock.Net.StandAlone { @@ -17,6 +18,9 @@ namespace WireMock.Net.StandAlone { private class Options { + [ValueArgument(typeof(int), "Port", Description = "Port to listen on.", Optional = true)] + public int? Port { get; set; } + [ValueArgument(typeof(string), "Urls", Description = "URL(s) to listen on.", Optional = true, AllowMultiple = true)] public List Urls { get; set; } @@ -87,16 +91,35 @@ namespace WireMock.Net.StandAlone var settings = new FluentMockServerSettings { - Urls = options.Urls.ToArray(), StartAdminInterface = options.StartAdminInterface, ReadStaticMappings = options.ReadStaticMappings, AllowPartialMapping = options.AllowPartialMapping, AdminUsername = options.AdminUsername, AdminPassword = options.AdminPassword, - RequestLogExpirationDuration = options.RequestLogExpirationDuration, - MaxRequestLogCount = options.MaxRequestLogCount + MaxRequestLogCount = options.MaxRequestLogCount, + RequestLogExpirationDuration = options.RequestLogExpirationDuration + }; + if (options.Port != null) + { + settings.Port = options.Port; + } + else if (options.Urls != null) + { + settings.Urls = options.Urls.ToArray(); + } + + // if (options.MaxRequestLogCount > 0) + // { + // settings.MaxRequestLogCount = options.MaxRequestLogCount; + // } + + // if (options.RequestLogExpirationDuration > 0) + // { + // settings.RequestLogExpirationDuration = options.RequestLogExpirationDuration; + // } + if (!string.IsNullOrEmpty(options.ProxyURL)) { settings.ProxyAndRecordSettings = new ProxyAndRecordSettings @@ -107,6 +130,8 @@ namespace WireMock.Net.StandAlone }; } + Console.WriteLine("WireMock.Net server settings {0}", JsonConvert.SerializeObject(settings, Formatting.Indented)); + FluentMockServer server = Start(settings); Console.WriteLine("WireMock.Net server listening at {0}", string.Join(" and ", server.Urls));