diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d4b5702a8..07f4e069b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,8 +23,9 @@ steps: - script: | %USERPROFILE%\.dotnet\tools\dotnet-sonarscanner begin /k:"wiremock" /d:sonar.organization="stefh-github" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="$(SONAR_TOKEN)" /v:"$(buildId)" /d:sonar.cs.opencover.reportsPaths="**\coverage.opencover.xml" -# Build source, tests and run tests +# Build source, tests and run tests for net452 and netcoreapp2.1 (with coverage) - script: | + dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration $(buildConfiguration) --framework net452 dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration $(buildConfiguration) --framework netcoreapp2.1 --logger trx /p:CollectCoverage=true /p:CoverletOutputFormat=opencover # End SonarScanner diff --git a/build-info.md b/build-info.md new file mode 100644 index 000000000..c97c14a63 --- /dev/null +++ b/build-info.md @@ -0,0 +1,11 @@ +# Build info +For building and running all code in VSCode: + +- download nuget.exe from https://www.nuget.org/downloads +- copy nuget.exe to a folder which is listed in the path or just in c:\Windows +- go to the root from this project and run `nuget restore` +- all packages are now restored into the `WireMock.Net\packages` folder + +### Note +An example project like `WireMock.Net.Console.Net452.Classic` still shows some red errors in VSCode, but you can just run `dotnet build`. +But you can just execute `.\bin\Debug\WireMock.Net.ConsoleApplication.exe` to run the application \ No newline at end of file diff --git a/examples/WireMock.Net.Console.Net452.Classic/App.config b/examples/WireMock.Net.Console.Net452.Classic/App.config index 302a320b9..03644c1ce 100644 --- a/examples/WireMock.Net.Console.Net452.Classic/App.config +++ b/examples/WireMock.Net.Console.Net452.Classic/App.config @@ -3,12 +3,4 @@ - - - - - - - - \ No newline at end of file diff --git a/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs b/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs index b34d6dbd4..b65cf86cc 100644 --- a/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs +++ b/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs @@ -57,6 +57,14 @@ public static void Run() .WithHeader("Keep-Alive", "timeout=1, max=1") ); + server + .Given(Request.Create() + .WithPath("/httpbin") + ) + .RespondWith(Response.Create() + .WithProxy(new ProxyAndRecordSettings { Url = "http://httpbin.org" }) + ); + server .Given(Request.Create() .UsingGet() @@ -140,6 +148,11 @@ public static void Run() .WithHeader("Content-Type", "application/json") .WithBodyAsJson(new { result = "data:headers posted with 201" })); + if (!System.IO.File.Exists(@"c:\temp\x.json")) + { + System.IO.File.WriteAllText(@"c:\temp\x.json", "{ \"hello\": \"world\", \"answer\": 42 }"); + } + server .Given(Request.Create().WithPath("/file").UsingGet()) .RespondWith(Response.Create() diff --git a/report/coverage.info b/report/coverage.info new file mode 100644 index 000000000..d5905d011 --- /dev/null +++ b/report/coverage.info @@ -0,0 +1,6868 @@ +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Mapping.cs +FN:16,System.Guid WireMock.Mapping::get_Guid() +FNDA:587,System.Guid WireMock.Mapping::get_Guid() +DA:17,587 +FN:21,System.String WireMock.Mapping::get_Title() +FNDA:58,System.String WireMock.Mapping::get_Title() +DA:22,58 +FN:26,System.String WireMock.Mapping::get_Path() +FNDA:265,System.String WireMock.Mapping::get_Path() +DA:27,265 +FN:31,System.Int32 WireMock.Mapping::get_Priority() +FNDA:134,System.Int32 WireMock.Mapping::get_Priority() +DA:32,134 +FN:37,System.String WireMock.Mapping::get_Scenario() +FNDA:1076,System.String WireMock.Mapping::get_Scenario() +DA:38,1076 +FN:43,System.String WireMock.Mapping::get_ExecutionConditionState() +FNDA:37,System.String WireMock.Mapping::get_ExecutionConditionState() +DA:44,37 +FN:50,System.String WireMock.Mapping::get_NextState() +FNDA:27,System.String WireMock.Mapping::get_NextState() +DA:51,27 +FN:55,WireMock.Matchers.Request.IRequestMatcher WireMock.Mapping::get_RequestMatcher() +FNDA:300,WireMock.Matchers.Request.IRequestMatcher WireMock.Mapping::get_RequestMatcher() +DA:56,300 +FN:60,WireMock.ResponseProviders.IResponseProvider WireMock.Mapping::get_Provider() +FNDA:507,WireMock.ResponseProviders.IResponseProvider WireMock.Mapping::get_Provider() +DA:61,507 +FN:65,System.Boolean WireMock.Mapping::get_IsStartState() +FNDA:7,System.Boolean WireMock.Mapping::get_IsStartState() +DA:66,7 +BRDA:66,6,0,7 +BRDA:66,14,0,7 +BRDA:66,22,0,5 +BRDA:66,14,1,2 +BRDA:66,22,1,2 +BRDA:66,6,1,0 +FN:109,WireMock.Matchers.Request.RequestMatchResult WireMock.Mapping::GetRequestMatchResult(WireMock.RequestMessage,System.String) +FNDA:295,WireMock.Matchers.Request.RequestMatchResult WireMock.Mapping::GetRequestMatchResult(WireMock.RequestMessage,System.String) +DA:110,295 +DA:111,295 +DA:113,295 +DA:116,295 +DA:117,30 +DA:118,30 +DA:119,30 +DA:127,30 +DA:129,295 +DA:130,295 +BRDA:116,32,0,30 +BRDA:116,32,1,295 +FN:137,System.Boolean WireMock.Mapping::get_IsAdminInterface() +FNDA:166,System.Boolean WireMock.Mapping::get_IsAdminInterface() +DA:138,166 +BRDA:138,11,0,142 +BRDA:138,24,0,142 +BRDA:138,11,1,24 +BRDA:138,24,1,24 +FN:79,System.Void WireMock.Mapping::.ctor(System.Guid,System.String,System.String,WireMock.Matchers.Request.IRequestMatcher,WireMock.ResponseProviders.IResponseProvider,System.Int32,System.String,System.String,System.String) +FNDA:265,System.Void WireMock.Mapping::.ctor(System.Guid,System.String,System.String,WireMock.Matchers.Request.IRequestMatcher,WireMock.ResponseProviders.IResponseProvider,System.Int32,System.String,System.String,System.String) +DA:80,265 +DA:81,265 +DA:82,265 +DA:83,265 +DA:84,265 +DA:85,265 +DA:86,265 +DA:87,265 +DA:88,265 +DA:89,265 +DA:90,265 +DA:91,265 +FN:98,System.Void WireMock.Mapping/d__31::MoveNext() +FNDA:51,System.Void WireMock.Mapping/d__31::MoveNext() +DA:99,51 +DA:100,51 +DA:101,51 +BRDA:100,50,0,1 +BRDA:100,50,1,51 +LF:36 +LH:36 +BRF:14 +BRH:13 +FNF:14 +FNH:14 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\RequestMessage.cs +FN:20,System.String WireMock.RequestMessage::get_ClientIP() +FNDA:75,System.String WireMock.RequestMessage::get_ClientIP() +DA:21,75 +FN:25,System.String WireMock.RequestMessage::get_Url() +FNDA:77,System.String WireMock.RequestMessage::get_Url() +DA:26,77 +FN:30,System.String WireMock.RequestMessage::get_AbsoluteUrl() +FNDA:70,System.String WireMock.RequestMessage::get_AbsoluteUrl() +DA:31,70 +FN:35,System.DateTime WireMock.RequestMessage::get_DateTime() +FNDA:134,System.DateTime WireMock.RequestMessage::get_DateTime() +DA:36,134 +FN:40,System.String WireMock.RequestMessage::get_Path() +FNDA:672,System.String WireMock.RequestMessage::get_Path() +DA:41,672 +FN:45,System.String WireMock.RequestMessage::get_AbsolutePath() +FNDA:278,System.String WireMock.RequestMessage::get_AbsolutePath() +DA:46,278 +FN:50,System.String[] WireMock.RequestMessage::get_PathSegments() +FNDA:3,System.String[] WireMock.RequestMessage::get_PathSegments() +DA:51,3 +FN:55,System.String[] WireMock.RequestMessage::get_AbsolutePathSegments() +FNDA:1,System.String[] WireMock.RequestMessage::get_AbsolutePathSegments() +DA:56,1 +FN:60,System.String WireMock.RequestMessage::get_Method() +FNDA:372,System.String WireMock.RequestMessage::get_Method() +DA:61,372 +FN:65,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::get_Headers() +FNDA:202,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::get_Headers() +DA:66,202 +FN:70,System.Collections.Generic.IDictionary`2 WireMock.RequestMessage::get_Cookies() +FNDA:89,System.Collections.Generic.IDictionary`2 WireMock.RequestMessage::get_Cookies() +DA:71,89 +FN:75,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::get_Query() +FNDA:119,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::get_Query() +DA:76,119 +FN:80,System.String WireMock.RequestMessage::get_RawQuery() +FNDA:208,System.String WireMock.RequestMessage::get_RawQuery() +DA:81,208 +FN:85,System.String WireMock.RequestMessage::get_Body() +FNDA:138,System.String WireMock.RequestMessage::get_Body() +DA:86,138 +FN:90,System.Object WireMock.RequestMessage::get_BodyAsJson() +FNDA:335,System.Object WireMock.RequestMessage::get_BodyAsJson() +DA:91,335 +FN:95,System.Byte[] WireMock.RequestMessage::get_BodyAsBytes() +FNDA:295,System.Byte[] WireMock.RequestMessage::get_BodyAsBytes() +DA:96,295 +FN:100,System.String WireMock.RequestMessage::get_Host() +FNDA:209,System.String WireMock.RequestMessage::get_Host() +DA:101,209 +FN:105,System.String WireMock.RequestMessage::get_Protocol() +FNDA:209,System.String WireMock.RequestMessage::get_Protocol() +DA:106,209 +FN:110,System.Int32 WireMock.RequestMessage::get_Port() +FNDA:209,System.Int32 WireMock.RequestMessage::get_Port() +DA:111,209 +FN:115,System.String WireMock.RequestMessage::get_Origin() +FNDA:1,System.String WireMock.RequestMessage::get_Origin() +DA:116,1 +FN:120,System.Text.Encoding WireMock.RequestMessage::get_BodyEncoding() +FNDA:129,System.Text.Encoding WireMock.RequestMessage::get_BodyEncoding() +DA:121,129 +FN:164,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::ParseQuery(System.String) +FNDA:208,System.Collections.Generic.IDictionary`2> WireMock.RequestMessage::ParseQuery(System.String) +DA:165,208 +DA:166,208 +DA:167,195 +DA:168,195 +DA:171,13 +DA:172,13 +DA:173,13 +DA:174,13 +DA:176,13 +DA:177,13 +DA:178,13 +DA:179,33 +DA:180,33 +DA:181,33 +DA:182,33 +DA:183,28 +DA:184,28 +DA:185,28 +DA:186,13 +DA:187,33 +DA:188,30 +DA:189,30 +DA:190,30 +DA:191,30 +DA:192,13 +DA:193,33 +DA:194,33 +DA:195,208 +BRDA:166,9,0,195 +BRDA:166,9,1,13 +BRDA:171,29,0,13 +BRDA:171,29,1,13 +BRDA:176,71,0,1 +BRDA:176,71,1,13 +FN:202,WireMock.Util.WireMockList`1 WireMock.RequestMessage::GetParameter(System.String) +FNDA:16,WireMock.Util.WireMockList`1 WireMock.RequestMessage::GetParameter(System.String) +DA:203,16 +DA:204,16 +DA:205,2 +DA:206,2 +DA:209,14 +DA:210,16 +BRDA:204,12,0,2 +BRDA:204,12,1,14 +BRDA:209,31,0,0 +BRDA:209,31,1,14 +FN:131,System.Void WireMock.RequestMessage::.ctor(WireMock.Models.UrlDetails,System.String,System.String,WireMock.Util.BodyData,System.Collections.Generic.IDictionary`2,System.Collections.Generic.IDictionary`2) +FNDA:208,System.Void WireMock.RequestMessage::.ctor(WireMock.Models.UrlDetails,System.String,System.String,WireMock.Util.BodyData,System.Collections.Generic.IDictionary`2,System.Collections.Generic.IDictionary`2) +DA:132,208 +DA:133,208 +DA:134,208 +DA:135,208 +DA:136,208 +DA:138,208 +DA:139,208 +DA:140,208 +DA:141,208 +DA:142,208 +DA:143,208 +DA:145,208 +DA:146,208 +DA:147,208 +DA:148,208 +DA:150,208 +DA:151,208 +DA:153,208 +DA:154,208 +DA:155,208 +DA:156,208 +DA:158,446 +DA:159,208 +DA:160,208 +DA:161,208 +DA:162,208 +BRDA:153,307,0,122 +BRDA:153,307,1,86 +BRDA:154,327,0,122 +BRDA:154,327,1,86 +BRDA:155,347,0,122 +BRDA:155,347,1,86 +BRDA:156,368,0,122 +BRDA:156,368,1,86 +BRDA:158,389,0,123 +BRDA:158,389,1,85 +BRDA:158,402,0,1 +BRDA:158,402,1,85 +BRDA:158,433,0,1 +BRDA:158,433,1,85 +LF:81 +LH:81 +BRF:28 +BRH:27 +FNF:24 +FNH:24 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseMessage.cs +FN:16,System.Collections.Generic.IDictionary`2> WireMock.ResponseMessage::get_Headers() +FNDA:601,System.Collections.Generic.IDictionary`2> WireMock.ResponseMessage::get_Headers() +DA:17,601 +FN:21,System.Int32 WireMock.ResponseMessage::get_StatusCode() +FNDA:512,System.Int32 WireMock.ResponseMessage::get_StatusCode() +DA:22,512 +FN:26,System.String WireMock.ResponseMessage::get_BodyOriginal() +FNDA:88,System.String WireMock.ResponseMessage::get_BodyOriginal() +DA:27,88 +FN:31,System.String WireMock.ResponseMessage::get_BodyDestination() +FNDA:151,System.String WireMock.ResponseMessage::get_BodyDestination() +DA:32,151 +FN:36,System.String WireMock.ResponseMessage::get_Body() +FNDA:294,System.String WireMock.ResponseMessage::get_Body() +DA:37,294 +FN:41,System.Object WireMock.ResponseMessage::get_BodyAsJson() +FNDA:327,System.Object WireMock.ResponseMessage::get_BodyAsJson() +DA:42,327 +FN:46,System.Nullable`1 WireMock.ResponseMessage::get_BodyAsJsonIndented() +FNDA:38,System.Nullable`1 WireMock.ResponseMessage::get_BodyAsJsonIndented() +DA:47,38 +FN:51,System.Byte[] WireMock.ResponseMessage::get_BodyAsBytes() +FNDA:207,System.Byte[] WireMock.ResponseMessage::get_BodyAsBytes() +DA:52,207 +FN:56,System.String WireMock.ResponseMessage::get_BodyAsFile() +FNDA:137,System.String WireMock.ResponseMessage::get_BodyAsFile() +DA:57,137 +FN:61,System.Nullable`1 WireMock.ResponseMessage::get_BodyAsFileIsCached() +FNDA:74,System.Nullable`1 WireMock.ResponseMessage::get_BodyAsFileIsCached() +DA:62,74 +FN:66,System.Text.Encoding WireMock.ResponseMessage::get_BodyEncoding() +FNDA:566,System.Text.Encoding WireMock.ResponseMessage::get_BodyEncoding() +DA:67,566 +FN:74,System.Void WireMock.ResponseMessage::AddHeader(System.String,System.String) +FNDA:0,System.Void WireMock.ResponseMessage::AddHeader(System.String,System.String) +DA:75,0 +DA:76,0 +DA:77,0 +FN:84,System.Void WireMock.ResponseMessage::AddHeader(System.String,System.String[]) +FNDA:103,System.Void WireMock.ResponseMessage::AddHeader(System.String,System.String[]) +DA:85,103 +DA:86,103 +DA:88,103 +DA:89,103 +DA:90,103 +DA:92,103 +DA:93,103 +BRDA:88,27,0,103 +BRDA:88,27,1,0 +LF:21 +LH:18 +BRF:2 +BRH:1 +FNF:13 +FNH:12 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseMessageBuilder.cs +FN:14,WireMock.ResponseMessage WireMock.ResponseMessageBuilder::Create(System.String,System.Int32,System.Nullable`1) +FNDA:17,WireMock.ResponseMessage WireMock.ResponseMessageBuilder::Create(System.String,System.Int32,System.Nullable`1) +DA:15,17 +DA:16,17 +DA:17,17 +DA:18,17 +DA:19,17 +DA:20,17 +DA:21,17 +DA:23,17 +DA:24,17 +BRDA:16,28,0,0 +BRDA:16,28,1,17 +FN:10,System.Void WireMock.ResponseMessageBuilder::.cctor() +FNDA:1,System.Void WireMock.ResponseMessageBuilder::.cctor() +DA:11,1 +DA:12,1 +LF:11 +LH:11 +BRF:2 +BRH:1 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ScenarioState.cs +FN:10,System.String WireMock.ScenarioState::get_Name() +FNDA:7,System.String WireMock.ScenarioState::get_Name() +DA:11,7 +FN:15,System.String WireMock.ScenarioState::get_NextState() +FNDA:41,System.String WireMock.ScenarioState::get_NextState() +DA:16,41 +FN:20,System.Boolean WireMock.ScenarioState::get_Started() +FNDA:12,System.Boolean WireMock.ScenarioState::get_Started() +DA:21,12 +FN:25,System.Boolean WireMock.ScenarioState::get_Finished() +FNDA:12,System.Boolean WireMock.ScenarioState::get_Finished() +DA:26,12 +LF:4 +LH:4 +BRF:0 +BRH:0 +FNF:4 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Validation\Check.cs +FN:19,T WireMock.Validation.Check::Condition(T,System.Predicate`1,System.String) +FNDA:24,T WireMock.Validation.Check::Condition(T,System.Predicate`1,System.String) +DA:20,24 +DA:21,24 +DA:22,24 +DA:24,24 +DA:25,1 +DA:26,1 +DA:28,1 +DA:31,23 +DA:32,23 +BRDA:24,37,0,1 +BRDA:24,37,1,23 +FN:35,T WireMock.Validation.Check::NotNull(T,System.String) +FNDA:3884,T WireMock.Validation.Check::NotNull(T,System.String) +DA:36,3884 +DA:37,3884 +DA:38,2 +DA:39,2 +DA:41,2 +DA:44,3882 +DA:45,3882 +BRDA:37,12,0,2 +BRDA:37,12,1,3882 +FN:48,T WireMock.Validation.Check::NotNull(T,System.String,System.String) +FNDA:0,T WireMock.Validation.Check::NotNull(T,System.String,System.String) +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:58,0 +DA:59,0 +BRDA:50,12,0,0 +BRDA:50,12,1,0 +FN:62,System.Collections.Generic.IList`1 WireMock.Validation.Check::NotNullOrEmpty(System.Collections.Generic.IList`1,System.String) +FNDA:480,System.Collections.Generic.IList`1 WireMock.Validation.Check::NotNullOrEmpty(System.Collections.Generic.IList`1,System.String) +DA:63,480 +DA:64,480 +DA:66,480 +DA:67,0 +DA:68,0 +DA:70,0 +DA:73,480 +DA:74,480 +BRDA:66,20,0,0 +BRDA:66,20,1,480 +FN:77,System.String WireMock.Validation.Check::NotNullOrEmpty(System.String,System.String) +FNDA:36,System.String WireMock.Validation.Check::NotNullOrEmpty(System.String,System.String) +DA:78,36 +DA:79,36 +DA:80,36 +DA:81,2 +DA:82,2 +DA:83,2 +DA:84,34 +DA:85,0 +DA:86,0 +DA:87,0 +DA:89,36 +DA:90,2 +DA:91,2 +DA:93,2 +DA:96,34 +DA:97,34 +BRDA:80,9,0,2 +BRDA:80,9,1,34 +BRDA:84,38,0,0 +BRDA:84,38,1,36 +BRDA:89,60,0,2 +BRDA:89,60,1,34 +FN:99,System.String WireMock.Validation.Check::NullButNotEmpty(System.String,System.String) +FNDA:0,System.String WireMock.Validation.Check::NullButNotEmpty(System.String,System.String) +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:106,0 +DA:109,0 +DA:110,0 +BRDA:101,2,0,0 +BRDA:101,2,1,0 +BRDA:101,18,0,0 +BRDA:101,18,1,0 +FN:113,System.Collections.Generic.IList`1 WireMock.Validation.Check::HasNoNulls(System.Collections.Generic.IList`1,System.String) +FNDA:39,System.Collections.Generic.IList`1 WireMock.Validation.Check::HasNoNulls(System.Collections.Generic.IList`1,System.String) +DA:114,39 +DA:115,39 +DA:117,80 +DA:118,0 +DA:119,0 +DA:121,0 +DA:124,39 +DA:125,39 +BRDA:117,16,0,1 +BRDA:117,16,1,39 +BRDA:117,48,0,0 +BRDA:117,48,1,39 +FN:127,System.Type WireMock.Validation.Check::ValidEntityType(System.Type,System.String) +FNDA:0,System.Type WireMock.Validation.Check::ValidEntityType(System.Type,System.String) +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:136,0 +DA:137,0 +BRDA:129,17,0,0 +BRDA:129,17,1,0 +LF:71 +LH:39 +BRF:24 +BRH:13 +FNF:8 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Validation\CoreStrings.cs +FN:12,System.String WireMock.Validation.CoreStrings::ArgumentPropertyNull(System.String,System.String) +FNDA:0,System.String WireMock.Validation.CoreStrings::ArgumentPropertyNull(System.String,System.String) +DA:13,0 +DA:14,0 +DA:15,0 +FN:20,System.String WireMock.Validation.CoreStrings::ArgumentIsEmpty(System.String) +FNDA:0,System.String WireMock.Validation.CoreStrings::ArgumentIsEmpty(System.String) +DA:21,0 +DA:22,0 +DA:23,0 +FN:28,System.String WireMock.Validation.CoreStrings::InvalidEntityType(System.Type,System.String) +FNDA:0,System.String WireMock.Validation.CoreStrings::InvalidEntityType(System.Type,System.String) +DA:29,0 +DA:30,0 +DA:31,0 +FN:36,System.String WireMock.Validation.CoreStrings::CollectionArgumentIsEmpty(System.String) +FNDA:0,System.String WireMock.Validation.CoreStrings::CollectionArgumentIsEmpty(System.String) +DA:37,0 +DA:38,0 +DA:39,0 +LF:12 +LH:0 +BRF:0 +BRH:0 +FNF:4 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\BodyData.cs +FN:12,System.Text.Encoding WireMock.Util.BodyData::get_Encoding() +FNDA:110,System.Text.Encoding WireMock.Util.BodyData::get_Encoding() +DA:13,110 +FN:17,System.String WireMock.Util.BodyData::get_BodyAsString() +FNDA:151,System.String WireMock.Util.BodyData::get_BodyAsString() +DA:18,151 +FN:22,System.Object WireMock.Util.BodyData::get_BodyAsJson() +FNDA:122,System.Object WireMock.Util.BodyData::get_BodyAsJson() +DA:23,122 +FN:27,System.Byte[] WireMock.Util.BodyData::get_BodyAsBytes() +FNDA:94,System.Byte[] WireMock.Util.BodyData::get_BodyAsBytes() +DA:28,94 +LF:4 +LH:4 +BRF:0 +BRH:0 +FNF:4 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\BodyParser.cs +FN:12,System.Void WireMock.Util.BodyParser::.cctor() +FNDA:1,System.Void WireMock.Util.BodyParser::.cctor() +DA:13,1 +DA:14,1 +DA:15,1 +DA:16,1 +DA:17,1 +DA:19,1 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +FN:27,System.Void WireMock.Util.BodyParser/d__2::MoveNext() +FNDA:19,System.Void WireMock.Util.BodyParser/d__2::MoveNext() +DA:28,19 +DA:29,19 +DA:30,19 +DA:31,19 +DA:33,19 +DA:35,19 +BRDA:29,34,0,19 +BRDA:31,65,0,0 +BRDA:29,34,1,0 +BRDA:31,65,1,19 +FN:37,System.Void WireMock.Util.BodyParser/d__3::MoveNext() +FNDA:0,System.Void WireMock.Util.BodyParser/d__3::MoveNext() +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +BRDA:39,28,0,0 +BRDA:41,65,0,0 +BRDA:39,28,1,0 +BRDA:41,65,1,0 +FN:49,System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::b__0(System.String) +FNDA:101,System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::b__0(System.String) +DA:50,101 +FN:63,System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::b__1(System.String) +FNDA:26,System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::b__1(System.String) +DA:64,26 +FN:46,System.Void WireMock.Util.BodyParser/d__4::MoveNext() +FNDA:19,System.Void WireMock.Util.BodyParser/d__4::MoveNext() +DA:47,19 +DA:48,19 +DA:51,7 +DA:53,7 +DA:54,7 +DA:55,7 +DA:56,7 +DA:57,7 +DA:58,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:63,7 +DA:65,12 +DA:66,12 +DA:67,12 +DA:68,12 +DA:71,12 +DA:72,12 +DA:73,12 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,12 +DA:81,0 +DA:82,0 +DA:83,0 +DA:85,19 +DA:86,19 +BRDA:50,99,0,19 +BRDA:50,99,1,0 +BRDA:50,133,0,7 +BRDA:51,148,0,7 +BRDA:54,179,0,0 +BRDA:51,148,1,0 +BRDA:54,179,1,7 +BRDA:58,367,1,0 +BRDA:61,412,0,0 +BRDA:61,412,1,0 +BRDA:58,367,0,7 +BRDA:50,133,1,12 +BRDA:64,556,0,12 +BRDA:64,556,1,0 +BRDA:64,592,0,12 +BRDA:66,623,0,0 +BRDA:66,623,1,12 +BRDA:64,592,1,0 +BRDA:82,897,0,0 +BRDA:82,897,1,0 +LF:56 +LH:39 +BRF:28 +BRH:11 +FNF:6 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\ConcurentObservableCollection.cs +FN:33,System.Void WireMock.Util.ConcurentObservableCollection`1::ClearItems() +FNDA:9,System.Void WireMock.Util.ConcurentObservableCollection`1::ClearItems() +DA:34,9 +DA:35,9 +DA:36,9 +DA:37,9 +DA:38,9 +DA:39,9 +FN:42,System.Void WireMock.Util.ConcurentObservableCollection`1::RemoveItem(System.Int32) +FNDA:1,System.Void WireMock.Util.ConcurentObservableCollection`1::RemoveItem(System.Int32) +DA:43,1 +DA:44,1 +DA:45,1 +DA:46,1 +DA:47,1 +DA:48,1 +FN:51,System.Void WireMock.Util.ConcurentObservableCollection`1::InsertItem(System.Int32,T) +FNDA:57,System.Void WireMock.Util.ConcurentObservableCollection`1::InsertItem(System.Int32,T) +DA:52,57 +DA:53,57 +DA:54,57 +DA:55,57 +DA:56,57 +DA:57,57 +FN:60,System.Void WireMock.Util.ConcurentObservableCollection`1::SetItem(System.Int32,T) +FNDA:0,System.Void WireMock.Util.ConcurentObservableCollection`1::SetItem(System.Int32,T) +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +FN:69,System.Void WireMock.Util.ConcurentObservableCollection`1::MoveItem(System.Int32,System.Int32) +FNDA:0,System.Void WireMock.Util.ConcurentObservableCollection`1::MoveItem(System.Int32,System.Int32) +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +FN:12,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor() +FNDA:55,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor() +DA:13,55 +DA:18,165 +FN:23,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.List`1) +FNDA:0,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.List`1) +DA:24,0 +FN:29,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.IEnumerable`1) +FNDA:0,System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.IEnumerable`1) +DA:30,0 +LF:34 +LH:20 +BRF:0 +BRH:0 +FNF:8 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\DictionaryExtensions.cs +FN:20,System.Void WireMock.Util.DictionaryExtensions::Loop(System.Collections.Generic.IDictionary`2,System.Action`2) +FNDA:0,System.Void WireMock.Util.DictionaryExtensions::Loop(System.Collections.Generic.IDictionary`2,System.Action`2) +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +BRDA:24,19,0,0 +BRDA:26,68,1,0 +BRDA:26,68,0,0 +BRDA:24,19,1,0 +LF:10 +LH:0 +BRF:4 +BRH:0 +FNF:1 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\EnhancedFileSystemWatcher.cs +FN:35,System.Int32 WireMock.Util.EnhancedFileSystemWatcher::get_Interval() +FNDA:0,System.Int32 WireMock.Util.EnhancedFileSystemWatcher::get_Interval() +DA:36,0 +FN:37,System.Void WireMock.Util.EnhancedFileSystemWatcher::set_Interval(System.Int32) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::set_Interval(System.Int32) +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +FN:50,System.Boolean WireMock.Util.EnhancedFileSystemWatcher::get_FilterRecentEvents() +FNDA:0,System.Boolean WireMock.Util.EnhancedFileSystemWatcher::get_FilterRecentEvents() +DA:51,0 +FN:126,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.IO.FileSystemEventArgs) +DA:127,0 +DA:128,0 +DA:129,0 +BRDA:128,8,0,0 +BRDA:128,8,1,0 +FN:135,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.IO.FileSystemEventArgs) +DA:136,0 +DA:137,0 +DA:138,0 +BRDA:137,8,0,0 +BRDA:137,8,1,0 +FN:144,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.IO.FileSystemEventArgs) +DA:145,0 +DA:146,0 +DA:147,0 +BRDA:146,8,0,0 +BRDA:146,8,1,0 +FN:153,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.IO.RenamedEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.IO.RenamedEventArgs) +DA:154,0 +DA:155,0 +DA:156,0 +BRDA:155,8,0,0 +BRDA:155,8,1,0 +FN:166,System.Void WireMock.Util.EnhancedFileSystemWatcher::InitializeMembers(System.Int32) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::InitializeMembers(System.Int32) +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +FN:185,System.Boolean WireMock.Util.EnhancedFileSystemWatcher::HasAnotherFileEventOccuredRecently(System.String) +FNDA:0,System.Boolean WireMock.Util.EnhancedFileSystemWatcher::HasAnotherFileEventOccuredRecently(System.String) +DA:186,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:207,0 +DA:211,0 +DA:212,0 +DA:214,0 +DA:215,0 +BRDA:188,12,0,0 +BRDA:188,12,1,0 +BRDA:194,35,0,0 +BRDA:194,35,1,0 +FN:220,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.Object,System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.Object,System.IO.FileSystemEventArgs) +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +BRDA:222,18,0,0 +BRDA:222,18,1,0 +FN:228,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.Object,System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.Object,System.IO.FileSystemEventArgs) +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +BRDA:230,18,0,0 +BRDA:230,18,1,0 +FN:236,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.Object,System.IO.FileSystemEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.Object,System.IO.FileSystemEventArgs) +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +BRDA:238,18,0,0 +BRDA:238,18,1,0 +FN:244,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.Object,System.IO.RenamedEventArgs) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.Object,System.IO.RenamedEventArgs) +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +BRDA:246,18,0,0 +BRDA:246,18,1,0 +FN:58,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.Int32) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.Int32) +DA:59,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:64,0 +BRDA:61,15,0,0 +BRDA:61,15,1,0 +FN:70,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.Int32) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.Int32) +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:77,0 +BRDA:74,28,0,0 +BRDA:74,28,1,0 +FN:84,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.String,System.Int32) +FNDA:0,System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.String,System.Int32) +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:91,0 +DA:92,0 +BRDA:89,41,0,0 +BRDA:89,41,1,0 +LF:87 +LH:0 +BRF:26 +BRH:0 +FNF:16 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\FileHelper.cs +FN:14,System.String WireMock.Util.FileHelper::ReadAllTextWithRetryAndDelay(WireMock.Handlers.IFileSystemHandler,System.String) +FNDA:2,System.String WireMock.Util.FileHelper::ReadAllTextWithRetryAndDelay(WireMock.Handlers.IFileSystemHandler,System.String) +DA:15,2 +DA:16,2 +DA:17,2 +DA:19,10 +DA:20,4 +DA:22,4 +DA:23,4 +DA:25,3 +DA:26,3 +DA:27,3 +DA:28,3 +DA:29,3 +DA:31,1 +DA:32,1 +BRDA:19,71,1,4 +BRDA:19,71,0,1 +LF:14 +LH:14 +BRF:2 +BRH:2 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\JsonUtils.cs +FN:11,T WireMock.Util.JsonUtils::ParseJTokenToObject(System.Object) +FNDA:11,T WireMock.Util.JsonUtils::ParseJTokenToObject(System.Object) +DA:12,11 +DA:13,11 +DA:16,10 +DA:19,1 +DA:21,11 +BRDA:13,6,1,11 +BRDA:13,18,0,10 +BRDA:13,6,0,1 +BRDA:13,18,1,1 +FN:23,System.String WireMock.Util.JsonUtils::GenerateDynamicLinqStatement(Newtonsoft.Json.Linq.JToken) +FNDA:11,System.String WireMock.Util.JsonUtils::GenerateDynamicLinqStatement(Newtonsoft.Json.Linq.JToken) +DA:24,11 +DA:25,11 +DA:26,11 +DA:28,10 +DA:29,10 +FN:31,System.Void WireMock.Util.JsonUtils::WalkNode(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1) +FNDA:41,System.Void WireMock.Util.JsonUtils::WalkNode(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1) +DA:32,41 +DA:33,41 +DA:34,10 +DA:35,10 +DA:36,9 +DA:37,31 +DA:38,1 +DA:39,1 +DA:40,1 +DA:42,30 +DA:43,30 +DA:44,29 +DA:45,39 +BRDA:33,12,0,10 +BRDA:33,12,1,31 +BRDA:37,38,0,1 +BRDA:37,38,1,30 +BRDA:43,57,0,2 +BRDA:43,57,1,30 +FN:47,System.Void WireMock.Util.JsonUtils::ProcessObject(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1) +FNDA:10,System.Void WireMock.Util.JsonUtils::ProcessObject(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1) +DA:48,10 +DA:49,10 +DA:50,10 +DA:53,85 +DA:54,28 +DA:55,28 +DA:56,27 +DA:58,9 +DA:59,9 +DA:61,9 +DA:62,1 +DA:63,1 +DA:64,1 +DA:66,9 +DA:67,9 +BRDA:53,83,1,28 +BRDA:53,83,0,9 +BRDA:61,128,0,1 +BRDA:61,128,1,9 +FN:69,System.Void WireMock.Util.JsonUtils::ProcessArray(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1) +FNDA:1,System.Void WireMock.Util.JsonUtils::ProcessArray(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1) +DA:70,1 +DA:71,1 +DA:72,1 +DA:75,1 +DA:76,7 +DA:77,2 +DA:78,2 +DA:79,2 +DA:80,2 +DA:82,1 +DA:83,1 +DA:85,1 +DA:86,1 +DA:87,1 +DA:88,1 +DA:90,1 +DA:91,1 +BRDA:76,98,1,2 +BRDA:76,98,0,1 +BRDA:85,143,0,1 +BRDA:85,143,1,1 +FN:93,System.Void WireMock.Util.JsonUtils::ProcessItem(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1) +FNDA:30,System.Void WireMock.Util.JsonUtils::ProcessItem(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1) +DA:94,30 +DA:95,30 +DA:96,30 +DA:99,1 +DA:100,1 +DA:103,1 +DA:104,1 +DA:107,2 +DA:108,2 +DA:111,1 +DA:112,1 +DA:115,11 +DA:116,11 +DA:119,1 +DA:120,1 +DA:123,10 +DA:124,10 +DA:127,1 +DA:128,1 +DA:131,1 +DA:132,1 +DA:135,1 +DA:136,1 +DA:139,29 +DA:140,25 +DA:141,25 +DA:142,25 +DA:144,29 +DA:145,29 +BRDA:96,17,4,1 +BRDA:96,17,7,1 +BRDA:96,17,2,2 +BRDA:96,17,10,1 +BRDA:96,17,1,11 +BRDA:96,17,5,1 +BRDA:96,17,3,10 +BRDA:96,17,12,1 +BRDA:96,17,11,1 +BRDA:96,17,0,1 +BRDA:96,17,6,1 +BRDA:96,17,8,1 +BRDA:96,17,9,1 +BRDA:139,233,0,25 +BRDA:139,233,1,29 +LF:84 +LH:84 +BRF:33 +BRH:33 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\PortUtils.cs +FN:18,System.Int32 WireMock.Util.PortUtils::FindFreeTcpPort() +FNDA:54,System.Int32 WireMock.Util.PortUtils::FindFreeTcpPort() +DA:19,54 +DA:20,54 +DA:22,54 +DA:23,54 +DA:24,54 +DA:26,54 +DA:29,54 +DA:30,54 +DA:31,54 +DA:32,54 +BRDA:30,44,1,54 +BRDA:30,44,0,54 +FN:37,System.Boolean WireMock.Util.PortUtils::TryExtract(System.String,System.String&,System.String&,System.Int32&) +FNDA:114,System.Boolean WireMock.Util.PortUtils::TryExtract(System.String,System.String&,System.String&,System.Int32&) +DA:38,114 +DA:39,114 +DA:40,114 +DA:41,114 +DA:43,114 +DA:44,114 +DA:45,112 +DA:46,112 +DA:47,112 +DA:49,112 +DA:52,2 +DA:53,114 +BRDA:44,30,0,112 +BRDA:44,30,1,2 +FN:11,System.Void WireMock.Util.PortUtils::.cctor() +FNDA:1,System.Void WireMock.Util.PortUtils::.cctor() +DA:12,1 +LF:23 +LH:23 +BRF:4 +BRH:4 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\RegexUtils.cs +FN:8,System.Collections.Generic.Dictionary`2 WireMock.Util.RegexUtils::GetNamedGroups(System.Text.RegularExpressions.Regex,System.String) +FNDA:3,System.Collections.Generic.Dictionary`2 WireMock.Util.RegexUtils::GetNamedGroups(System.Text.RegularExpressions.Regex,System.String) +DA:9,3 +DA:10,3 +DA:12,3 +DA:13,27 +DA:14,9 +DA:15,9 +DA:16,3 +DA:17,3 +DA:18,3 +DA:19,9 +DA:21,3 +DA:22,3 +BRDA:13,98,1,9 +BRDA:15,63,0,3 +BRDA:15,63,1,9 +BRDA:13,98,0,3 +LF:12 +LH:12 +BRF:4 +BRH:4 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\UrlUtils.cs +FN:14,WireMock.Models.UrlDetails WireMock.Util.UrlUtils::Parse(System.Uri,Microsoft.AspNetCore.Http.PathString) +FNDA:70,WireMock.Models.UrlDetails WireMock.Util.UrlUtils::Parse(System.Uri,Microsoft.AspNetCore.Http.PathString) +DA:15,70 +DA:16,70 +DA:17,66 +DA:18,66 +DA:21,4 +DA:22,4 +DA:24,4 +DA:25,70 +BRDA:16,13,0,66 +BRDA:16,13,1,4 +FN:27,System.String WireMock.Util.UrlUtils::RemoveFirst(System.String,System.String) +FNDA:4,System.String WireMock.Util.UrlUtils::RemoveFirst(System.String,System.String) +DA:28,4 +DA:29,4 +DA:30,4 +DA:31,1 +DA:32,1 +DA:35,3 +DA:36,4 +BRDA:30,15,0,1 +BRDA:30,15,1,3 +LF:15 +LH:15 +BRF:4 +BRH:4 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\WireMockList.cs +FN:39,System.String WireMock.Util.WireMockList`1::ToString() +FNDA:11,System.String WireMock.Util.WireMockList`1::ToString() +DA:40,11 +DA:41,11 +DA:42,11 +BRDA:41,7,0,0 +BRDA:41,7,1,11 +FN:15,System.Void WireMock.Util.WireMockList`1::.ctor() +FNDA:30,System.Void WireMock.Util.WireMockList`1::.ctor() +DA:16,30 +DA:17,30 +DA:18,30 +FN:23,System.Void WireMock.Util.WireMockList`1::.ctor(T[]) +FNDA:242,System.Void WireMock.Util.WireMockList`1::.ctor(T[]) +DA:24,242 +DA:25,242 +DA:26,242 +FN:31,System.Void WireMock.Util.WireMockList`1::.ctor(System.Collections.Generic.IEnumerable`1) +FNDA:0,System.Void WireMock.Util.WireMockList`1::.ctor(System.Collections.Generic.IEnumerable`1) +DA:32,0 +DA:33,0 +DA:34,0 +LF:12 +LH:9 +BRF:2 +BRH:1 +FNF:4 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsHelpers.cs +FN:5,System.Void WireMock.Transformers.HandlebarsHelpers::Register() +FNDA:1,System.Void WireMock.Transformers.HandlebarsHelpers::Register() +DA:6,1 +DA:7,1 +DA:9,1 +DA:11,1 +DA:12,1 +LF:5 +LH:5 +BRF:0 +BRH:0 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsJsonPath.cs +FN:12,System.Void WireMock.Transformers.HandleBarsJsonPath::Register() +FNDA:1,System.Void WireMock.Transformers.HandleBarsJsonPath::Register() +DA:13,1 +DA:14,1 +DA:15,5 +DA:16,5 +DA:17,1 +DA:18,1 +DA:19,5 +DA:20,5 +DA:21,5 +DA:22,5 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:27,5 +DA:29,1 +DA:30,4 +DA:31,4 +DA:32,1 +DA:33,1 +DA:34,3 +DA:35,3 +DA:36,3 +DA:37,3 +DA:38,11 +DA:39,3 +DA:40,3 +DA:41,1 +DA:42,1 +DA:43,1 +DA:44,1 +DA:45,3 +DA:46,1 +BRDA:14,12,0,1 +BRDA:14,12,1,1 +BRDA:29,54,0,1 +BRDA:29,54,1,1 +FN:48,System.ValueTuple`2 WireMock.Transformers.HandleBarsJsonPath::ParseArguments(System.Object[]) +FNDA:7,System.ValueTuple`2 WireMock.Transformers.HandleBarsJsonPath::ParseArguments(System.Object[]) +DA:49,7 +DA:50,14 +DA:51,7 +DA:52,6 +DA:56,6 +DA:59,4 +DA:60,4 +DA:63,2 +DA:64,2 +DA:67,0 +DA:70,6 +DA:71,6 +BRDA:50,8,0,1 +BRDA:50,8,1,7 +BRDA:56,86,1,6 +BRDA:56,98,1,2 +BRDA:56,98,0,4 +BRDA:56,110,0,2 +BRDA:56,86,0,0 +BRDA:56,110,1,0 +BRDA:67,153,0,0 +BRDA:67,153,1,0 +LF:45 +LH:44 +BRF:20 +BRH:16 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsLinq.cs +FN:14,System.Void WireMock.Transformers.HandleBarsLinq::Register() +FNDA:1,System.Void WireMock.Transformers.HandleBarsLinq::Register() +DA:15,1 +DA:16,1 +DA:17,8 +DA:18,8 +DA:19,1 +DA:20,1 +DA:21,5 +DA:22,5 +DA:23,4 +DA:24,4 +DA:25,2 +DA:26,2 +DA:27,1 +DA:28,2 +DA:29,5 +DA:31,1 +DA:32,3 +DA:33,3 +DA:34,1 +DA:35,1 +DA:36,3 +DA:37,3 +DA:38,2 +DA:39,2 +DA:40,2 +DA:41,2 +DA:42,1 +DA:43,2 +DA:44,3 +DA:45,1 +BRDA:16,12,0,1 +BRDA:16,12,1,1 +BRDA:31,54,0,1 +BRDA:31,54,1,1 +FN:47,System.Object WireMock.Transformers.HandleBarsLinq::ExecuteDynamicLinq(Newtonsoft.Json.Linq.JToken,System.String) +FNDA:6,System.Object WireMock.Transformers.HandleBarsLinq::ExecuteDynamicLinq(Newtonsoft.Json.Linq.JToken,System.String) +DA:48,6 +DA:50,6 +DA:53,6 +DA:56,6 +DA:59,6 +DA:60,4 +FN:62,System.ValueTuple`2 WireMock.Transformers.HandleBarsLinq::ParseArguments(System.Object[]) +FNDA:9,System.ValueTuple`2 WireMock.Transformers.HandleBarsLinq::ParseArguments(System.Object[]) +DA:63,9 +DA:64,18 +DA:65,8 +DA:66,7 +DA:69,7 +DA:72,1 +DA:73,1 +DA:76,5 +DA:77,5 +DA:80,1 +DA:83,6 +DA:84,6 +BRDA:64,8,0,1 +BRDA:64,8,1,9 +BRDA:69,86,1,7 +BRDA:69,98,1,6 +BRDA:69,98,0,1 +BRDA:69,110,0,5 +BRDA:69,86,0,1 +BRDA:69,110,1,1 +BRDA:80,153,0,0 +BRDA:80,153,1,1 +LF:48 +LH:48 +BRF:16 +BRH:15 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsRegex.cs +FN:12,System.Void WireMock.Transformers.HandleBarsRegex::Register() +FNDA:1,System.Void WireMock.Transformers.HandleBarsRegex::Register() +DA:13,1 +DA:14,1 +DA:15,4 +DA:16,4 +DA:17,1 +DA:18,4 +DA:19,1 +DA:20,4 +DA:21,2 +DA:22,2 +DA:23,2 +DA:24,3 +DA:25,2 +DA:26,2 +DA:27,2 +DA:28,4 +DA:30,1 +DA:31,5 +DA:32,5 +DA:33,1 +DA:34,4 +DA:35,4 +DA:36,4 +DA:37,2 +DA:38,2 +DA:39,2 +DA:40,3 +DA:41,2 +DA:42,2 +DA:43,2 +DA:44,4 +DA:45,1 +BRDA:14,12,0,1 +BRDA:14,12,1,1 +BRDA:30,54,0,1 +BRDA:30,54,1,1 +FN:47,System.ValueTuple`3 WireMock.Transformers.HandleBarsRegex::ParseArguments(System.Object[]) +FNDA:7,System.ValueTuple`3 WireMock.Transformers.HandleBarsRegex::ParseArguments(System.Object[]) +DA:48,7 +DA:49,14 +DA:63,7 +DA:64,6 +BRDA:49,8,0,3 +BRDA:49,8,1,12 +BRDA:63,65,0,4 +BRDA:63,65,1,2 +FN:51,System.String WireMock.Transformers.HandleBarsRegex::g__ParseAsString|1_1(System.Object) +FNDA:13,System.String WireMock.Transformers.HandleBarsRegex::g__ParseAsString|1_1(System.Object) +DA:52,13 +DA:53,13 +DA:54,12 +DA:55,12 +DA:58,1 +DA:59,1 +DA:61,12 +BRDA:53,12,0,12 +BRDA:53,12,1,1 +BRDA:59,32,0,1 +BRDA:59,32,1,0 +LF:43 +LH:43 +BRF:20 +BRH:19 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\ResponseMessageTransformer.cs +FN:18,WireMock.ResponseMessage WireMock.Transformers.ResponseMessageTransformer::Transform(WireMock.RequestMessage,WireMock.ResponseMessage) +FNDA:32,WireMock.ResponseMessage WireMock.Transformers.ResponseMessageTransformer::Transform(WireMock.RequestMessage,WireMock.ResponseMessage) +DA:19,32 +DA:20,32 +DA:21,32 +DA:23,32 +DA:24,19 +DA:25,19 +DA:26,19 +DA:28,32 +DA:30,32 +DA:31,19 +DA:32,19 +DA:33,17 +DA:35,13 +DA:36,13 +DA:37,10 +DA:40,27 +DA:41,105 +DA:42,12 +DA:43,12 +DA:44,12 +DA:45,12 +DA:46,25 +DA:47,12 +DA:49,12 +DA:50,12 +DA:52,27 +DA:54,27 +DA:55,27 +BRDA:23,44,0,19 +BRDA:23,44,1,32 +BRDA:30,81,0,19 +BRDA:30,81,1,13 +BRDA:41,267,1,12 +BRDA:44,194,0,12 +BRDA:44,194,1,12 +BRDA:41,267,0,27 +FN:57,System.Void WireMock.Transformers.ResponseMessageTransformer::TransformBodyAsJson(System.Object,WireMock.ResponseMessage,WireMock.ResponseMessage) +FNDA:13,System.Void WireMock.Transformers.ResponseMessageTransformer::TransformBodyAsJson(System.Object,WireMock.ResponseMessage,WireMock.ResponseMessage) +DA:58,13 +DA:60,13 +DA:63,0 +DA:64,0 +DA:67,1 +DA:68,1 +DA:71,12 +DA:72,12 +DA:75,13 +DA:77,10 +DA:78,10 +BRDA:60,13,1,13 +BRDA:60,25,1,13 +BRDA:60,25,0,0 +BRDA:60,37,0,1 +BRDA:60,13,0,12 +BRDA:60,37,1,12 +FN:80,System.Void WireMock.Transformers.ResponseMessageTransformer::WalkNode(Newtonsoft.Json.Linq.JToken,System.Object) +FNDA:30,System.Void WireMock.Transformers.ResponseMessageTransformer::WalkNode(Newtonsoft.Json.Linq.JToken,System.Object) +DA:81,30 +DA:82,30 +DA:83,12 +DA:85,57 +DA:86,12 +DA:87,12 +DA:88,9 +DA:89,9 +DA:90,18 +DA:91,1 +DA:93,13 +DA:94,5 +DA:95,5 +DA:96,5 +DA:97,1 +DA:98,17 +DA:99,17 +DA:101,17 +DA:102,17 +DA:103,0 +DA:104,0 +DA:107,17 +DA:108,17 +DA:109,14 +DA:110,12 +DA:113,12 +DA:115,12 +DA:116,2 +DA:117,10 +DA:118,10 +DA:120,10 +DA:121,10 +DA:123,12 +DA:124,12 +DA:125,14 +DA:126,24 +BRDA:82,12,0,12 +BRDA:85,64,1,12 +BRDA:85,64,0,9 +BRDA:82,12,1,18 +BRDA:90,85,0,1 +BRDA:93,142,1,5 +BRDA:93,142,0,1 +BRDA:90,85,1,17 +BRDA:98,160,0,17 +BRDA:102,182,0,0 +BRDA:102,182,1,17 +BRDA:109,222,0,12 +BRDA:109,222,1,14 +BRDA:98,160,1,24 +FN:128,System.Void WireMock.Transformers.ResponseMessageTransformer::TransformBodyAsString(System.Object,WireMock.ResponseMessage,WireMock.ResponseMessage) +FNDA:19,System.Void WireMock.Transformers.ResponseMessageTransformer::TransformBodyAsString(System.Object,WireMock.ResponseMessage,WireMock.ResponseMessage) +DA:129,19 +DA:130,19 +DA:132,19 +DA:133,17 +FN:13,System.Void WireMock.Transformers.ResponseMessageTransformer::.cctor() +FNDA:1,System.Void WireMock.Transformers.ResponseMessageTransformer::.cctor() +DA:14,1 +DA:15,1 +DA:16,1 +LF:82 +LH:78 +BRF:28 +BRH:26 +FNF:5 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Settings\FluentMockServerSettings.cs +FN:15,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_Port() +FNDA:148,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_Port() +DA:16,148 +FN:20,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_UseSSL() +FNDA:149,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_UseSSL() +DA:21,149 +FN:24,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_StartAdminInterface() +FNDA:124,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_StartAdminInterface() +DA:25,124 +FN:28,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_ReadStaticMappings() +FNDA:110,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_ReadStaticMappings() +DA:29,110 +FN:32,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_WatchStaticMappings() +FNDA:110,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_WatchStaticMappings() +DA:33,110 +FN:36,WireMock.Settings.IProxyAndRecordSettings WireMock.Settings.FluentMockServerSettings::get_ProxyAndRecordSettings() +FNDA:116,WireMock.Settings.IProxyAndRecordSettings WireMock.Settings.FluentMockServerSettings::get_ProxyAndRecordSettings() +DA:37,116 +FN:40,System.String[] WireMock.Settings.FluentMockServerSettings::get_Urls() +FNDA:112,System.String[] WireMock.Settings.FluentMockServerSettings::get_Urls() +DA:41,112 +FN:44,System.Int32 WireMock.Settings.FluentMockServerSettings::get_StartTimeout() +FNDA:165,System.Int32 WireMock.Settings.FluentMockServerSettings::get_StartTimeout() +DA:45,165 +FN:48,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_AllowPartialMapping() +FNDA:110,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_AllowPartialMapping() +DA:49,110 +FN:52,System.String WireMock.Settings.FluentMockServerSettings::get_AdminUsername() +FNDA:69,System.String WireMock.Settings.FluentMockServerSettings::get_AdminUsername() +DA:53,69 +FN:56,System.String WireMock.Settings.FluentMockServerSettings::get_AdminPassword() +FNDA:59,System.String WireMock.Settings.FluentMockServerSettings::get_AdminPassword() +DA:57,59 +FN:60,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_RequestLogExpirationDuration() +FNDA:55,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_RequestLogExpirationDuration() +DA:61,55 +FN:64,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_MaxRequestLogCount() +FNDA:110,System.Nullable`1 WireMock.Settings.FluentMockServerSettings::get_MaxRequestLogCount() +DA:65,110 +FN:69,System.Action`1 WireMock.Settings.FluentMockServerSettings::get_PreWireMockMiddlewareInit() +FNDA:55,System.Action`1 WireMock.Settings.FluentMockServerSettings::get_PreWireMockMiddlewareInit() +DA:70,55 +FN:74,System.Action`1 WireMock.Settings.FluentMockServerSettings::get_PostWireMockMiddlewareInit() +FNDA:55,System.Action`1 WireMock.Settings.FluentMockServerSettings::get_PostWireMockMiddlewareInit() +DA:75,55 +FN:79,WireMock.Logging.IWireMockLogger WireMock.Settings.FluentMockServerSettings::get_Logger() +FNDA:225,WireMock.Logging.IWireMockLogger WireMock.Settings.FluentMockServerSettings::get_Logger() +DA:80,225 +FN:84,WireMock.Handlers.IFileSystemHandler WireMock.Settings.FluentMockServerSettings::get_FileSystemHandler() +FNDA:114,WireMock.Handlers.IFileSystemHandler WireMock.Settings.FluentMockServerSettings::get_FileSystemHandler() +DA:85,114 +LF:17 +LH:17 +BRF:0 +BRH:0 +FNF:17 +FNH:17 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Settings\ProxyAndRecordSettings.cs +FN:11,System.String WireMock.Settings.ProxyAndRecordSettings::get_Url() +FNDA:4,System.String WireMock.Settings.ProxyAndRecordSettings::get_Url() +DA:12,4 +FN:15,System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMapping() +FNDA:4,System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMapping() +DA:16,4 +FN:19,System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMappingToFile() +FNDA:4,System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMappingToFile() +DA:20,4 +FN:23,System.String WireMock.Settings.ProxyAndRecordSettings::get_ClientX509Certificate2ThumbprintOrSubjectName() +FNDA:4,System.String WireMock.Settings.ProxyAndRecordSettings::get_ClientX509Certificate2ThumbprintOrSubjectName() +DA:24,4 +FN:27,System.String[] WireMock.Settings.ProxyAndRecordSettings::get_BlackListedHeaders() +FNDA:2,System.String[] WireMock.Settings.ProxyAndRecordSettings::get_BlackListedHeaders() +DA:28,2 +LF:5 +LH:5 +BRF:0 +BRH:0 +FNF:5 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.Admin.cs +FN:58,System.Void WireMock.Server.FluentMockServer::InitAdmin() +FNDA:11,System.Void WireMock.Server.FluentMockServer::InitAdmin() +DA:59,11 +DA:61,11 +DA:62,11 +DA:65,11 +DA:66,11 +DA:67,11 +DA:70,11 +DA:73,11 +DA:74,11 +DA:75,11 +DA:78,11 +DA:81,11 +DA:82,11 +DA:85,11 +DA:88,11 +DA:89,11 +DA:92,11 +DA:95,11 +DA:96,11 +DA:99,11 +DA:100,11 +FN:109,System.Void WireMock.Server.FluentMockServer::SaveStaticMappings(System.String) +FNDA:1,System.Void WireMock.Server.FluentMockServer::SaveStaticMappings(System.String) +DA:110,1 +DA:111,6 +DA:112,1 +DA:113,1 +DA:114,1 +DA:115,1 +BRDA:111,14,0,1 +BRDA:111,14,1,1 +BRDA:111,76,1,1 +BRDA:111,76,0,1 +FN:122,System.Void WireMock.Server.FluentMockServer::ReadStaticMappings(System.String) +FNDA:4,System.Void WireMock.Server.FluentMockServer::ReadStaticMappings(System.String) +DA:123,4 +DA:124,4 +DA:125,1 +DA:126,1 +DA:127,1 +DA:129,4 +DA:130,1 +DA:131,1 +DA:132,1 +DA:135,27 +DA:136,6 +DA:137,6 +DA:140,6 +DA:141,6 +DA:142,6 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,6 +DA:148,4 +BRDA:124,7,0,1 +BRDA:124,7,1,4 +BRDA:129,41,0,1 +BRDA:129,41,1,3 +BRDA:135,95,0,1 +BRDA:135,95,1,3 +BRDA:135,219,1,6 +BRDA:135,219,0,3 +FN:155,System.Void WireMock.Server.FluentMockServer::WatchStaticMappings(System.String) +FNDA:1,System.Void WireMock.Server.FluentMockServer::WatchStaticMappings(System.String) +DA:156,1 +DA:157,1 +DA:158,1 +DA:159,1 +DA:160,1 +DA:162,1 +DA:163,1 +DA:164,1 +DA:167,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:196,1 +BRDA:157,7,0,1 +BRDA:157,7,1,1 +BRDA:162,41,0,1 +BRDA:162,41,1,0 +FN:203,System.Void WireMock.Server.FluentMockServer::ReadStaticMappingAndAddOrUpdate(System.String) +FNDA:10,System.Void WireMock.Server.FluentMockServer::ReadStaticMappingAndAddOrUpdate(System.String) +DA:204,10 +DA:205,10 +DA:207,10 +DA:209,10 +DA:210,10 +DA:211,6 +DA:212,6 +DA:213,6 +DA:215,4 +DA:216,4 +DA:217,4 +DA:218,10 +BRDA:210,48,0,6 +BRDA:210,48,1,4 +FN:224,System.Void WireMock.Server.FluentMockServer::InitProxyAndRecord(WireMock.Settings.IFluentMockServerSettings) +FNDA:2,System.Void WireMock.Server.FluentMockServer::InitProxyAndRecord(WireMock.Settings.IFluentMockServerSettings) +DA:225,2 +DA:226,2 +DA:228,2 +DA:229,2 +DA:230,1 +DA:231,1 +DA:232,1 +DA:234,2 +DA:235,2 +BRDA:229,76,0,1 +BRDA:229,76,1,1 +BRDA:229,90,0,1 +BRDA:229,90,1,2 +FN:259,WireMock.Mapping WireMock.Server.FluentMockServer::ToMapping(WireMock.RequestMessage,WireMock.ResponseMessage,System.String[]) +FNDA:0,WireMock.Mapping WireMock.Server.FluentMockServer::ToMapping(WireMock.RequestMessage,WireMock.ResponseMessage,System.String[]) +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:265,0 +DA:266,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:286,0 +DA:288,0 +DA:289,0 +BRDA:277,179,0,0 +BRDA:277,179,1,0 +BRDA:281,220,0,0 +BRDA:281,220,1,0 +FN:293,WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsGet(WireMock.RequestMessage) +FNDA:1,WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsGet(WireMock.RequestMessage) +DA:294,1 +DA:295,1 +DA:296,1 +DA:297,1 +DA:298,1 +DA:299,1 +DA:300,1 +DA:301,1 +DA:303,1 +DA:304,1 +BRDA:295,86,0,1 +BRDA:295,86,1,0 +BRDA:295,127,0,1 +BRDA:295,127,1,0 +FN:306,WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsUpdate(WireMock.RequestMessage) +FNDA:2,WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsUpdate(WireMock.RequestMessage) +DA:307,2 +DA:308,2 +DA:309,2 +DA:310,2 +DA:312,2 +DA:313,0 +DA:314,0 +DA:315,0 +DA:317,2 +DA:318,0 +DA:319,0 +DA:320,0 +DA:322,2 +DA:323,2 +BRDA:312,61,0,0 +BRDA:312,61,1,2 +BRDA:317,108,0,0 +BRDA:317,108,1,2 +FN:327,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingGet(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingGet(WireMock.RequestMessage) +DA:328,0 +DA:329,0 +DA:330,0 +DA:332,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:338,0 +DA:340,0 +DA:341,0 +BRDA:332,71,0,0 +BRDA:332,71,1,0 +FN:343,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingPut(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingPut(WireMock.RequestMessage) +DA:344,0 +DA:345,0 +DA:347,0 +DA:348,0 +DA:350,0 +DA:351,0 +FN:353,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingDelete(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingDelete(WireMock.RequestMessage) +DA:354,0 +DA:355,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:362,0 +DA:363,0 +BRDA:357,39,0,0 +BRDA:357,39,1,0 +FN:367,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsSave(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsSave(WireMock.RequestMessage) +DA:368,0 +DA:369,0 +DA:371,0 +DA:372,0 +FN:374,System.Void WireMock.Server.FluentMockServer::SaveMappingToFile(WireMock.Mapping,System.String) +FNDA:1,System.Void WireMock.Server.FluentMockServer::SaveMappingToFile(WireMock.Mapping,System.String) +DA:375,1 +DA:376,1 +DA:377,1 +DA:378,1 +DA:379,1 +DA:381,1 +DA:382,0 +DA:383,0 +DA:384,0 +DA:386,1 +DA:387,1 +DA:389,1 +DA:391,1 +DA:393,1 +DA:394,1 +BRDA:376,7,0,1 +BRDA:376,7,1,1 +BRDA:381,43,0,0 +BRDA:381,43,1,1 +BRDA:387,78,0,1 +BRDA:387,78,1,0 +FN:396,System.String WireMock.Server.FluentMockServer::SanitizeFileName(System.String,System.Char) +FNDA:0,System.String WireMock.Server.FluentMockServer::SanitizeFileName(System.String,System.Char) +DA:397,0 +DA:398,0 +DA:399,0 +FN:401,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsGet(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsGet(WireMock.RequestMessage) +DA:402,0 +DA:403,0 +DA:404,0 +DA:405,0 +DA:406,0 +DA:407,0 +DA:408,0 +DA:410,0 +DA:411,0 +BRDA:404,20,0,0 +BRDA:404,20,1,0 +BRDA:404,88,1,0 +BRDA:404,88,0,0 +FN:413,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsPost(WireMock.RequestMessage) +FNDA:1,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsPost(WireMock.RequestMessage) +DA:414,1 +DA:417,1 +DA:418,1 +DA:419,1 +DA:420,1 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:432,1 +DA:433,1 +FN:435,System.Nullable`1 WireMock.Server.FluentMockServer::DeserializeAndAddOrUpdateMapping(WireMock.Admin.Mappings.MappingModel,System.Nullable`1,System.String) +FNDA:11,System.Nullable`1 WireMock.Server.FluentMockServer::DeserializeAndAddOrUpdateMapping(WireMock.Admin.Mappings.MappingModel,System.Nullable`1,System.String) +DA:436,11 +DA:437,11 +DA:438,11 +DA:439,11 +DA:441,11 +DA:442,11 +DA:443,0 +DA:444,0 +DA:447,11 +DA:449,11 +DA:451,11 +DA:452,6 +DA:453,6 +DA:454,6 +DA:455,5 +DA:456,3 +DA:457,3 +DA:458,3 +DA:460,11 +DA:461,10 +DA:462,10 +DA:463,10 +DA:465,11 +DA:466,4 +DA:467,4 +DA:468,4 +DA:470,11 +DA:471,10 +DA:472,10 +DA:473,10 +DA:475,11 +DA:476,0 +DA:477,0 +DA:478,0 +DA:479,0 +DA:480,0 +DA:482,11 +DA:484,11 +DA:485,11 +BRDA:442,67,0,0 +BRDA:442,67,1,11 +BRDA:451,119,0,6 +BRDA:451,119,1,5 +BRDA:455,154,0,3 +BRDA:455,178,0,0 +BRDA:455,178,1,3 +BRDA:455,190,0,0 +BRDA:455,190,1,3 +BRDA:455,154,1,2 +BRDA:455,216,0,3 +BRDA:455,216,1,11 +BRDA:460,250,0,10 +BRDA:460,250,1,11 +BRDA:465,280,0,4 +BRDA:465,280,1,11 +BRDA:470,316,0,10 +BRDA:470,316,1,11 +BRDA:475,355,0,0 +BRDA:475,355,1,11 +FN:487,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsDelete(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsDelete(WireMock.RequestMessage) +DA:488,0 +DA:489,0 +DA:491,0 +DA:493,0 +DA:494,0 +FN:498,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestGet(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestGet(WireMock.RequestMessage) +DA:499,0 +DA:500,0 +DA:501,0 +DA:503,0 +DA:504,0 +DA:505,0 +DA:506,0 +DA:509,0 +DA:511,0 +DA:512,0 +BRDA:503,71,0,0 +BRDA:503,71,1,0 +FN:514,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestDelete(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestDelete(WireMock.RequestMessage) +DA:515,0 +DA:516,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:523,0 +DA:524,0 +BRDA:518,39,0,0 +BRDA:518,39,1,0 +FN:528,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsGet(WireMock.RequestMessage) +FNDA:3,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsGet(WireMock.RequestMessage) +DA:529,3 +DA:530,3 +DA:531,6 +DA:532,3 +DA:534,3 +DA:535,3 +BRDA:530,13,0,1 +BRDA:530,13,1,3 +FN:537,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsDelete(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsDelete(WireMock.RequestMessage) +DA:538,0 +DA:539,0 +DA:541,0 +DA:542,0 +FN:546,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsFind(WireMock.RequestMessage) +FNDA:1,WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsFind(WireMock.RequestMessage) +DA:547,1 +DA:548,1 +DA:550,1 +DA:552,1 +DA:553,6 +DA:554,1 +DA:555,1 +DA:556,1 +DA:557,1 +DA:558,1 +DA:559,1 +DA:560,1 +DA:562,3 +DA:564,1 +DA:565,1 +BRDA:553,42,0,1 +BRDA:553,42,1,1 +BRDA:553,151,1,1 +BRDA:556,128,0,1 +BRDA:556,128,1,1 +BRDA:553,151,0,1 +BRDA:562,175,0,1 +BRDA:562,175,1,1 +BRDA:562,211,0,1 +BRDA:562,211,1,1 +FN:569,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosGet(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosGet(WireMock.RequestMessage) +DA:570,0 +DA:571,0 +DA:572,0 +DA:573,0 +DA:574,0 +DA:575,0 +DA:576,0 +DA:577,0 +DA:579,0 +DA:580,0 +BRDA:571,18,0,0 +BRDA:571,18,1,0 +FN:582,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosReset(WireMock.RequestMessage) +FNDA:0,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosReset(WireMock.RequestMessage) +DA:583,0 +DA:584,0 +DA:586,0 +DA:587,0 +FN:590,WireMock.RequestBuilders.IRequestBuilder WireMock.Server.FluentMockServer::InitRequestBuilder(WireMock.Admin.Mappings.RequestModel,System.Boolean) +FNDA:12,WireMock.RequestBuilders.IRequestBuilder WireMock.Server.FluentMockServer::InitRequestBuilder(WireMock.Admin.Mappings.RequestModel,System.Boolean) +DA:591,12 +DA:592,12 +DA:594,12 +DA:595,0 +DA:596,0 +DA:597,0 +DA:598,0 +DA:599,0 +DA:601,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:605,0 +DA:606,0 +DA:607,0 +DA:608,0 +DA:610,12 +DA:611,12 +DA:612,11 +DA:613,11 +DA:614,1 +DA:615,1 +DA:616,1 +DA:617,1 +DA:619,10 +DA:620,10 +DA:621,10 +DA:622,10 +DA:623,10 +DA:624,10 +DA:625,10 +DA:626,10 +DA:627,11 +DA:628,1 +DA:629,0 +DA:630,0 +DA:631,0 +DA:632,0 +DA:633,0 +DA:634,0 +DA:636,0 +DA:637,0 +DA:638,0 +DA:639,0 +DA:640,0 +DA:641,0 +DA:642,0 +DA:643,0 +DA:644,0 +DA:646,12 +DA:647,0 +DA:648,0 +DA:649,0 +DA:652,12 +DA:653,11 +DA:654,11 +DA:655,11 +DA:657,12 +DA:658,0 +DA:659,0 +DA:660,0 +DA:661,0 +DA:662,0 +DA:663,0 +DA:665,12 +DA:666,0 +DA:667,0 +DA:668,0 +DA:669,0 +DA:670,0 +DA:671,0 +DA:673,12 +DA:674,0 +DA:675,0 +DA:676,0 +DA:677,0 +DA:678,0 +DA:679,0 +DA:681,12 +DA:682,3 +DA:683,3 +DA:684,3 +DA:685,3 +DA:687,12 +DA:688,12 +BRDA:594,18,0,0 +BRDA:596,41,0,0 +BRDA:596,41,1,0 +BRDA:603,80,0,0 +BRDA:603,80,1,0 +BRDA:603,99,0,0 +BRDA:603,99,1,0 +BRDA:594,18,1,12 +BRDA:611,161,0,11 +BRDA:613,188,0,1 +BRDA:613,188,1,10 +BRDA:621,230,0,0 +BRDA:621,230,1,10 +BRDA:621,249,0,10 +BRDA:621,249,1,10 +BRDA:611,161,1,1 +BRDA:628,316,0,0 +BRDA:630,343,0,0 +BRDA:630,343,1,0 +BRDA:638,385,0,0 +BRDA:638,385,1,0 +BRDA:638,404,0,0 +BRDA:638,404,1,0 +BRDA:628,316,1,12 +BRDA:646,454,0,11 +BRDA:646,454,1,1 +BRDA:646,467,0,0 +BRDA:646,467,1,12 +BRDA:652,513,0,11 +BRDA:652,513,1,12 +BRDA:657,543,0,0 +BRDA:659,562,0,0 +BRDA:659,562,1,0 +BRDA:659,667,1,0 +BRDA:659,667,0,0 +BRDA:657,543,1,12 +BRDA:665,698,0,0 +BRDA:667,717,0,0 +BRDA:667,717,1,0 +BRDA:667,822,1,0 +BRDA:667,822,0,0 +BRDA:665,698,1,12 +BRDA:673,853,0,0 +BRDA:675,872,0,0 +BRDA:675,872,1,0 +BRDA:675,977,1,0 +BRDA:675,977,0,0 +BRDA:673,853,1,12 +BRDA:681,1002,0,6 +BRDA:681,1002,1,6 +BRDA:681,1020,0,3 +BRDA:681,1020,1,12 +FN:690,WireMock.ResponseBuilders.IResponseBuilder WireMock.Server.FluentMockServer::InitResponseBuilder(WireMock.Admin.Mappings.ResponseModel) +FNDA:11,WireMock.ResponseBuilders.IResponseBuilder WireMock.Server.FluentMockServer::InitResponseBuilder(WireMock.Admin.Mappings.ResponseModel) +DA:691,11 +DA:692,11 +DA:694,11 +DA:695,0 +DA:696,0 +DA:697,0 +DA:699,11 +DA:700,0 +DA:701,0 +DA:702,0 +DA:703,0 +DA:706,0 +DA:709,11 +DA:710,10 +DA:711,10 +DA:712,10 +DA:714,11 +DA:715,9 +DA:716,189 +DA:717,81 +DA:718,81 +DA:719,81 +DA:720,81 +DA:721,81 +DA:722,9 +DA:723,2 +DA:724,0 +DA:725,0 +DA:726,0 +DA:727,0 +DA:728,0 +DA:729,0 +DA:730,0 +DA:731,0 +DA:732,0 +DA:734,11 +DA:735,0 +DA:736,0 +DA:737,0 +DA:738,11 +DA:739,7 +DA:740,7 +DA:741,7 +DA:742,4 +DA:743,1 +DA:744,1 +DA:745,1 +DA:746,3 +DA:747,0 +DA:748,0 +DA:749,0 +DA:750,3 +DA:751,3 +DA:752,3 +DA:753,3 +DA:755,11 +DA:756,0 +DA:757,0 +DA:758,0 +DA:760,11 +DA:761,11 +BRDA:694,25,0,11 +BRDA:694,25,1,0 +BRDA:694,39,0,0 +BRDA:694,39,1,11 +BRDA:699,82,0,0 +BRDA:701,100,0,0 +BRDA:701,100,1,0 +BRDA:699,82,1,11 +BRDA:709,166,0,10 +BRDA:709,166,1,11 +BRDA:714,204,0,9 +BRDA:716,310,1,81 +BRDA:718,248,0,0 +BRDA:718,248,1,81 +BRDA:716,310,0,9 +BRDA:714,204,1,2 +BRDA:723,346,0,0 +BRDA:725,517,1,0 +BRDA:725,517,0,0 +BRDA:723,346,1,11 +BRDA:734,533,0,0 +BRDA:734,533,1,11 +BRDA:738,586,0,7 +BRDA:738,586,1,4 +BRDA:742,639,0,1 +BRDA:744,681,0,1 +BRDA:744,681,1,0 +BRDA:742,639,1,3 +BRDA:746,720,0,0 +BRDA:746,720,1,3 +BRDA:750,764,0,3 +BRDA:750,764,1,11 +BRDA:755,792,0,0 +BRDA:755,792,1,11 +FN:763,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ToJson(T,System.Boolean) +FNDA:5,WireMock.ResponseMessage WireMock.Server.FluentMockServer::ToJson(T,System.Boolean) +DA:764,5 +DA:765,5 +DA:766,5 +DA:767,5 +DA:768,5 +DA:769,5 +DA:770,5 +DA:771,5 +BRDA:765,15,0,5 +BRDA:765,15,1,0 +FN:773,System.Text.Encoding WireMock.Server.FluentMockServer::ToEncoding(WireMock.Admin.Mappings.EncodingModel) +FNDA:8,System.Text.Encoding WireMock.Server.FluentMockServer::ToEncoding(WireMock.Admin.Mappings.EncodingModel) +DA:774,8 +DA:775,8 +DA:776,8 +BRDA:775,2,0,2 +BRDA:775,2,1,6 +FN:778,T WireMock.Server.FluentMockServer::DeserializeObject(WireMock.RequestMessage) +FNDA:4,T WireMock.Server.FluentMockServer::DeserializeObject(WireMock.RequestMessage) +DA:779,4 +DA:780,4 +DA:781,4 +DA:782,4 +DA:783,4 +BRDA:780,7,0,0 +BRDA:780,7,1,4 +FN:41,System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) +FNDA:55,System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) +DA:42,55 +DA:43,55 +DA:45,55 +DA:46,55 +DA:47,55 +DA:48,55 +DA:49,55 +DA:51,55 +DA:52,55 +DA:53,55 +DA:54,55 +DA:55,55 +FN:237,System.Void WireMock.Server.FluentMockServer/d__19::MoveNext() +FNDA:0,System.Void WireMock.Server.FluentMockServer/d__19::MoveNext() +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:243,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:256,0 +DA:257,0 +BRDA:243,136,0,0 +BRDA:243,136,1,0 +BRDA:245,252,0,0 +BRDA:247,289,0,0 +BRDA:247,289,1,0 +BRDA:250,362,0,0 +BRDA:250,362,1,0 +BRDA:245,252,1,0 +LF:513 +LH:263 +BRF:194 +BRH:103 +FNF:33 +FNH:19 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.cs +FN:37,System.Boolean WireMock.Server.FluentMockServer::get_IsStarted() +FNDA:0,System.Boolean WireMock.Server.FluentMockServer::get_IsStarted() +DA:38,0 +BRDA:38,6,0,0 +BRDA:38,6,1,0 +FN:43,System.Collections.Generic.List`1 WireMock.Server.FluentMockServer::get_Ports() +FNDA:40,System.Collections.Generic.List`1 WireMock.Server.FluentMockServer::get_Ports() +DA:44,40 +FN:49,System.String[] WireMock.Server.FluentMockServer::get_Urls() +FNDA:72,System.String[] WireMock.Server.FluentMockServer::get_Urls() +DA:50,72 +FN:55,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::get_Mappings() +FNDA:18,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::get_Mappings() +DA:56,18 +FN:61,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Server.FluentMockServer::get_Scenarios() +FNDA:13,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Server.FluentMockServer::get_Scenarios() +DA:62,13 +FN:68,System.Void WireMock.Server.FluentMockServer::Dispose() +FNDA:0,System.Void WireMock.Server.FluentMockServer::Dispose() +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +FN:78,System.Void WireMock.Server.FluentMockServer::Dispose(System.Boolean) +FNDA:0,System.Void WireMock.Server.FluentMockServer::Dispose(System.Boolean) +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +BRDA:80,12,0,0 +BRDA:80,12,1,0 +FN:94,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(WireMock.Settings.IFluentMockServerSettings) +FNDA:14,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(WireMock.Settings.IFluentMockServerSettings) +DA:95,14 +DA:96,14 +DA:98,14 +DA:99,14 +FN:108,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.Nullable`1,System.Boolean) +FNDA:36,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.Nullable`1,System.Boolean) +DA:109,36 +DA:110,36 +DA:111,36 +DA:112,36 +DA:113,36 +DA:114,36 +DA:115,36 +FN:123,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.String[]) +FNDA:1,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.String[]) +DA:124,1 +DA:125,1 +DA:127,1 +DA:128,1 +DA:129,1 +DA:130,1 +DA:131,1 +FN:140,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.Nullable`1,System.Boolean) +FNDA:4,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.Nullable`1,System.Boolean) +DA:141,4 +DA:142,4 +DA:143,4 +DA:144,4 +DA:145,4 +DA:146,4 +DA:147,4 +DA:148,4 +FN:156,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.String[]) +FNDA:0,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.String[]) +DA:157,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +FN:173,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterfaceAndReadStaticMappings(System.String[]) +FNDA:0,WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterfaceAndReadStaticMappings(System.String[]) +DA:174,0 +DA:175,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +FN:278,System.Void WireMock.Server.FluentMockServer::Stop() +FNDA:2,System.Void WireMock.Server.FluentMockServer::Stop() +DA:279,2 +DA:280,2 +DA:281,2 +DA:282,2 +BRDA:280,8,0,0 +BRDA:280,8,1,2 +BRDA:281,21,1,2 +BRDA:281,21,0,2 +FN:289,System.Void WireMock.Server.FluentMockServer::AddCatchAllMapping() +FNDA:0,System.Void WireMock.Server.FluentMockServer::AddCatchAllMapping() +DA:290,0 +DA:291,0 +DA:292,0 +DA:293,0 +DA:294,0 +DA:295,0 +BRDA:291,67,0,0 +BRDA:291,67,1,0 +FN:301,System.Void WireMock.Server.FluentMockServer::Reset() +FNDA:0,System.Void WireMock.Server.FluentMockServer::Reset() +DA:302,0 +DA:303,0 +DA:305,0 +DA:306,0 +FN:312,System.Void WireMock.Server.FluentMockServer::ResetMappings() +FNDA:10,System.Void WireMock.Server.FluentMockServer::ResetMappings() +DA:313,10 +DA:314,66 +DA:315,12 +DA:316,12 +DA:317,12 +DA:318,10 +BRDA:314,24,0,1 +BRDA:314,24,1,10 +BRDA:314,103,1,12 +BRDA:314,103,0,10 +FN:325,System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.Guid) +FNDA:0,System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.Guid) +DA:326,0 +DA:328,0 +DA:329,0 +DA:330,0 +DA:333,0 +DA:334,0 +BRDA:328,20,0,0 +BRDA:328,20,1,0 +FN:336,System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.String) +FNDA:0,System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.String) +DA:337,0 +DA:339,0 +DA:340,0 +DA:341,0 +FN:348,System.Void WireMock.Server.FluentMockServer::AddGlobalProcessingDelay(System.TimeSpan) +FNDA:1,System.Void WireMock.Server.FluentMockServer::AddGlobalProcessingDelay(System.TimeSpan) +DA:349,1 +DA:350,1 +DA:351,1 +FN:357,System.Void WireMock.Server.FluentMockServer::AllowPartialMapping(System.Boolean) +FNDA:0,System.Void WireMock.Server.FluentMockServer::AllowPartialMapping(System.Boolean) +DA:358,0 +DA:359,0 +DA:360,0 +DA:361,0 +FN:369,System.Void WireMock.Server.FluentMockServer::SetBasicAuthentication(System.String,System.String) +FNDA:3,System.Void WireMock.Server.FluentMockServer::SetBasicAuthentication(System.String,System.String) +DA:370,3 +DA:371,3 +DA:372,3 +DA:374,3 +DA:375,3 +DA:376,3 +FN:382,System.Void WireMock.Server.FluentMockServer::RemoveBasicAuthentication() +FNDA:1,System.Void WireMock.Server.FluentMockServer::RemoveBasicAuthentication() +DA:383,1 +DA:384,1 +DA:385,1 +FN:392,System.Void WireMock.Server.FluentMockServer::SetMaxRequestLogCount(System.Nullable`1) +FNDA:1,System.Void WireMock.Server.FluentMockServer::SetMaxRequestLogCount(System.Nullable`1) +DA:393,1 +DA:394,1 +DA:395,1 +FN:402,System.Void WireMock.Server.FluentMockServer::SetRequestLogExpirationDuration(System.Nullable`1) +FNDA:0,System.Void WireMock.Server.FluentMockServer::SetRequestLogExpirationDuration(System.Nullable`1) +DA:403,0 +DA:404,0 +DA:405,0 +FN:411,System.Void WireMock.Server.FluentMockServer::ResetScenarios() +FNDA:0,System.Void WireMock.Server.FluentMockServer::ResetScenarios() +DA:412,0 +DA:413,0 +DA:414,0 +FN:422,WireMock.Server.IRespondWithAProvider WireMock.Server.FluentMockServer::Given(WireMock.Matchers.Request.IRequestMatcher) +FNDA:264,WireMock.Server.IRespondWithAProvider WireMock.Server.FluentMockServer::Given(WireMock.Matchers.Request.IRequestMatcher) +DA:423,264 +DA:424,264 +DA:425,264 +FN:427,System.Void WireMock.Server.FluentMockServer::RegisterMapping(WireMock.Mapping) +FNDA:264,System.Void WireMock.Server.FluentMockServer::RegisterMapping(WireMock.Mapping) +DA:428,264 +DA:430,264 +DA:431,1 +DA:432,1 +DA:433,1 +DA:435,263 +DA:436,263 +DA:437,263 +DA:438,264 +BRDA:430,25,0,1 +BRDA:430,25,1,263 +FN:31,System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) +FNDA:55,System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) +DA:32,55 +DA:185,55 +DA:186,55 +DA:187,55 +DA:189,55 +DA:190,55 +DA:192,55 +DA:193,55 +DA:195,55 +DA:196,1 +DA:197,1 +DA:198,1 +DA:200,54 +DA:201,54 +DA:202,54 +DA:203,54 +DA:205,55 +DA:206,55 +DA:207,55 +DA:210,55 +DA:214,55 +DA:216,55 +DA:218,55 +DA:219,55 +DA:220,451 +DA:221,396 +DA:223,396 +DA:224,0 +DA:225,0 +DA:229,396 +DA:230,0 +DA:231,0 +DA:234,396 +DA:235,396 +DA:236,55 +DA:238,55 +DA:239,0 +DA:240,0 +DA:241,0 +DA:243,55 +DA:244,11 +DA:245,11 +DA:246,1 +DA:247,1 +DA:248,1 +DA:250,11 +DA:251,11 +DA:253,55 +DA:254,0 +DA:255,0 +DA:256,0 +DA:258,55 +DA:259,0 +DA:260,0 +DA:261,0 +DA:263,55 +DA:264,2 +DA:265,2 +DA:266,2 +DA:268,55 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,55 +BRDA:187,117,0,0 +BRDA:187,117,1,55 +BRDA:190,151,0,0 +BRDA:190,151,1,55 +BRDA:195,230,0,1 +BRDA:195,230,1,54 +BRDA:201,274,0,54 +BRDA:201,274,1,0 +BRDA:201,286,0,54 +BRDA:201,286,1,0 +BRDA:202,344,0,54 +BRDA:202,344,1,0 +BRDA:202,356,0,54 +BRDA:202,356,1,0 +BRDA:220,668,1,396 +BRDA:223,532,0,0 +BRDA:223,532,1,396 +BRDA:229,589,0,0 +BRDA:229,589,1,396 +BRDA:220,668,0,55 +BRDA:238,709,0,55 +BRDA:238,709,1,0 +BRDA:238,725,0,0 +BRDA:238,725,1,55 +BRDA:243,757,0,44 +BRDA:243,757,1,11 +BRDA:243,773,0,11 +BRDA:245,787,0,1 +BRDA:245,787,1,10 +BRDA:245,810,0,1 +BRDA:245,810,1,11 +BRDA:243,773,1,55 +BRDA:253,861,0,55 +BRDA:253,861,1,0 +BRDA:253,877,0,0 +BRDA:253,877,1,55 +BRDA:258,909,0,55 +BRDA:258,909,1,0 +BRDA:258,925,0,0 +BRDA:258,925,1,55 +BRDA:263,950,0,2 +BRDA:263,950,1,55 +BRDA:268,980,0,0 +BRDA:268,980,1,55 +LF:189 +LH:115 +BRF:62 +BRH:38 +FNF:29 +FNH:17 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.LogEntries.cs +FN:21,System.Void WireMock.Server.FluentMockServer::add_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler) +FNDA:2,System.Void WireMock.Server.FluentMockServer::add_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler) +DA:22,2 +FN:22,System.Void WireMock.Server.FluentMockServer::remove_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler) +FNDA:0,System.Void WireMock.Server.FluentMockServer::remove_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler) +DA:23,0 +FN:29,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::get_LogEntries() +FNDA:12,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::get_LogEntries() +DA:30,12 +FN:38,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::FindLogEntries(WireMock.Matchers.Request.IRequestMatcher[]) +FNDA:1,System.Collections.Generic.IEnumerable`1 WireMock.Server.FluentMockServer::FindLogEntries(WireMock.Matchers.Request.IRequestMatcher[]) +DA:39,1 +DA:40,1 +DA:42,7 +DA:43,2 +DA:44,2 +DA:45,10 +DA:46,2 +DA:47,2 +DA:48,2 +DA:50,2 +DA:51,1 +DA:52,1 +DA:53,1 +DA:54,2 +DA:56,3 +DA:57,1 +BRDA:42,129,1,2 +BRDA:45,86,1,2 +BRDA:45,86,0,2 +BRDA:50,109,0,1 +BRDA:50,109,1,2 +BRDA:42,129,0,1 +BRDA:56,151,0,1 +BRDA:56,151,1,1 +BRDA:56,187,0,1 +BRDA:56,187,1,1 +FN:63,System.Void WireMock.Server.FluentMockServer::ResetLogEntries() +FNDA:9,System.Void WireMock.Server.FluentMockServer::ResetLogEntries() +DA:64,9 +DA:65,9 +DA:66,9 +FN:73,System.Boolean WireMock.Server.FluentMockServer::DeleteLogEntry(System.Guid) +FNDA:0,System.Boolean WireMock.Server.FluentMockServer::DeleteLogEntry(System.Guid) +DA:74,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:83,0 +DA:84,0 +BRDA:77,49,0,0 +BRDA:77,49,1,0 +LF:30 +LH:21 +BRF:12 +BRH:10 +FNF:6 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\RespondWithAProvider.cs +FN:20,System.Guid WireMock.Server.RespondWithAProvider::get_Guid() +FNDA:553,System.Guid WireMock.Server.RespondWithAProvider::get_Guid() +DA:21,553 +FN:38,System.Void WireMock.Server.RespondWithAProvider::RespondWith(WireMock.ResponseProviders.IResponseProvider) +FNDA:264,System.Void WireMock.Server.RespondWithAProvider::RespondWith(WireMock.ResponseProviders.IResponseProvider) +DA:39,264 +DA:40,264 +DA:41,264 +FN:44,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithGuid(System.String) +FNDA:2,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithGuid(System.String) +DA:45,2 +DA:46,2 +DA:47,2 +FN:50,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithGuid(System.Guid) +FNDA:14,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithGuid(System.Guid) +DA:51,14 +DA:52,14 +DA:54,14 +DA:55,14 +FN:58,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithTitle(System.String) +FNDA:4,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithTitle(System.String) +DA:59,4 +DA:60,4 +DA:62,4 +DA:63,4 +FN:66,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithPath(System.String) +FNDA:10,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WithPath(System.String) +DA:67,10 +DA:68,10 +DA:70,10 +DA:71,10 +FN:74,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::AtPriority(System.Int32) +FNDA:222,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::AtPriority(System.Int32) +DA:75,222 +DA:76,222 +DA:78,222 +DA:79,222 +FN:82,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::InScenario(System.String) +FNDA:10,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::InScenario(System.String) +DA:83,10 +DA:84,10 +DA:86,10 +DA:87,10 +FN:90,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WhenStateIs(System.String) +FNDA:6,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WhenStateIs(System.String) +DA:91,6 +DA:92,6 +DA:93,0 +DA:94,0 +DA:97,6 +DA:99,6 +DA:100,6 +BRDA:92,14,0,0 +BRDA:92,14,1,6 +FN:103,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WillSetStateTo(System.String) +FNDA:5,WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::WillSetStateTo(System.String) +DA:104,5 +DA:105,5 +DA:106,0 +DA:107,0 +DA:110,5 +DA:112,5 +DA:113,5 +BRDA:105,14,0,0 +BRDA:105,14,1,5 +FN:27,System.Void WireMock.Server.RespondWithAProvider::.ctor(WireMock.RegistrationCallback,WireMock.Matchers.Request.IRequestMatcher) +FNDA:264,System.Void WireMock.Server.RespondWithAProvider::.ctor(WireMock.RegistrationCallback,WireMock.Matchers.Request.IRequestMatcher) +DA:28,264 +DA:29,264 +DA:30,264 +DA:31,264 +DA:32,264 +LF:46 +LH:42 +BRF:4 +BRH:2 +FNF:11 +FNH:11 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Serialization\LogEntryMapper.cs +FN:10,WireMock.Admin.Requests.LogEntryModel WireMock.Serialization.LogEntryMapper::Map(WireMock.Logging.LogEntry) +FNDA:69,WireMock.Admin.Requests.LogEntryModel WireMock.Serialization.LogEntryMapper::Map(WireMock.Logging.LogEntry) +DA:11,69 +DA:12,69 +DA:13,69 +DA:14,69 +DA:15,69 +DA:16,69 +DA:17,69 +DA:18,69 +DA:19,69 +DA:20,69 +DA:21,69 +DA:22,69 +DA:23,69 +DA:24,69 +DA:25,69 +DA:26,69 +DA:27,69 +DA:28,69 +DA:29,69 +DA:30,69 +DA:31,69 +DA:32,69 +DA:33,69 +DA:34,69 +DA:35,69 +DA:36,69 +DA:37,69 +DA:38,69 +DA:39,69 +DA:40,69 +DA:41,69 +DA:42,69 +DA:43,69 +DA:44,69 +DA:45,69 +DA:46,69 +DA:47,69 +DA:48,69 +DA:49,69 +DA:50,69 +DA:51,69 +DA:52,69 +DA:53,69 +DA:54,69 +DA:55,69 +DA:56,69 +DA:57,69 +DA:58,69 +DA:59,69 +DA:60,69 +DA:61,69 +DA:62,69 +DA:63,177 +DA:64,177 +DA:65,177 +DA:66,177 +DA:67,177 +DA:68,69 +DA:69,69 +DA:70,69 +BRDA:12,271,0,51 +BRDA:12,271,1,18 +BRDA:12,542,0,4 +BRDA:12,542,1,65 +BRDA:12,666,0,18 +BRDA:12,666,1,51 +BRDA:12,769,0,1 +BRDA:12,769,1,51 +LF:60 +LH:60 +BRF:8 +BRH:8 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Serialization\MappingConverter.cs +FN:13,WireMock.Admin.Mappings.MappingModel WireMock.Serialization.MappingConverter::ToMappingModel(WireMock.Mapping) +FNDA:2,WireMock.Admin.Mappings.MappingModel WireMock.Serialization.MappingConverter::ToMappingModel(WireMock.Mapping) +DA:14,2 +DA:15,2 +DA:16,2 +DA:18,2 +DA:19,2 +DA:20,2 +DA:21,2 +DA:22,2 +DA:23,2 +DA:24,2 +DA:25,2 +DA:27,2 +DA:28,2 +DA:29,2 +DA:30,2 +DA:31,2 +DA:32,2 +DA:33,2 +DA:34,2 +DA:35,2 +DA:36,2 +DA:37,2 +DA:38,2 +DA:39,2 +DA:40,2 +DA:41,2 +DA:42,2 +DA:43,2 +DA:44,4 +DA:45,2 +DA:46,2 +DA:47,2 +DA:48,2 +DA:49,2 +DA:50,2 +DA:51,2 +DA:52,2 +DA:53,2 +DA:54,2 +DA:55,2 +DA:56,2 +DA:57,2 +DA:58,2 +DA:59,2 +DA:60,2 +DA:61,2 +DA:62,2 +DA:63,2 +DA:64,2 +DA:65,2 +DA:66,2 +DA:67,2 +DA:68,2 +DA:69,2 +DA:70,2 +DA:71,2 +DA:72,2 +DA:73,2 +DA:74,2 +DA:75,2 +DA:76,2 +DA:77,2 +DA:78,2 +DA:79,2 +DA:80,2 +DA:81,2 +DA:83,2 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:99,2 +DA:100,2 +DA:101,2 +DA:102,2 +DA:103,2 +DA:104,2 +DA:105,2 +DA:106,2 +DA:107,2 +DA:108,2 +DA:109,2 +DA:111,2 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,2 +DA:122,2 +DA:123,2 +BRDA:27,188,0,2 +BRDA:27,188,1,2 +BRDA:27,196,0,2 +BRDA:27,196,1,0 +BRDA:27,214,0,0 +BRDA:27,214,1,0 +BRDA:27,250,0,0 +BRDA:27,250,1,0 +BRDA:27,299,0,2 +BRDA:27,299,1,1 +BRDA:27,307,0,1 +BRDA:27,307,1,1 +BRDA:27,325,0,1 +BRDA:27,325,1,1 +BRDA:27,361,0,1 +BRDA:27,361,1,1 +BRDA:27,411,0,2 +BRDA:27,411,1,2 +BRDA:27,420,0,2 +BRDA:27,420,1,0 +BRDA:27,439,0,0 +BRDA:27,439,1,0 +BRDA:27,475,0,0 +BRDA:27,475,1,0 +BRDA:27,525,0,2 +BRDA:27,525,1,0 +BRDA:27,546,0,2 +BRDA:27,546,1,2 +BRDA:27,555,0,2 +BRDA:27,555,1,0 +BRDA:27,568,0,0 +BRDA:27,568,1,0 +BRDA:27,612,0,2 +BRDA:27,612,1,2 +BRDA:27,621,0,2 +BRDA:27,621,1,0 +BRDA:27,634,0,0 +BRDA:27,634,1,0 +BRDA:27,678,0,2 +BRDA:27,678,1,2 +BRDA:27,687,0,2 +BRDA:27,687,1,0 +BRDA:27,700,0,0 +BRDA:27,700,1,0 +BRDA:27,744,0,2 +BRDA:27,744,1,0 +BRDA:27,756,0,0 +BRDA:27,771,0,0 +BRDA:27,771,1,0 +BRDA:27,756,1,2 +BRDA:27,801,0,2 +BRDA:27,811,0,2 +BRDA:27,811,1,0 +BRDA:27,801,1,0 +BRDA:27,872,0,2 +BRDA:27,872,1,0 +BRDA:83,938,0,0 +BRDA:83,938,1,2 +BRDA:111,1407,0,2 +BRDA:111,1407,1,0 +BRDA:111,1442,0,0 +BRDA:111,1442,1,2 +FN:125,System.Collections.Generic.IDictionary`2 WireMock.Serialization.MappingConverter::Map(System.Collections.Generic.IDictionary`2>) +FNDA:2,System.Collections.Generic.IDictionary`2 WireMock.Serialization.MappingConverter::Map(System.Collections.Generic.IDictionary`2>) +DA:126,2 +DA:127,2 +DA:128,2 +DA:129,2 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:139,0 +DA:140,2 +BRDA:127,2,0,2 +BRDA:127,2,1,0 +BRDA:127,18,0,2 +BRDA:127,18,1,0 +BRDA:133,111,1,0 +BRDA:135,63,0,0 +BRDA:135,63,1,0 +BRDA:133,111,0,0 +LF:116 +LH:87 +BRF:70 +BRH:34 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Serialization\MatcherMapper.cs +FN:13,WireMock.Matchers.IMatcher WireMock.Serialization.MatcherMapper::Map(WireMock.Admin.Mappings.MatcherModel) +FNDA:26,WireMock.Matchers.IMatcher WireMock.Serialization.MatcherMapper::Map(WireMock.Admin.Mappings.MatcherModel) +DA:14,26 +DA:15,26 +DA:16,2 +DA:17,2 +DA:20,24 +DA:21,24 +DA:22,24 +DA:24,24 +DA:25,24 +DA:27,24 +DA:30,2 +DA:33,11 +DA:36,1 +DA:39,0 +DA:42,0 +DA:45,0 +DA:48,5 +DA:51,3 +DA:52,3 +DA:53,1 +DA:54,1 +DA:57,2 +DA:60,2 +DA:62,23 +BRDA:15,9,0,2 +BRDA:15,9,1,24 +BRDA:22,51,0,22 +BRDA:22,51,1,2 +BRDA:24,66,0,19 +BRDA:24,66,1,5 +BRDA:25,127,0,24 +BRDA:25,127,1,0 +BRDA:25,139,0,24 +BRDA:25,139,1,0 +BRDA:27,166,0,8 +BRDA:27,175,0,5 +BRDA:27,184,0,5 +BRDA:27,175,1,3 +BRDA:27,215,0,3 +BRDA:27,166,1,16 +BRDA:27,243,0,1 +BRDA:27,252,0,1 +BRDA:27,243,1,15 +BRDA:27,280,0,4 +BRDA:27,229,1,2 +BRDA:27,280,1,11 +BRDA:27,266,1,1 +BRDA:27,215,1,0 +BRDA:27,184,1,0 +BRDA:27,252,1,0 +BRDA:27,198,1,5 +BRDA:27,291,1,3 +BRDA:27,313,1,2 +BRDA:27,335,1,11 +BRDA:27,357,1,1 +BRDA:36,530,0,0 +BRDA:36,530,1,1 +BRDA:27,379,1,0 +BRDA:27,401,1,0 +BRDA:27,423,1,0 +BRDA:27,445,1,5 +BRDA:48,646,0,4 +BRDA:48,646,1,1 +BRDA:27,467,1,3 +BRDA:52,677,0,2 +BRDA:52,677,1,1 +BRDA:52,697,0,1 +BRDA:52,697,1,2 +BRDA:27,198,0,2 +BRDA:27,229,0,2 +BRDA:27,266,0,2 +BRDA:27,291,0,2 +BRDA:27,313,0,2 +BRDA:27,335,0,2 +BRDA:27,357,0,2 +BRDA:27,379,0,2 +BRDA:27,401,0,2 +BRDA:27,423,0,2 +BRDA:27,445,0,2 +BRDA:27,467,0,2 +FN:64,WireMock.Admin.Mappings.MatcherModel[] WireMock.Serialization.MatcherMapper::Map(System.Collections.Generic.IEnumerable`1) +FNDA:3,WireMock.Admin.Mappings.MatcherModel[] WireMock.Serialization.MatcherMapper::Map(System.Collections.Generic.IEnumerable`1) +DA:65,3 +DA:66,6 +DA:67,3 +BRDA:66,2,0,1 +BRDA:66,2,1,2 +BRDA:66,31,0,1 +BRDA:66,31,1,2 +FN:69,WireMock.Admin.Mappings.MatcherModel WireMock.Serialization.MatcherMapper::Map(WireMock.Matchers.IMatcher) +FNDA:8,WireMock.Admin.Mappings.MatcherModel WireMock.Serialization.MatcherMapper::Map(WireMock.Matchers.IMatcher) +DA:70,8 +DA:71,8 +DA:72,2 +DA:73,2 +DA:79,6 +DA:80,6 +DA:81,6 +DA:82,6 +DA:83,6 +DA:84,6 +DA:86,6 +DA:87,6 +DA:88,6 +DA:89,6 +DA:90,6 +DA:91,6 +DA:92,6 +DA:93,6 +DA:94,8 +BRDA:71,9,0,2 +BRDA:71,9,1,6 +BRDA:79,28,0,1 +BRDA:79,38,0,1 +BRDA:79,38,1,0 +BRDA:79,28,1,5 +BRDA:83,91,0,4 +BRDA:83,91,1,2 +BRDA:84,125,0,6 +BRDA:84,125,1,0 +BRDA:86,187,0,4 +BRDA:86,187,1,2 +BRDA:86,209,0,5 +BRDA:86,209,1,1 +LF:46 +LH:43 +BRF:74 +BRH:63 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseProviders\DynamicAsyncResponseProvider.cs +FN:19,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.DynamicAsyncResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +FNDA:0,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.DynamicAsyncResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +DA:20,0 +DA:21,0 +DA:22,0 +FN:11,System.Void WireMock.ResponseProviders.DynamicAsyncResponseProvider::.ctor(System.Func`2>) +FNDA:0,System.Void WireMock.ResponseProviders.DynamicAsyncResponseProvider::.ctor(System.Func`2>) +DA:12,0 +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +LF:8 +LH:0 +BRF:0 +BRH:0 +FNF:2 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseProviders\DynamicResponseProvider.cs +FN:19,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.DynamicResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +FNDA:8,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.DynamicResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +DA:20,8 +DA:21,8 +DA:22,8 +FN:11,System.Void WireMock.ResponseProviders.DynamicResponseProvider::.ctor(System.Func`2) +FNDA:209,System.Void WireMock.ResponseProviders.DynamicResponseProvider::.ctor(System.Func`2) +DA:12,209 +DA:13,209 +DA:14,209 +DA:16,209 +DA:17,209 +LF:8 +LH:8 +BRF:0 +BRH:0 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseProviders\ProxyAsyncResponseProvider.cs +FN:23,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.ProxyAsyncResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +FNDA:0,System.Threading.Tasks.Task`1 WireMock.ResponseProviders.ProxyAsyncResponseProvider::ProvideResponseAsync(WireMock.RequestMessage) +DA:24,0 +DA:25,0 +DA:26,0 +FN:13,System.Void WireMock.ResponseProviders.ProxyAsyncResponseProvider::.ctor(System.Func`3>,WireMock.Settings.IProxyAndRecordSettings) +FNDA:2,System.Void WireMock.ResponseProviders.ProxyAsyncResponseProvider::.ctor(System.Func`3>,WireMock.Settings.IProxyAndRecordSettings) +DA:14,2 +DA:15,2 +DA:16,2 +DA:17,2 +DA:19,2 +DA:20,2 +DA:21,2 +LF:10 +LH:7 +BRF:0 +BRH:0 +FNF:2 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseBuilders\Response.cs +FN:28,System.Nullable`1 WireMock.ResponseBuilders.Response::get_Delay() +FNDA:94,System.Nullable`1 WireMock.ResponseBuilders.Response::get_Delay() +DA:29,94 +FN:33,System.Boolean WireMock.ResponseBuilders.Response::get_UseTransformer() +FNDA:121,System.Boolean WireMock.ResponseBuilders.Response::get_UseTransformer() +DA:34,121 +FN:38,System.String WireMock.ResponseBuilders.Response::get_ProxyUrl() +FNDA:89,System.String WireMock.ResponseBuilders.Response::get_ProxyUrl() +DA:39,89 +FN:43,System.String WireMock.ResponseBuilders.Response::get_ClientX509Certificate2ThumbprintOrSubjectName() +FNDA:0,System.String WireMock.ResponseBuilders.Response::get_ClientX509Certificate2ThumbprintOrSubjectName() +DA:44,0 +FN:48,WireMock.ResponseMessage WireMock.ResponseBuilders.Response::get_ResponseMessage() +FNDA:629,WireMock.ResponseMessage WireMock.ResponseBuilders.Response::get_ResponseMessage() +DA:49,629 +FN:53,System.Func`2 WireMock.ResponseBuilders.Response::get_Callback() +FNDA:96,System.Func`2 WireMock.ResponseBuilders.Response::get_Callback() +DA:54,96 +FN:62,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::Create(WireMock.ResponseMessage) +FNDA:100,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::Create(WireMock.ResponseMessage) +DA:63,100 +DA:64,100 +DA:65,100 +DA:66,100 +BRDA:64,3,0,100 +BRDA:64,3,1,100 +FN:74,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::Create(System.Func`1) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::Create(System.Func`1) +DA:75,1 +DA:76,1 +DA:78,1 +DA:79,1 +FN:98,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithStatusCode(System.Int32) +FNDA:24,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithStatusCode(System.Int32) +DA:99,24 +DA:100,24 +DA:101,24 +DA:102,24 +FN:110,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithStatusCode(System.Net.HttpStatusCode) +FNDA:0,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithStatusCode(System.Net.HttpStatusCode) +DA:111,0 +DA:112,0 +DA:113,0 +FN:120,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithSuccess() +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithSuccess() +DA:121,1 +DA:122,1 +DA:123,1 +FN:130,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithNotFound() +FNDA:0,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithNotFound() +DA:131,0 +DA:132,0 +DA:133,0 +FN:136,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeader(System.String,System.String[]) +FNDA:103,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeader(System.String,System.String[]) +DA:137,103 +DA:138,103 +DA:140,103 +DA:141,103 +DA:142,103 +FN:145,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2) +DA:146,1 +DA:147,1 +DA:149,3 +DA:150,1 +DA:151,1 +BRDA:149,26,0,1 +BRDA:149,26,1,1 +BRDA:149,57,0,1 +BRDA:149,57,1,1 +FN:154,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2) +DA:155,1 +DA:156,1 +DA:158,3 +DA:159,1 +DA:160,1 +BRDA:158,26,0,1 +BRDA:158,26,1,1 +BRDA:158,57,0,1 +BRDA:158,57,1,1 +FN:163,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2>) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithHeaders(System.Collections.Generic.IDictionary`2>) +DA:164,1 +DA:165,1 +DA:166,1 +DA:167,1 +FN:170,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.Func`2,System.String,System.Text.Encoding) +FNDA:2,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.Func`2,System.String,System.Text.Encoding) +DA:171,2 +DA:172,2 +DA:174,4 +DA:175,4 +DA:176,4 +DA:177,4 +DA:178,4 +DA:179,4 +DA:180,2 +FN:183,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.Byte[],System.String,System.Text.Encoding) +FNDA:3,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.Byte[],System.String,System.Text.Encoding) +DA:184,3 +DA:185,3 +DA:187,3 +DA:189,3 +DA:192,1 +DA:193,1 +DA:194,1 +DA:195,1 +DA:196,1 +DA:199,2 +DA:200,2 +DA:201,2 +DA:204,3 +DA:205,3 +BRDA:189,39,1,1 +BRDA:192,45,0,0 +BRDA:192,45,1,1 +BRDA:189,39,0,2 +FN:208,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyFromFile(System.String,System.Boolean) +FNDA:3,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyFromFile(System.String,System.Boolean) +DA:209,3 +DA:210,3 +DA:212,3 +DA:213,3 +DA:215,3 +DA:216,3 +DA:217,3 +DA:218,3 +DA:219,3 +DA:220,3 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:228,3 +DA:229,3 +BRDA:215,47,0,3 +BRDA:215,47,1,0 +FN:232,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.String,System.String,System.Text.Encoding) +FNDA:57,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBody(System.String,System.String,System.Text.Encoding) +DA:233,57 +DA:234,57 +DA:236,57 +DA:238,57 +DA:239,57 +DA:241,57 +DA:244,1 +DA:245,1 +DA:246,1 +DA:247,1 +DA:250,1 +DA:251,1 +DA:252,1 +DA:253,1 +DA:256,55 +DA:257,55 +DA:258,55 +DA:259,55 +DA:262,57 +DA:263,57 +BRDA:236,15,0,47 +BRDA:236,15,1,57 +BRDA:241,64,0,56 +BRDA:241,64,1,1 +BRDA:241,77,1,1 +BRDA:241,77,0,55 +FN:266,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyAsJson(System.Object,System.Text.Encoding,System.Nullable`1) +FNDA:17,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyAsJson(System.Object,System.Text.Encoding,System.Nullable`1) +DA:267,17 +DA:268,17 +DA:270,17 +DA:271,17 +DA:272,17 +DA:273,17 +DA:275,17 +DA:276,17 +FN:279,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyAsJson(System.Object,System.Boolean) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyAsJson(System.Object,System.Boolean) +DA:280,1 +DA:281,1 +DA:282,1 +FN:285,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyFromBase64(System.String,System.Text.Encoding) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithBodyFromBase64(System.String,System.Text.Encoding) +DA:286,1 +DA:287,1 +DA:289,1 +DA:291,1 +DA:292,1 +DA:293,1 +DA:295,1 +DA:296,1 +BRDA:289,15,0,1 +BRDA:289,15,1,1 +FN:299,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithTransformer() +FNDA:32,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithTransformer() +DA:300,32 +DA:301,32 +DA:302,32 +DA:303,32 +FN:306,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithDelay(System.TimeSpan) +FNDA:1,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithDelay(System.TimeSpan) +DA:307,1 +DA:308,2 +DA:310,1 +DA:311,1 +DA:312,1 +BRDA:308,8,0,1 +BRDA:308,8,1,1 +FN:315,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithDelay(System.Int32) +FNDA:0,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithDelay(System.Int32) +DA:316,0 +DA:317,0 +DA:318,0 +FN:321,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithProxy(System.String,System.String) +FNDA:0,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithProxy(System.String,System.String) +DA:322,0 +DA:323,0 +DA:325,0 +DA:326,0 +DA:327,0 +DA:328,0 +DA:329,0 +FN:332,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithProxy(WireMock.Settings.IProxyAndRecordSettings) +FNDA:0,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithProxy(WireMock.Settings.IProxyAndRecordSettings) +DA:333,0 +DA:334,0 +DA:336,0 +DA:337,0 +FN:340,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithCallback(System.Func`2) +FNDA:3,WireMock.ResponseBuilders.IResponseBuilder WireMock.ResponseBuilders.Response::WithCallback(System.Func`2) +DA:341,3 +DA:342,3 +DA:344,3 +DA:346,3 +DA:347,3 +FN:86,System.Void WireMock.ResponseBuilders.Response::.ctor(WireMock.ResponseMessage) +FNDA:101,System.Void WireMock.ResponseBuilders.Response::.ctor(WireMock.ResponseMessage) +DA:87,101 +DA:88,101 +DA:89,101 +DA:90,101 +FN:354,System.Void WireMock.ResponseBuilders.Response/d__48::MoveNext() +FNDA:90,System.Void WireMock.ResponseBuilders.Response/d__48::MoveNext() +DA:355,90 +DA:356,90 +DA:358,90 +DA:359,1 +DA:360,1 +DA:361,1 +DA:363,90 +DA:364,3 +DA:365,3 +DA:368,3 +DA:371,3 +DA:372,3 +DA:373,3 +DA:374,3 +DA:376,3 +DA:379,87 +DA:380,0 +DA:381,0 +DA:382,0 +DA:383,0 +DA:385,0 +DA:388,87 +DA:389,32 +DA:390,32 +DA:394,55 +DA:395,85 +BRDA:355,14,0,90 +BRDA:358,67,0,1 +BRDA:360,108,0,1 +BRDA:360,108,1,1 +BRDA:358,67,1,90 +BRDA:363,207,0,3 +BRDA:371,289,0,3 +BRDA:371,289,1,3 +BRDA:363,207,1,87 +BRDA:379,344,0,0 +BRDA:379,344,1,87 +BRDA:379,367,0,0 +BRDA:385,492,0,0 +BRDA:355,14,1,0 +BRDA:385,492,1,0 +BRDA:379,367,1,87 +BRDA:388,601,0,32 +BRDA:388,601,1,55 +LF:183 +LH:152 +BRF:46 +BRH:39 +FNF:31 +FNH:25 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\RequestBuilders\Request.cs +FN:23,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::Create() +FNDA:326,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::Create() +DA:24,326 +DA:25,326 +DA:26,326 +FN:42,System.Collections.Generic.IList`1 WireMock.RequestBuilders.Request::GetRequestMessageMatchers() +FNDA:12,System.Collections.Generic.IList`1 WireMock.RequestBuilders.Request::GetRequestMessageMatchers() +DA:43,12 +DA:44,18 +DA:45,12 +BRDA:44,13,0,6 +BRDA:44,13,1,12 +FN:52,T WireMock.RequestBuilders.Request::GetRequestMessageMatcher() +FNDA:4,T WireMock.RequestBuilders.Request::GetRequestMessageMatcher() +DA:53,4 +DA:54,6 +DA:55,4 +BRDA:54,13,0,2 +BRDA:54,13,1,4 +FN:58,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(WireMock.Matchers.IStringMatcher[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(WireMock.Matchers.IStringMatcher[]) +DA:59,1 +DA:60,1 +DA:62,1 +DA:63,1 +DA:64,1 +FN:67,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(System.String[]) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(System.String[]) +DA:68,2 +DA:69,2 +DA:70,2 +FN:73,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:74,2 +DA:75,2 +DA:77,2 +DA:78,2 +DA:79,2 +FN:82,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(System.Func`2[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithClientIP(System.Func`2[]) +DA:83,1 +DA:84,1 +DA:86,1 +DA:87,1 +DA:88,1 +FN:91,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.IStringMatcher[]) +FNDA:67,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.IStringMatcher[]) +DA:92,67 +DA:93,67 +DA:95,67 +DA:96,67 +DA:97,67 +FN:100,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(System.String[]) +FNDA:210,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(System.String[]) +DA:101,210 +DA:102,210 +DA:103,210 +FN:106,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:210,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:107,210 +DA:108,210 +DA:110,210 +DA:111,210 +DA:112,210 +FN:115,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(System.Func`2[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(System.Func`2[]) +DA:116,1 +DA:117,1 +DA:119,1 +DA:120,1 +DA:121,1 +FN:124,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(WireMock.Matchers.IStringMatcher[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(WireMock.Matchers.IStringMatcher[]) +DA:125,1 +DA:126,1 +DA:128,1 +DA:129,1 +DA:130,1 +FN:133,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(System.String[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(System.String[]) +DA:134,1 +DA:135,1 +DA:136,1 +FN:139,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:140,1 +DA:141,1 +DA:143,1 +DA:144,1 +DA:145,1 +FN:148,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(System.Func`2[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithUrl(System.Func`2[]) +DA:149,1 +DA:150,1 +DA:152,1 +DA:153,1 +DA:154,1 +FN:157,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingDelete(WireMock.Matchers.MatchBehaviour) +FNDA:56,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingDelete(WireMock.Matchers.MatchBehaviour) +DA:158,56 +DA:159,56 +DA:160,56 +DA:161,56 +FN:164,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingGet(WireMock.Matchers.MatchBehaviour) +FNDA:95,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingGet(WireMock.Matchers.MatchBehaviour) +DA:165,95 +DA:166,95 +DA:167,95 +DA:168,95 +FN:171,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingHead(WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingHead(WireMock.Matchers.MatchBehaviour) +DA:172,1 +DA:173,1 +DA:174,1 +DA:175,1 +FN:178,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPost(WireMock.Matchers.MatchBehaviour) +FNDA:68,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPost(WireMock.Matchers.MatchBehaviour) +DA:179,68 +DA:180,68 +DA:181,68 +DA:182,68 +FN:185,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPatch(WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPatch(WireMock.Matchers.MatchBehaviour) +DA:186,1 +DA:187,1 +DA:188,1 +DA:189,1 +FN:192,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPut(WireMock.Matchers.MatchBehaviour) +FNDA:14,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPut(WireMock.Matchers.MatchBehaviour) +DA:193,14 +DA:194,14 +DA:195,14 +DA:196,14 +FN:199,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingAnyMethod() +FNDA:28,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingAnyMethod() +DA:200,28 +DA:201,34 +DA:202,86 +DA:203,1 +DA:204,1 +DA:205,1 +DA:207,28 +DA:208,28 +BRDA:201,13,0,1 +BRDA:201,13,1,28 +BRDA:202,89,1,1 +BRDA:202,89,0,28 +FN:211,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingAnyVerb() +FNDA:0,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingAnyVerb() +DA:212,0 +DA:213,0 +DA:214,0 +FN:217,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(System.String[]) +FNDA:23,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(System.String[]) +DA:218,23 +DA:219,23 +DA:220,23 +FN:223,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingVerb(System.String[]) +FNDA:0,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingVerb(System.String[]) +DA:224,0 +DA:225,0 +DA:226,0 +FN:229,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:23,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:230,23 +DA:231,23 +DA:233,23 +DA:234,23 +DA:235,23 +FN:238,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.String,WireMock.Matchers.MatchBehaviour) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.String,WireMock.Matchers.MatchBehaviour) +DA:239,2 +DA:240,2 +DA:241,2 +DA:242,2 +FN:245,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Byte[],WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Byte[],WireMock.Matchers.MatchBehaviour) +DA:246,1 +DA:247,1 +DA:248,1 +DA:249,1 +FN:252,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Object,WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Object,WireMock.Matchers.MatchBehaviour) +DA:253,1 +DA:254,1 +DA:255,1 +DA:256,1 +FN:259,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(WireMock.Matchers.IMatcher) +FNDA:20,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(WireMock.Matchers.IMatcher) +DA:260,20 +DA:261,20 +DA:263,20 +DA:264,20 +DA:265,20 +FN:268,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +DA:269,1 +DA:270,1 +DA:272,1 +DA:273,1 +DA:274,1 +FN:277,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +DA:278,1 +DA:279,1 +DA:281,1 +DA:282,1 +DA:283,1 +FN:286,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithBody(System.Func`2) +DA:287,1 +DA:288,1 +DA:290,1 +DA:291,1 +DA:292,1 +FN:295,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour) +DA:296,1 +DA:297,1 +DA:299,1 +DA:300,1 +DA:301,1 +FN:304,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,System.String[]) +FNDA:3,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,System.String[]) +DA:305,3 +DA:306,3 +DA:307,3 +FN:310,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.IStringMatcher[]) +DA:311,1 +DA:312,1 +DA:313,1 +FN:316,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:3,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,System.String[]) +DA:317,3 +DA:318,3 +DA:320,3 +DA:321,3 +DA:322,3 +FN:325,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,WireMock.Matchers.IStringMatcher[]) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,WireMock.Matchers.IStringMatcher[]) +DA:326,2 +DA:327,2 +DA:329,2 +DA:330,2 +DA:331,2 +FN:334,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.Func`2>,System.Boolean>[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.Func`2>,System.Boolean>[]) +DA:335,1 +DA:336,1 +DA:338,1 +DA:339,1 +DA:340,1 +FN:343,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,WireMock.Matchers.MatchBehaviour) +DA:344,1 +DA:345,1 +DA:346,1 +FN:349,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) +FNDA:39,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) +DA:350,39 +DA:351,39 +DA:352,39 +DA:354,39 +DA:355,39 +DA:356,39 +FN:359,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],WireMock.Matchers.MatchBehaviour) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],WireMock.Matchers.MatchBehaviour) +DA:360,1 +DA:361,1 +DA:362,1 +FN:365,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],System.Boolean,WireMock.Matchers.MatchBehaviour) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],System.Boolean,WireMock.Matchers.MatchBehaviour) +DA:366,2 +DA:367,2 +DA:368,2 +DA:370,2 +DA:371,2 +DA:372,2 +FN:375,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,WireMock.Matchers.IStringMatcher[]) +DA:376,1 +DA:377,1 +DA:378,1 +DA:380,1 +DA:381,1 +DA:382,1 +FN:385,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.Func`2,System.Boolean>[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.Func`2,System.Boolean>[]) +DA:386,1 +DA:387,1 +DA:389,1 +DA:390,1 +DA:391,1 +FN:394,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) +FNDA:2,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) +DA:395,2 +DA:396,2 +DA:397,2 +DA:398,2 +FN:401,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,WireMock.Matchers.IStringMatcher[]) +DA:402,1 +DA:403,1 +DA:405,1 +DA:406,1 +DA:407,1 +FN:410,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.Func`2,System.Boolean>[]) +FNDA:1,WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.Func`2,System.Boolean>[]) +DA:411,1 +DA:412,1 +DA:414,1 +DA:415,1 +DA:416,1 +FN:31,System.Void WireMock.RequestBuilders.Request::.ctor(System.Collections.Generic.IList`1) +FNDA:326,System.Void WireMock.RequestBuilders.Request::.ctor(System.Collections.Generic.IList`1) +DA:32,326 +DA:33,326 +DA:34,326 +DA:35,326 +LF:214 +LH:208 +BRF:8 +BRH:8 +FNF:49 +FNH:47 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\AspNetCoreSelfHost.cs +FN:26,System.Boolean WireMock.Owin.AspNetCoreSelfHost::get_IsStarted() +FNDA:510,System.Boolean WireMock.Owin.AspNetCoreSelfHost::get_IsStarted() +DA:27,510 +FN:28,System.Collections.Generic.List`1 WireMock.Owin.AspNetCoreSelfHost::get_Urls() +FNDA:110,System.Collections.Generic.List`1 WireMock.Owin.AspNetCoreSelfHost::get_Urls() +DA:29,110 +FN:30,System.Collections.Generic.List`1 WireMock.Owin.AspNetCoreSelfHost::get_Ports() +FNDA:165,System.Collections.Generic.List`1 WireMock.Owin.AspNetCoreSelfHost::get_Ports() +DA:31,165 +FN:32,System.Exception WireMock.Owin.AspNetCoreSelfHost::get_RunningException() +FNDA:396,System.Exception WireMock.Owin.AspNetCoreSelfHost::get_RunningException() +DA:33,396 +FN:54,System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StartAsync() +FNDA:55,System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StartAsync() +DA:55,55 +DA:56,55 +DA:57,55 +DA:58,110 +DA:59,110 +DA:60,55 +DA:61,110 +DA:62,55 +DA:63,110 +DA:64,55 +DA:65,110 +DA:66,110 +DA:67,55 +DA:68,110 +DA:69,55 +DA:70,55 +DA:71,55 +DA:72,55 +DA:73,55 +DA:74,55 +DA:75,55 +DA:76,385 +DA:77,110 +DA:78,110 +DA:79,110 +DA:80,110 +DA:81,55 +DA:82,275 +DA:83,55 +DA:84,55 +DA:85,55 +DA:86,55 +DA:87,55 +DA:88,55 +DA:89,55 +DA:90,55 +DA:91,110 +DA:92,55 +DA:93,55 +DA:94,55 +DA:95,55 +DA:97,55 +DA:98,110 +DA:99,110 +DA:100,57 +DA:101,55 +FN:103,System.Void WireMock.Owin.AspNetCoreSelfHost::StartServers() +FNDA:55,System.Void WireMock.Owin.AspNetCoreSelfHost::StartServers() +DA:104,55 +DA:106,55 +DA:107,55 +DA:108,110 +DA:113,55 +DA:121,55 +DA:123,2 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:130,2 +DA:131,2 +DA:132,2 +DA:133,2 +FN:135,System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StopAsync() +FNDA:2,System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StopAsync() +DA:136,2 +DA:137,2 +DA:139,2 +DA:143,2 +DA:145,2 +FN:18,System.Void WireMock.Owin.AspNetCoreSelfHost::.ctor(WireMock.Owin.WireMockMiddlewareOptions,System.String[]) +FNDA:55,System.Void WireMock.Owin.AspNetCoreSelfHost::.ctor(WireMock.Owin.WireMockMiddlewareOptions,System.String[]) +DA:19,55 +DA:35,55 +DA:36,55 +DA:37,55 +DA:38,55 +DA:40,55 +DA:42,275 +DA:43,55 +DA:44,55 +DA:46,55 +DA:47,55 +DA:48,55 +DA:50,55 +DA:51,55 +DA:52,55 +BRDA:40,73,0,0 +BRDA:40,73,1,55 +BRDA:42,147,1,55 +BRDA:42,147,0,55 +LF:86 +LH:81 +BRF:18 +BRH:12 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\GlobalExceptionMiddleware.cs +FN:33,Microsoft.AspNetCore.Http.RequestDelegate WireMock.Owin.GlobalExceptionMiddleware::get_Next() +FNDA:65,Microsoft.AspNetCore.Http.RequestDelegate WireMock.Owin.GlobalExceptionMiddleware::get_Next() +DA:34,65 +FN:25,System.Void WireMock.Owin.GlobalExceptionMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) +FNDA:55,System.Void WireMock.Owin.GlobalExceptionMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) +DA:26,55 +DA:27,55 +DA:28,55 +DA:29,55 +DA:30,55 +DA:37,55 +FN:43,System.Void WireMock.Owin.GlobalExceptionMiddleware/d__6::MoveNext() +FNDA:65,System.Void WireMock.Owin.GlobalExceptionMiddleware/d__6::MoveNext() +DA:44,65 +DA:46,65 +DA:47,65 +DA:48,65 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,65 +BRDA:44,14,0,65 +BRDA:44,35,0,65 +BRDA:47,54,0,0 +BRDA:47,54,1,65 +BRDA:47,84,0,2 +BRDA:44,35,1,2 +BRDA:47,84,1,65 +BRDA:49,192,1,0 +BRDA:52,331,0,0 +BRDA:44,14,1,0 +BRDA:52,331,1,0 +BRDA:49,192,0,65 +LF:17 +LH:12 +BRF:12 +BRH:7 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\OwinRequestMapper.cs +FN:74,System.Boolean WireMock.Owin.OwinRequestMapper::ShouldParseBody(System.String) +FNDA:65,System.Boolean WireMock.Owin.OwinRequestMapper::ShouldParseBody(System.String) +DA:75,65 +DA:87,65 +DA:88,65 +FN:31,System.Void WireMock.Owin.OwinRequestMapper/d__0::MoveNext() +FNDA:65,System.Void WireMock.Owin.OwinRequestMapper/d__0::MoveNext() +DA:32,65 +DA:37,65 +DA:38,65 +DA:39,65 +DA:40,65 +DA:41,65 +DA:43,65 +DA:45,65 +DA:46,65 +DA:47,65 +DA:48,65 +DA:49,393 +DA:50,99 +DA:51,99 +DA:52,99 +DA:53,65 +DA:55,65 +DA:56,65 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,65 +DA:66,65 +DA:67,16 +DA:68,16 +DA:69,16 +DA:71,65 +DA:72,65 +BRDA:39,95,0,65 +BRDA:39,95,1,0 +BRDA:46,183,0,65 +BRDA:49,306,1,99 +BRDA:49,306,0,65 +BRDA:46,183,1,65 +BRDA:56,368,0,0 +BRDA:59,486,1,0 +BRDA:59,486,0,0 +BRDA:56,368,1,65 +BRDA:66,541,0,65 +BRDA:66,541,1,0 +BRDA:66,567,0,16 +BRDA:68,614,0,0 +BRDA:68,614,1,16 +BRDA:66,567,1,65 +LF:35 +LH:28 +BRF:16 +BRH:10 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\OwinResponseMapper.cs +FN:41,System.Void WireMock.Owin.OwinResponseMapper::SetResponseHeaders(WireMock.ResponseMessage,Microsoft.AspNetCore.Http.HttpResponse) +FNDA:65,System.Void WireMock.Owin.OwinResponseMapper::SetResponseHeaders(WireMock.ResponseMessage,Microsoft.AspNetCore.Http.HttpResponse) +DA:42,65 +DA:44,247 +DA:45,26 +DA:46,26 +DA:47,22 +DA:48,22 +DA:49,22 +DA:51,4 +DA:60,4 +DA:62,4 +DA:63,26 +DA:64,65 +BRDA:44,131,1,26 +BRDA:46,43,0,22 +BRDA:48,64,0,0 +BRDA:48,64,1,22 +BRDA:46,43,1,4 +BRDA:44,131,0,65 +FN:23,System.Void WireMock.Owin.OwinResponseMapper::.ctor() +FNDA:110,System.Void WireMock.Owin.OwinResponseMapper::.ctor() +DA:24,110 +FN:29,System.Void WireMock.Owin.OwinResponseMapper::.cctor() +FNDA:1,System.Void WireMock.Owin.OwinResponseMapper::.cctor() +DA:30,1 +DA:31,1 +DA:32,23 +DA:33,1 +FN:77,System.Void WireMock.Owin.OwinResponseMapper/d__3::MoveNext() +FNDA:65,System.Void WireMock.Owin.OwinResponseMapper/d__3::MoveNext() +DA:78,65 +DA:79,65 +DA:80,0 +DA:81,0 +DA:84,65 +DA:86,65 +DA:87,65 +DA:88,2 +DA:89,2 +DA:90,2 +DA:91,63 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,63 +DA:96,19 +DA:97,19 +DA:98,19 +DA:99,19 +DA:100,19 +DA:101,44 +DA:102,30 +DA:103,30 +DA:104,30 +DA:106,65 +DA:108,65 +DA:109,51 +DA:110,51 +DA:111,51 +DA:112,65 +BRDA:79,29,0,0 +BRDA:79,29,1,65 +BRDA:87,83,0,2 +BRDA:87,83,1,63 +BRDA:91,125,0,0 +BRDA:91,125,1,63 +BRDA:95,174,0,19 +BRDA:97,206,0,18 +BRDA:97,206,1,1 +BRDA:97,218,0,18 +BRDA:97,218,1,1 +BRDA:99,290,0,2 +BRDA:99,290,1,19 +BRDA:95,174,1,44 +BRDA:101,348,0,30 +BRDA:103,364,0,0 +BRDA:103,364,1,30 +BRDA:101,348,1,65 +BRDA:108,437,0,51 +BRDA:110,485,0,0 +BRDA:110,485,1,51 +BRDA:108,437,1,65 +LF:47 +LH:42 +BRF:28 +BRH:23 +FNF:4 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\WireMockMiddleware.cs +FN:161,System.Void WireMock.Owin.WireMockMiddleware::LogRequest(WireMock.Logging.LogEntry,System.Boolean) +FNDA:65,System.Void WireMock.Owin.WireMockMiddleware::LogRequest(WireMock.Logging.LogEntry,System.Boolean) +DA:162,65 +DA:163,65 +DA:165,65 +DA:166,57 +DA:167,57 +DA:168,57 +DA:170,65 +DA:171,3 +DA:172,3 +DA:173,8 +DA:174,1 +DA:175,1 +DA:176,1 +DA:177,3 +DA:179,65 +DA:180,0 +DA:181,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,65 +BRDA:165,48,0,57 +BRDA:165,48,1,65 +BRDA:170,91,0,3 +BRDA:173,171,1,1 +BRDA:173,171,0,3 +BRDA:170,91,1,65 +BRDA:179,197,0,0 +BRDA:183,348,1,0 +BRDA:186,306,0,0 +BRDA:186,306,1,0 +BRDA:183,348,0,0 +BRDA:179,197,1,65 +FN:28,System.Void WireMock.Owin.WireMockMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) +FNDA:55,System.Void WireMock.Owin.WireMockMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) +DA:29,55 +DA:30,55 +DA:38,55 +DA:39,55 +DA:40,55 +DA:41,55 +FN:25,System.Void WireMock.Owin.WireMockMiddleware::.cctor() +FNDA:1,System.Void WireMock.Owin.WireMockMiddleware::.cctor() +DA:26,1 +FN:70,<>f__AnonymousType0`2 WireMock.Owin.WireMockMiddleware/<>c__DisplayClass5_0::b__0(WireMock.Mapping) +FNDA:360,<>f__AnonymousType0`2 WireMock.Owin.WireMockMiddleware/<>c__DisplayClass5_0::b__0(WireMock.Mapping) +DA:71,360 +DA:72,360 +DA:73,360 +DA:74,360 +DA:75,360 +BRDA:71,14,0,30 +BRDA:71,14,1,266 +BRDA:71,43,0,266 +BRDA:71,43,1,29 +FN:57,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_1(WireMock.Mapping) +FNDA:550,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_1(WireMock.Mapping) +DA:58,550 +BRDA:58,1,0,0 +BRDA:58,1,1,295 +FN:80,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_2(<>f__AnonymousType0`2) +FNDA:0,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_2(<>f__AnonymousType0`2) +DA:81,0 +BRDA:81,11,0,0 +BRDA:81,11,1,0 +BRDA:81,24,0,0 +BRDA:81,24,1,0 +FN:81,WireMock.Matchers.Request.RequestMatchResult WireMock.Owin.WireMockMiddleware/<>c::b__5_3(<>f__AnonymousType0`2) +FNDA:0,WireMock.Matchers.Request.RequestMatchResult WireMock.Owin.WireMockMiddleware/<>c::b__5_3(<>f__AnonymousType0`2) +DA:82,0 +FN:82,System.Int32 WireMock.Owin.WireMockMiddleware/<>c::b__5_4(<>f__AnonymousType0`2) +FNDA:0,System.Int32 WireMock.Owin.WireMockMiddleware/<>c::b__5_4(<>f__AnonymousType0`2) +DA:83,0 +FN:85,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_5(<>f__AnonymousType0`2) +FNDA:0,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_5(<>f__AnonymousType0`2) +DA:86,0 +FN:93,System.Int32 WireMock.Owin.WireMockMiddleware/<>c::b__5_6(<>f__AnonymousType0`2) +FNDA:117,System.Int32 WireMock.Owin.WireMockMiddleware/<>c::b__5_6(<>f__AnonymousType0`2) +DA:94,117 +FN:94,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_7(<>f__AnonymousType0`2) +FNDA:360,System.Boolean WireMock.Owin.WireMockMiddleware/<>c::b__5_7(<>f__AnonymousType0`2) +DA:95,360 +FN:48,System.Void WireMock.Owin.WireMockMiddleware/d__5::MoveNext() +FNDA:65,System.Void WireMock.Owin.WireMockMiddleware/d__5::MoveNext() +DA:49,65 +DA:50,65 +DA:52,65 +DA:53,65 +DA:54,65 +DA:55,65 +DA:57,65 +DA:59,30 +DA:61,30 +DA:62,4 +DA:63,4 +DA:64,4 +DA:65,4 +DA:66,4 +DA:67,4 +DA:68,30 +DA:70,65 +DA:76,65 +DA:78,65 +DA:79,0 +DA:80,0 +DA:84,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:92,65 +DA:93,65 +DA:97,65 +DA:98,65 +DA:99,65 +DA:101,65 +DA:102,14 +DA:103,14 +DA:104,14 +DA:105,14 +DA:106,14 +DA:109,51 +DA:111,51 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:120,0 +DA:122,51 +DA:123,1 +DA:124,1 +DA:125,1 +DA:127,51 +DA:129,51 +DA:130,9 +DA:131,9 +DA:132,9 +DA:133,9 +DA:134,9 +DA:135,51 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:142,65 +DA:143,65 +DA:144,65 +DA:145,65 +DA:146,65 +DA:147,65 +DA:148,65 +DA:149,65 +DA:150,65 +DA:151,65 +DA:153,65 +DA:155,65 +DA:156,65 +DA:158,51 +DA:159,65 +BRDA:50,121,0,0 +BRDA:50,121,1,65 +BRDA:55,293,0,67 +BRDA:55,293,1,67 +BRDA:55,302,0,66 +BRDA:55,308,0,65 +BRDA:58,352,0,1 +BRDA:58,352,1,65 +BRDA:58,544,1,30 +BRDA:61,447,0,7 +BRDA:61,447,1,23 +BRDA:61,465,0,4 +BRDA:61,465,1,30 +BRDA:58,544,0,65 +BRDA:78,657,0,0 +BRDA:80,676,0,0 +BRDA:80,676,1,0 +BRDA:80,712,0,0 +BRDA:80,712,1,0 +BRDA:80,748,0,0 +BRDA:80,748,1,0 +BRDA:86,801,0,0 +BRDA:86,801,1,0 +BRDA:88,844,0,0 +BRDA:88,844,1,0 +BRDA:89,868,0,0 +BRDA:89,868,1,0 +BRDA:78,657,1,65 +BRDA:93,918,0,1 +BRDA:93,918,1,65 +BRDA:93,954,0,1 +BRDA:93,954,1,65 +BRDA:97,997,0,14 +BRDA:97,997,1,51 +BRDA:98,1021,0,14 +BRDA:98,1021,1,51 +BRDA:101,1058,0,14 +BRDA:101,1058,1,51 +BRDA:111,1167,0,8 +BRDA:111,1167,1,43 +BRDA:111,1195,0,0 +BRDA:114,1245,0,0 +BRDA:114,1245,1,0 +BRDA:114,1297,0,0 +BRDA:114,1297,1,0 +BRDA:111,1195,1,51 +BRDA:122,1383,0,43 +BRDA:122,1417,0,42 +BRDA:122,1417,1,1 +BRDA:122,1383,1,8 +BRDA:122,1443,0,1 +BRDA:124,1490,0,1 +BRDA:55,302,1,1 +BRDA:124,1490,1,1 +BRDA:122,1443,1,51 +BRDA:127,1606,0,1 +BRDA:55,308,1,1 +BRDA:127,1606,1,51 +BRDA:129,1727,0,9 +BRDA:129,1727,1,51 +BRDA:143,2048,0,14 +BRDA:143,2048,1,51 +BRDA:143,2087,0,14 +BRDA:143,2087,1,51 +BRDA:155,2193,0,0 +BRDA:155,2193,1,65 +BRDA:156,2290,0,0 +BRDA:156,2303,0,0 +BRDA:156,2303,1,0 +BRDA:156,2290,1,65 +BRDA:156,2332,1,14 +BRDA:156,2332,0,51 +BRDA:158,2367,0,0 +BRDA:158,2367,1,51 +LF:124 +LH:90 +BRF:96 +BRH:62 +FNF:12 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Owin\WireMockMiddlewareOptions.cs +FN:16,WireMock.Logging.IWireMockLogger WireMock.Owin.WireMockMiddlewareOptions::get_Logger() +FNDA:189,WireMock.Logging.IWireMockLogger WireMock.Owin.WireMockMiddlewareOptions::get_Logger() +DA:17,189 +FN:18,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_RequestProcessingDelay() +FNDA:46,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_RequestProcessingDelay() +DA:19,46 +FN:20,WireMock.Matchers.IStringMatcher WireMock.Owin.WireMockMiddlewareOptions::get_AuthorizationMatcher() +FNDA:18,WireMock.Matchers.IStringMatcher WireMock.Owin.WireMockMiddlewareOptions::get_AuthorizationMatcher() +DA:21,18 +FN:22,System.Boolean WireMock.Owin.WireMockMiddlewareOptions::get_AllowPartialMapping() +FNDA:66,System.Boolean WireMock.Owin.WireMockMiddlewareOptions::get_AllowPartialMapping() +DA:23,66 +FN:24,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Owin.WireMockMiddlewareOptions::get_Mappings() +FNDA:753,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Owin.WireMockMiddlewareOptions::get_Mappings() +DA:25,753 +FN:26,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Owin.WireMockMiddlewareOptions::get_Scenarios() +FNDA:188,System.Collections.Concurrent.ConcurrentDictionary`2 WireMock.Owin.WireMockMiddlewareOptions::get_Scenarios() +DA:27,188 +FN:28,System.Collections.ObjectModel.ObservableCollection`1 WireMock.Owin.WireMockMiddlewareOptions::get_LogEntries() +FNDA:140,System.Collections.ObjectModel.ObservableCollection`1 WireMock.Owin.WireMockMiddlewareOptions::get_LogEntries() +DA:29,140 +FN:30,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_RequestLogExpirationDuration() +FNDA:68,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_RequestLogExpirationDuration() +DA:31,68 +FN:32,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_MaxRequestLogCount() +FNDA:72,System.Nullable`1 WireMock.Owin.WireMockMiddlewareOptions::get_MaxRequestLogCount() +DA:33,72 +FN:39,System.Action`1 WireMock.Owin.WireMockMiddlewareOptions::get_PreWireMockMiddlewareInit() +FNDA:110,System.Action`1 WireMock.Owin.WireMockMiddlewareOptions::get_PreWireMockMiddlewareInit() +DA:40,110 +FN:41,System.Action`1 WireMock.Owin.WireMockMiddlewareOptions::get_PostWireMockMiddlewareInit() +FNDA:110,System.Action`1 WireMock.Owin.WireMockMiddlewareOptions::get_PostWireMockMiddlewareInit() +DA:42,110 +LF:11 +LH:11 +BRF:0 +BRH:0 +FNF:11 +FNH:11 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Models\UrlDetails.cs +FN:13,System.Uri WireMock.Models.UrlDetails::get_Url() +FNDA:1251,System.Uri WireMock.Models.UrlDetails::get_Url() +DA:14,1251 +FN:18,System.Uri WireMock.Models.UrlDetails::get_AbsoluteUrl() +FNDA:419,System.Uri WireMock.Models.UrlDetails::get_AbsoluteUrl() +DA:19,419 +FN:24,System.Void WireMock.Models.UrlDetails::.ctor(System.String) +FNDA:141,System.Void WireMock.Models.UrlDetails::.ctor(System.String) +DA:25,141 +DA:26,141 +DA:27,141 +FN:32,System.Void WireMock.Models.UrlDetails::.ctor(System.Uri) +FNDA:141,System.Void WireMock.Models.UrlDetails::.ctor(System.Uri) +DA:33,141 +DA:34,141 +DA:35,141 +FN:41,System.Void WireMock.Models.UrlDetails::.ctor(System.Uri,System.Uri) +FNDA:211,System.Void WireMock.Models.UrlDetails::.ctor(System.Uri,System.Uri) +DA:42,211 +DA:43,211 +DA:44,211 +DA:45,211 +DA:47,211 +DA:48,211 +DA:49,211 +LF:15 +LH:15 +BRF:0 +BRH:0 +FNF:5 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\ExactMatcher.cs +FN:15,WireMock.Matchers.MatchBehaviour WireMock.Matchers.ExactMatcher::get_MatchBehaviour() +FNDA:25,WireMock.Matchers.MatchBehaviour WireMock.Matchers.ExactMatcher::get_MatchBehaviour() +DA:16,25 +FN:40,System.Double WireMock.Matchers.ExactMatcher::IsMatch(System.String) +FNDA:25,System.Double WireMock.Matchers.ExactMatcher::IsMatch(System.String) +DA:41,25 +DA:42,76 +DA:43,25 +FN:46,System.String[] WireMock.Matchers.ExactMatcher::GetPatterns() +FNDA:3,System.String[] WireMock.Matchers.ExactMatcher::GetPatterns() +DA:47,3 +DA:48,3 +DA:49,3 +FN:51,System.String WireMock.Matchers.ExactMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.ExactMatcher::get_Name() +DA:52,1 +FN:21,System.Void WireMock.Matchers.ExactMatcher::.ctor(System.String[]) +FNDA:15,System.Void WireMock.Matchers.ExactMatcher::.ctor(System.String[]) +DA:22,15 +DA:23,15 +DA:24,15 +FN:30,System.Void WireMock.Matchers.ExactMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:39,System.Void WireMock.Matchers.ExactMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:31,39 +DA:32,39 +DA:33,39 +DA:35,39 +DA:36,39 +DA:37,39 +LF:17 +LH:17 +BRF:0 +BRH:0 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\ExactObjectMatcher.cs +FN:16,WireMock.Matchers.MatchBehaviour WireMock.Matchers.ExactObjectMatcher::get_MatchBehaviour() +FNDA:5,WireMock.Matchers.MatchBehaviour WireMock.Matchers.ExactObjectMatcher::get_MatchBehaviour() +DA:17,5 +FN:62,System.Double WireMock.Matchers.ExactObjectMatcher::IsMatch(System.Object) +FNDA:5,System.Double WireMock.Matchers.ExactObjectMatcher::IsMatch(System.Object) +DA:63,5 +DA:64,5 +DA:65,5 +DA:66,5 +BRDA:64,7,0,2 +BRDA:64,7,1,3 +FN:68,System.String WireMock.Matchers.ExactObjectMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.ExactObjectMatcher::get_Name() +DA:69,1 +FN:22,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(System.Object) +FNDA:2,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(System.Object) +DA:23,2 +DA:24,2 +DA:25,2 +FN:31,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +FNDA:4,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +DA:32,4 +DA:33,4 +DA:34,4 +DA:36,4 +DA:37,4 +DA:38,4 +FN:43,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(System.Byte[]) +FNDA:1,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(System.Byte[]) +DA:44,1 +DA:45,1 +DA:46,1 +FN:52,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Byte[]) +FNDA:2,System.Void WireMock.Matchers.ExactObjectMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Byte[]) +DA:53,2 +DA:54,2 +DA:55,2 +DA:57,2 +DA:58,2 +DA:59,2 +LF:24 +LH:24 +BRF:2 +BRH:2 +FNF:7 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\JsonMatcher.cs +FN:13,System.Object WireMock.Matchers.JsonMatcher::get_Value() +FNDA:7,System.Object WireMock.Matchers.JsonMatcher::get_Value() +DA:14,7 +FN:16,System.String WireMock.Matchers.JsonMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.JsonMatcher::get_Name() +DA:17,1 +FN:19,WireMock.Matchers.MatchBehaviour WireMock.Matchers.JsonMatcher::get_MatchBehaviour() +FNDA:7,WireMock.Matchers.MatchBehaviour WireMock.Matchers.JsonMatcher::get_MatchBehaviour() +DA:20,7 +FN:65,System.Double WireMock.Matchers.JsonMatcher::IsMatch(System.Object) +FNDA:7,System.Double WireMock.Matchers.JsonMatcher::IsMatch(System.Object) +DA:66,7 +DA:67,7 +DA:70,7 +DA:71,4 +DA:73,4 +DA:75,4 +DA:79,4 +DA:82,0 +DA:83,0 +DA:86,2 +DA:87,2 +DA:90,2 +DA:91,2 +DA:94,4 +DA:95,4 +DA:96,0 +DA:97,0 +DA:99,0 +DA:100,4 +DA:102,7 +DA:103,7 +BRDA:70,4,0,5 +BRDA:70,4,1,2 +BRDA:70,23,0,4 +BRDA:75,38,0,0 +BRDA:75,38,1,4 +BRDA:79,64,1,4 +BRDA:79,78,1,4 +BRDA:79,78,0,0 +BRDA:79,92,0,2 +BRDA:79,64,0,2 +BRDA:79,92,1,2 +BRDA:70,23,1,7 +FN:25,System.Void WireMock.Matchers.JsonMatcher::.ctor(System.String) +FNDA:6,System.Void WireMock.Matchers.JsonMatcher::.ctor(System.String) +DA:26,6 +DA:27,6 +DA:28,6 +FN:33,System.Void WireMock.Matchers.JsonMatcher::.ctor(System.Object) +FNDA:2,System.Void WireMock.Matchers.JsonMatcher::.ctor(System.Object) +DA:34,2 +DA:35,2 +DA:36,2 +FN:42,System.Void WireMock.Matchers.JsonMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +FNDA:7,System.Void WireMock.Matchers.JsonMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +DA:43,7 +DA:44,7 +DA:45,7 +DA:47,7 +DA:48,7 +DA:49,7 +FN:55,System.Void WireMock.Matchers.JsonMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +FNDA:2,System.Void WireMock.Matchers.JsonMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +DA:56,2 +DA:57,2 +DA:58,2 +DA:60,2 +DA:61,2 +DA:62,2 +LF:42 +LH:37 +BRF:12 +BRH:10 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\JSONPathMatcher.cs +FN:18,WireMock.Matchers.MatchBehaviour WireMock.Matchers.JsonPathMatcher::get_MatchBehaviour() +FNDA:16,WireMock.Matchers.MatchBehaviour WireMock.Matchers.JsonPathMatcher::get_MatchBehaviour() +DA:19,16 +FN:43,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(System.String) +FNDA:6,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(System.String) +DA:44,6 +DA:45,6 +DA:46,6 +DA:47,5 +DA:49,5 +DA:50,5 +DA:51,3 +DA:52,3 +DA:53,2 +DA:54,2 +DA:56,2 +DA:57,5 +DA:59,6 +DA:60,6 +BRDA:46,17,0,5 +BRDA:46,17,1,6 +FN:63,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(System.Object) +FNDA:10,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(System.Object) +DA:64,10 +DA:65,10 +DA:68,10 +DA:69,8 +DA:71,8 +DA:73,8 +DA:74,8 +DA:75,8 +DA:76,0 +DA:77,0 +DA:79,0 +DA:80,8 +DA:82,10 +DA:83,10 +BRDA:68,12,0,9 +BRDA:68,12,1,1 +BRDA:68,31,0,8 +BRDA:73,43,0,1 +BRDA:73,43,1,7 +BRDA:68,31,1,10 +FN:86,System.String[] WireMock.Matchers.JsonPathMatcher::GetPatterns() +FNDA:1,System.String[] WireMock.Matchers.JsonPathMatcher::GetPatterns() +DA:87,1 +DA:88,1 +DA:89,1 +FN:91,System.String WireMock.Matchers.JsonPathMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.JsonPathMatcher::get_Name() +DA:92,1 +FN:94,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(Newtonsoft.Json.Linq.JToken) +FNDA:11,System.Double WireMock.Matchers.JsonPathMatcher::IsMatch(Newtonsoft.Json.Linq.JToken) +DA:95,11 +DA:97,11 +DA:99,33 +DA:100,11 +BRDA:97,14,0,11 +BRDA:97,14,1,0 +FN:24,System.Void WireMock.Matchers.JsonPathMatcher::.ctor(System.String[]) +FNDA:17,System.Void WireMock.Matchers.JsonPathMatcher::.ctor(System.String[]) +DA:25,17 +DA:26,17 +DA:27,17 +FN:33,System.Void WireMock.Matchers.JsonPathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:18,System.Void WireMock.Matchers.JsonPathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:34,18 +DA:35,18 +DA:36,18 +DA:38,18 +DA:39,18 +DA:40,18 +LF:46 +LH:43 +BRF:10 +BRH:9 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\LinqMatcher.cs +FN:17,WireMock.Matchers.MatchBehaviour WireMock.Matchers.LinqMatcher::get_MatchBehaviour() +FNDA:8,WireMock.Matchers.MatchBehaviour WireMock.Matchers.LinqMatcher::get_MatchBehaviour() +DA:18,8 +FN:57,System.Double WireMock.Matchers.LinqMatcher::IsMatch(System.String) +FNDA:3,System.Double WireMock.Matchers.LinqMatcher::IsMatch(System.String) +DA:58,3 +DA:60,3 +DA:63,9 +DA:65,3 +DA:66,3 +FN:69,System.Double WireMock.Matchers.LinqMatcher::IsMatch(System.Object) +FNDA:2,System.Double WireMock.Matchers.LinqMatcher::IsMatch(System.Object) +DA:70,2 +DA:72,2 +DA:75,1 +DA:76,1 +DA:79,1 +DA:80,1 +DA:84,2 +DA:87,2 +DA:90,2 +DA:93,6 +DA:95,2 +DA:96,2 +BRDA:72,16,1,2 +BRDA:72,30,0,1 +BRDA:72,16,0,1 +BRDA:72,30,1,1 +FN:99,System.String[] WireMock.Matchers.LinqMatcher::GetPatterns() +FNDA:4,System.String[] WireMock.Matchers.LinqMatcher::GetPatterns() +DA:100,4 +DA:101,4 +DA:102,4 +FN:104,System.String WireMock.Matchers.LinqMatcher::get_Name() +FNDA:2,System.String WireMock.Matchers.LinqMatcher::get_Name() +DA:105,2 +FN:23,System.Void WireMock.Matchers.LinqMatcher::.ctor(System.String) +FNDA:6,System.Void WireMock.Matchers.LinqMatcher::.ctor(System.String) +DA:24,6 +DA:25,6 +DA:26,6 +FN:31,System.Void WireMock.Matchers.LinqMatcher::.ctor(System.String[]) +FNDA:6,System.Void WireMock.Matchers.LinqMatcher::.ctor(System.String[]) +DA:32,6 +DA:33,6 +DA:34,6 +FN:40,System.Void WireMock.Matchers.LinqMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +FNDA:2,System.Void WireMock.Matchers.LinqMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +DA:41,2 +DA:42,2 +DA:43,2 +FN:49,System.Void WireMock.Matchers.LinqMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:10,System.Void WireMock.Matchers.LinqMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:50,10 +DA:51,10 +DA:52,10 +DA:53,10 +DA:54,10 +LF:36 +LH:36 +BRF:4 +BRH:4 +FNF:9 +FNH:9 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\MatchBehaviourHelper.cs +FN:17,System.Double WireMock.Matchers.MatchBehaviourHelper::Convert(WireMock.Matchers.MatchBehaviour,System.Double) +FNDA:788,System.Double WireMock.Matchers.MatchBehaviourHelper::Convert(WireMock.Matchers.MatchBehaviour,System.Double) +DA:18,788 +DA:19,788 +DA:20,770 +DA:21,770 +DA:24,18 +DA:25,788 +BRDA:19,7,0,770 +BRDA:19,7,1,18 +BRDA:24,24,0,13 +BRDA:24,24,1,5 +LF:6 +LH:6 +BRF:4 +BRH:4 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\MatchScores.cs +FN:36,System.Double WireMock.Matchers.MatchScores::ToScore(System.Boolean) +FNDA:748,System.Double WireMock.Matchers.MatchScores::ToScore(System.Boolean) +DA:37,748 +DA:38,748 +DA:39,748 +BRDA:38,2,0,429 +BRDA:38,2,1,319 +FN:46,System.Double WireMock.Matchers.MatchScores::ToScore(System.Collections.Generic.IEnumerable`1) +FNDA:432,System.Double WireMock.Matchers.MatchScores::ToScore(System.Collections.Generic.IEnumerable`1) +DA:47,432 +DA:48,432 +DA:49,432 +BRDA:48,7,0,0 +BRDA:48,7,1,432 +FN:56,System.Double WireMock.Matchers.MatchScores::ToScore(System.Collections.Generic.IEnumerable`1) +FNDA:4,System.Double WireMock.Matchers.MatchScores::ToScore(System.Collections.Generic.IEnumerable`1) +DA:57,4 +DA:58,4 +DA:59,4 +BRDA:58,7,0,0 +BRDA:58,7,1,4 +LF:9 +LH:9 +BRF:6 +BRH:4 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\RegexMatcher.cs +FN:19,WireMock.Matchers.MatchBehaviour WireMock.Matchers.RegexMatcher::get_MatchBehaviour() +FNDA:390,WireMock.Matchers.MatchBehaviour WireMock.Matchers.RegexMatcher::get_MatchBehaviour() +DA:20,390 +FN:74,System.Double WireMock.Matchers.RegexMatcher::IsMatch(System.String) +FNDA:388,System.Double WireMock.Matchers.RegexMatcher::IsMatch(System.String) +DA:75,388 +DA:76,388 +DA:77,388 +DA:78,387 +DA:80,387 +DA:81,1163 +DA:82,387 +DA:83,0 +DA:84,0 +DA:86,0 +DA:87,387 +DA:89,388 +DA:90,388 +BRDA:77,35,0,387 +BRDA:77,35,1,388 +FN:93,System.String[] WireMock.Matchers.RegexMatcher::GetPatterns() +FNDA:3,System.String[] WireMock.Matchers.RegexMatcher::GetPatterns() +DA:94,3 +DA:95,3 +DA:96,3 +FN:98,System.String WireMock.Matchers.RegexMatcher::get_Name() +FNDA:2,System.String WireMock.Matchers.RegexMatcher::get_Name() +DA:99,2 +FN:101,System.Boolean WireMock.Matchers.RegexMatcher::get_IgnoreCase() +FNDA:3,System.Boolean WireMock.Matchers.RegexMatcher::get_IgnoreCase() +DA:102,3 +FN:26,System.Void WireMock.Matchers.RegexMatcher::.ctor(System.String,System.Boolean) +FNDA:11,System.Void WireMock.Matchers.RegexMatcher::.ctor(System.String,System.Boolean) +DA:27,11 +DA:28,11 +DA:29,11 +FN:36,System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) +FNDA:114,System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) +DA:37,114 +DA:38,114 +DA:39,114 +FN:45,System.Void WireMock.Matchers.RegexMatcher::.ctor(System.String[],System.Boolean) +FNDA:11,System.Void WireMock.Matchers.RegexMatcher::.ctor(System.String[],System.Boolean) +DA:46,11 +DA:47,11 +DA:48,11 +FN:55,System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) +FNDA:441,System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) +DA:56,441 +DA:57,441 +DA:58,441 +DA:60,441 +DA:61,441 +DA:62,441 +DA:64,441 +DA:65,441 +DA:66,64 +DA:67,64 +DA:68,64 +DA:70,884 +DA:71,441 +BRDA:65,57,0,64 +BRDA:65,57,1,441 +LF:41 +LH:38 +BRF:4 +BRH:4 +FNF:9 +FNH:9 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\SimMetricsMatcher.cs +FN:19,WireMock.Matchers.MatchBehaviour WireMock.Matchers.SimMetricsMatcher::get_MatchBehaviour() +FNDA:4,WireMock.Matchers.MatchBehaviour WireMock.Matchers.SimMetricsMatcher::get_MatchBehaviour() +DA:20,4 +FN:66,System.Double WireMock.Matchers.SimMetricsMatcher::IsMatch(System.String) +FNDA:4,System.Double WireMock.Matchers.SimMetricsMatcher::IsMatch(System.String) +DA:67,4 +DA:68,4 +DA:70,12 +DA:71,4 +FN:73,SimMetrics.Net.API.IStringMetric WireMock.Matchers.SimMetricsMatcher::GetStringMetricType() +FNDA:4,SimMetrics.Net.API.IStringMetric WireMock.Matchers.SimMetricsMatcher::GetStringMetricType() +DA:74,4 +DA:75,4 +DA:78,0 +DA:80,0 +DA:82,0 +DA:84,0 +DA:86,0 +DA:88,0 +DA:90,0 +DA:92,0 +DA:94,0 +DA:96,0 +DA:98,0 +DA:100,0 +DA:102,0 +DA:104,0 +DA:106,0 +DA:108,0 +DA:110,0 +DA:112,4 +DA:114,4 +BRDA:75,9,1,0 +BRDA:75,9,2,0 +BRDA:75,9,4,0 +BRDA:75,9,7,0 +BRDA:75,9,5,0 +BRDA:75,9,6,0 +BRDA:75,9,8,0 +BRDA:75,9,9,0 +BRDA:75,9,10,0 +BRDA:75,9,11,0 +BRDA:75,9,13,0 +BRDA:75,9,14,0 +BRDA:75,9,15,0 +BRDA:75,9,16,0 +BRDA:75,9,17,0 +BRDA:75,9,18,0 +BRDA:75,9,3,0 +BRDA:75,9,0,4 +BRDA:75,9,12,4 +FN:117,System.String[] WireMock.Matchers.SimMetricsMatcher::GetPatterns() +FNDA:3,System.String[] WireMock.Matchers.SimMetricsMatcher::GetPatterns() +DA:118,3 +DA:119,3 +DA:120,3 +FN:122,System.String WireMock.Matchers.SimMetricsMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.SimMetricsMatcher::get_Name() +DA:123,1 +FN:26,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(System.String,SimMetrics.Net.SimMetricType) +FNDA:5,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(System.String,SimMetrics.Net.SimMetricType) +DA:27,5 +DA:28,5 +DA:29,5 +FN:36,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,SimMetrics.Net.SimMetricType) +FNDA:3,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,SimMetrics.Net.SimMetricType) +DA:37,3 +DA:38,3 +DA:39,3 +FN:45,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(System.String[],SimMetrics.Net.SimMetricType) +FNDA:5,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(System.String[],SimMetrics.Net.SimMetricType) +DA:46,5 +DA:47,5 +DA:48,5 +FN:55,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],SimMetrics.Net.SimMetricType) +FNDA:8,System.Void WireMock.Matchers.SimMetricsMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],SimMetrics.Net.SimMetricType) +DA:56,8 +DA:57,8 +DA:58,8 +DA:60,8 +DA:61,8 +DA:62,8 +DA:63,8 +LF:46 +LH:29 +BRF:19 +BRH:2 +FNF:9 +FNH:9 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\WildcardMatcher.cs +FN:55,System.String[] WireMock.Matchers.WildcardMatcher::GetPatterns() +FNDA:3,System.String[] WireMock.Matchers.WildcardMatcher::GetPatterns() +DA:56,3 +DA:57,3 +DA:58,3 +FN:60,System.String WireMock.Matchers.WildcardMatcher::get_Name() +FNDA:2,System.String WireMock.Matchers.WildcardMatcher::get_Name() +DA:61,2 +FN:19,System.Void WireMock.Matchers.WildcardMatcher::.ctor(System.String,System.Boolean) +FNDA:31,System.Void WireMock.Matchers.WildcardMatcher::.ctor(System.String,System.Boolean) +DA:20,31 +DA:21,31 +DA:22,31 +FN:29,System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) +FNDA:279,System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) +DA:30,279 +DA:31,279 +DA:32,279 +FN:38,System.Void WireMock.Matchers.WildcardMatcher::.ctor(System.String[],System.Boolean) +FNDA:31,System.Void WireMock.Matchers.WildcardMatcher::.ctor(System.String[],System.Boolean) +DA:39,31 +DA:40,31 +DA:41,31 +FN:48,System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) +FNDA:631,System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) +DA:49,631 +DA:50,315 +DA:51,315 +DA:52,315 +BRDA:49,9,0,1 +BRDA:49,9,1,315 +LF:17 +LH:17 +BRF:2 +BRH:2 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\XPathMatcher.cs +FN:20,WireMock.Matchers.MatchBehaviour WireMock.Matchers.XPathMatcher::get_MatchBehaviour() +FNDA:4,WireMock.Matchers.MatchBehaviour WireMock.Matchers.XPathMatcher::get_MatchBehaviour() +DA:21,4 +FN:45,System.Double WireMock.Matchers.XPathMatcher::IsMatch(System.String) +FNDA:4,System.Double WireMock.Matchers.XPathMatcher::IsMatch(System.String) +DA:46,4 +DA:47,4 +DA:48,4 +DA:49,4 +DA:51,4 +DA:52,4 +DA:56,12 +DA:58,4 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,4 +DA:65,4 +DA:66,4 +BRDA:48,17,0,4 +BRDA:48,17,1,4 +FN:69,System.String[] WireMock.Matchers.XPathMatcher::GetPatterns() +FNDA:1,System.String[] WireMock.Matchers.XPathMatcher::GetPatterns() +DA:70,1 +DA:71,1 +DA:72,1 +FN:74,System.String WireMock.Matchers.XPathMatcher::get_Name() +FNDA:1,System.String WireMock.Matchers.XPathMatcher::get_Name() +DA:75,1 +FN:26,System.Void WireMock.Matchers.XPathMatcher::.ctor(System.String[]) +FNDA:5,System.Void WireMock.Matchers.XPathMatcher::.ctor(System.String[]) +DA:27,5 +DA:28,5 +DA:29,5 +FN:35,System.Void WireMock.Matchers.XPathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:6,System.Void WireMock.Matchers.XPathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:36,6 +DA:37,6 +DA:38,6 +DA:40,6 +DA:41,6 +DA:42,6 +LF:28 +LH:25 +BRF:2 +BRH:2 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMatchResult.cs +FN:16,System.Double WireMock.Matchers.Request.RequestMatchResult::get_TotalScore() +FNDA:1933,System.Double WireMock.Matchers.Request.RequestMatchResult::get_TotalScore() +DA:17,1933 +FN:24,System.Int32 WireMock.Matchers.Request.RequestMatchResult::get_TotalNumber() +FNDA:1987,System.Int32 WireMock.Matchers.Request.RequestMatchResult::get_TotalNumber() +DA:25,1987 +FN:32,System.Boolean WireMock.Matchers.Request.RequestMatchResult::get_IsPerfectMatch() +FNDA:346,System.Boolean WireMock.Matchers.Request.RequestMatchResult::get_IsPerfectMatch() +DA:33,346 +FN:40,System.Double WireMock.Matchers.Request.RequestMatchResult::get_AverageTotalScore() +FNDA:54,System.Double WireMock.Matchers.Request.RequestMatchResult::get_AverageTotalScore() +DA:41,54 +BRDA:41,6,0,52 +BRDA:41,6,1,2 +FN:45,System.Collections.Generic.IList`1> WireMock.Matchers.Request.RequestMatchResult::get_MatchDetails() +FNDA:793,System.Collections.Generic.IList`1> WireMock.Matchers.Request.RequestMatchResult::get_MatchDetails() +DA:46,793 +FN:59,System.Double WireMock.Matchers.Request.RequestMatchResult::AddScore(System.Type,System.Double) +FNDA:742,System.Double WireMock.Matchers.Request.RequestMatchResult::AddScore(System.Type,System.Double) +DA:60,742 +DA:61,742 +DA:62,742 +DA:63,742 +DA:65,742 +DA:66,742 +FN:75,System.Int32 WireMock.Matchers.Request.RequestMatchResult::CompareTo(System.Object) +FNDA:0,System.Int32 WireMock.Matchers.Request.RequestMatchResult::CompareTo(System.Object) +DA:76,0 +DA:77,0 +DA:79,0 +DA:80,0 +FN:50,System.Void WireMock.Matchers.Request.RequestMatchResult::.ctor() +FNDA:758,System.Void WireMock.Matchers.Request.RequestMatchResult::.ctor() +DA:51,758 +LF:16 +LH:12 +BRF:2 +BRH:2 +FNF:8 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageBodyMatcher.cs +FN:14,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_Func() +FNDA:6,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_Func() +DA:15,6 +FN:19,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_DataFunc() +FNDA:5,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_DataFunc() +DA:20,5 +FN:24,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_JsonFunc() +FNDA:4,System.Func`2 WireMock.Matchers.Request.RequestMessageBodyMatcher::get_JsonFunc() +DA:25,4 +FN:29,WireMock.Matchers.IMatcher WireMock.Matchers.Request.RequestMessageBodyMatcher::get_Matcher() +FNDA:52,WireMock.Matchers.IMatcher WireMock.Matchers.Request.RequestMessageBodyMatcher::get_Matcher() +DA:30,52 +FN:100,System.Double WireMock.Matchers.Request.RequestMessageBodyMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:30,System.Double WireMock.Matchers.Request.RequestMessageBodyMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:101,30 +DA:102,30 +DA:103,30 +DA:104,30 +FN:106,System.Double WireMock.Matchers.Request.RequestMessageBodyMatcher::IsMatch(WireMock.RequestMessage) +FNDA:30,System.Double WireMock.Matchers.Request.RequestMessageBodyMatcher::IsMatch(WireMock.RequestMessage) +DA:107,30 +DA:109,30 +DA:110,11 +DA:112,11 +DA:113,6 +DA:114,6 +DA:118,5 +DA:119,2 +DA:120,2 +DA:122,3 +DA:125,22 +DA:126,19 +DA:128,19 +DA:129,4 +DA:130,4 +DA:134,15 +DA:135,13 +DA:136,13 +DA:138,2 +DA:140,5 +DA:141,1 +DA:142,1 +DA:145,4 +DA:146,1 +DA:147,1 +DA:150,3 +DA:151,1 +DA:152,1 +DA:155,2 +DA:156,30 +BRDA:109,19,0,11 +BRDA:112,33,0,6 +BRDA:112,33,1,5 +BRDA:118,68,0,2 +BRDA:118,68,1,3 +BRDA:109,19,1,22 +BRDA:125,111,0,19 +BRDA:128,120,0,5 +BRDA:128,120,1,14 +BRDA:128,138,0,4 +BRDA:128,138,1,15 +BRDA:134,173,0,13 +BRDA:134,173,1,2 +BRDA:125,111,1,5 +BRDA:140,209,0,1 +BRDA:142,218,0,1 +BRDA:142,218,1,0 +BRDA:140,209,1,4 +BRDA:145,262,0,1 +BRDA:147,271,0,1 +BRDA:147,271,1,0 +BRDA:145,262,1,3 +BRDA:150,315,0,1 +BRDA:152,324,0,1 +BRDA:152,324,1,0 +BRDA:150,315,1,2 +FN:36,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +DA:37,2 +DA:38,2 +DA:39,2 +FN:45,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Byte[]) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Byte[]) +DA:46,1 +DA:47,1 +DA:48,1 +FN:54,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.Object) +DA:55,1 +DA:56,1 +DA:57,1 +FN:62,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +DA:63,1 +DA:64,1 +DA:65,1 +DA:66,1 +DA:67,1 +FN:72,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +DA:73,1 +DA:74,1 +DA:75,1 +DA:76,1 +DA:77,1 +FN:82,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(System.Func`2) +DA:83,1 +DA:84,1 +DA:85,1 +DA:86,1 +DA:87,1 +FN:92,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.IMatcher) +FNDA:30,System.Void WireMock.Matchers.Request.RequestMessageBodyMatcher::.ctor(WireMock.Matchers.IMatcher) +DA:93,30 +DA:94,30 +DA:95,30 +DA:96,30 +DA:97,30 +LF:67 +LH:67 +BRF:26 +BRH:23 +FNF:13 +FNH:13 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageClientIPMatcher.cs +FN:16,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageClientIPMatcher::get_Matchers() +FNDA:7,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageClientIPMatcher::get_Matchers() +DA:17,7 +FN:21,System.Func`2[] WireMock.Matchers.Request.RequestMessageClientIPMatcher::get_Funcs() +FNDA:2,System.Func`2[] WireMock.Matchers.Request.RequestMessageClientIPMatcher::get_Funcs() +DA:22,2 +FN:54,System.Double WireMock.Matchers.Request.RequestMessageClientIPMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:4,System.Double WireMock.Matchers.Request.RequestMessageClientIPMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:55,4 +DA:56,4 +DA:57,4 +DA:58,4 +FN:60,System.Double WireMock.Matchers.Request.RequestMessageClientIPMatcher::IsMatch(WireMock.RequestMessage) +FNDA:4,System.Double WireMock.Matchers.Request.RequestMessageClientIPMatcher::IsMatch(WireMock.RequestMessage) +DA:61,4 +DA:62,4 +DA:63,3 +DA:64,7 +DA:67,1 +DA:68,1 +DA:69,2 +DA:72,0 +DA:73,4 +BRDA:62,25,0,3 +BRDA:62,25,1,1 +BRDA:67,65,0,1 +BRDA:69,79,0,1 +BRDA:69,79,1,0 +BRDA:67,65,1,0 +FN:28,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:5,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:29,5 +DA:30,2 +DA:31,2 +FN:36,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +FNDA:3,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +DA:37,3 +DA:38,3 +DA:39,3 +DA:40,3 +DA:41,3 +FN:46,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(System.Func`2[]) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageClientIPMatcher::.ctor(System.Func`2[]) +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +LF:28 +LH:27 +BRF:6 +BRH:4 +FNF:7 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageCompositeMatcher.cs +FN:20,System.Collections.Generic.IEnumerable`1 WireMock.Matchers.Request.RequestMessageCompositeMatcher::get_RequestMatchers() +FNDA:691,System.Collections.Generic.IEnumerable`1 WireMock.Matchers.Request.RequestMessageCompositeMatcher::get_RequestMatchers() +DA:21,691 +FN:37,System.Double WireMock.Matchers.Request.RequestMessageCompositeMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:347,System.Double WireMock.Matchers.Request.RequestMessageCompositeMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:38,347 +DA:39,347 +DA:40,3 +DA:41,3 +DA:44,344 +DA:45,343 +DA:46,1024 +DA:49,3 +DA:50,347 +BRDA:39,37,0,3 +BRDA:39,37,1,344 +BRDA:44,63,0,343 +BRDA:44,63,1,1 +FN:27,System.Void WireMock.Matchers.Request.RequestMessageCompositeMatcher::.ctor(System.Collections.Generic.IEnumerable`1,WireMock.Matchers.Request.CompositeMatcherType) +FNDA:329,System.Void WireMock.Matchers.Request.RequestMessageCompositeMatcher::.ctor(System.Collections.Generic.IEnumerable`1,WireMock.Matchers.Request.CompositeMatcherType) +DA:28,329 +DA:29,329 +DA:30,329 +DA:32,329 +DA:33,329 +DA:34,329 +LF:16 +LH:16 +BRF:4 +BRH:4 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageCookieMatcher.cs +FN:19,System.Func`2,System.Boolean>[] WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Funcs() +FNDA:10,System.Func`2,System.Boolean>[] WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Funcs() +DA:20,10 +FN:24,System.String WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Name() +FNDA:14,System.String WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Name() +DA:25,14 +FN:29,WireMock.Matchers.IStringMatcher[] WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Matchers() +FNDA:14,WireMock.Matchers.IStringMatcher[] WireMock.Matchers.Request.RequestMessageCookieMatcher::get_Matchers() +DA:30,14 +FN:76,System.Double WireMock.Matchers.Request.RequestMessageCookieMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:11,System.Double WireMock.Matchers.Request.RequestMessageCookieMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:77,11 +DA:78,11 +DA:79,11 +DA:80,11 +FN:82,System.Double WireMock.Matchers.Request.RequestMessageCookieMatcher::IsMatch(WireMock.RequestMessage) +FNDA:11,System.Double WireMock.Matchers.Request.RequestMessageCookieMatcher::IsMatch(WireMock.RequestMessage) +DA:83,11 +DA:84,11 +DA:85,2 +DA:86,2 +DA:90,9 +DA:92,9 +DA:93,1 +DA:94,2 +DA:97,8 +DA:98,0 +DA:99,0 +DA:102,8 +DA:103,2 +DA:104,2 +DA:107,6 +DA:108,12 +DA:109,11 +BRDA:84,18,0,2 +BRDA:84,18,1,9 +BRDA:90,54,0,7 +BRDA:90,54,1,2 +BRDA:92,100,0,1 +BRDA:92,100,1,8 +BRDA:97,147,0,0 +BRDA:97,147,1,8 +BRDA:102,186,0,2 +BRDA:102,186,1,6 +FN:38,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) +FNDA:10,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) +DA:39,10 +DA:40,10 +DA:41,10 +DA:42,10 +DA:44,10 +DA:45,10 +DA:46,10 +DA:47,10 +DA:48,10 +FN:54,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) +DA:55,2 +DA:56,2 +DA:57,2 +DA:58,2 +DA:60,2 +DA:61,2 +DA:62,2 +FN:67,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.Func`2,System.Boolean>[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.Func`2,System.Boolean>[]) +DA:68,2 +DA:69,2 +DA:70,2 +DA:72,2 +DA:73,2 +LF:45 +LH:43 +BRF:10 +BRH:9 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageHeaderMatcher.cs +FN:21,System.Func`2,System.Boolean>[] WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Funcs() +FNDA:49,System.Func`2,System.Boolean>[] WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Funcs() +DA:22,49 +FN:26,System.String WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Name() +FNDA:74,System.String WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Name() +DA:27,74 +FN:31,WireMock.Matchers.IStringMatcher[] WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Matchers() +FNDA:74,WireMock.Matchers.IStringMatcher[] WireMock.Matchers.Request.RequestMessageHeaderMatcher::get_Matchers() +DA:32,74 +FN:96,System.Double WireMock.Matchers.Request.RequestMessageHeaderMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:50,System.Double WireMock.Matchers.Request.RequestMessageHeaderMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:97,50 +DA:98,50 +DA:99,50 +DA:100,50 +FN:102,System.Double WireMock.Matchers.Request.RequestMessageHeaderMatcher::IsMatch(WireMock.RequestMessage) +FNDA:50,System.Double WireMock.Matchers.Request.RequestMessageHeaderMatcher::IsMatch(WireMock.RequestMessage) +DA:103,50 +DA:104,50 +DA:105,2 +DA:106,2 +DA:110,48 +DA:112,48 +DA:113,1 +DA:114,4 +DA:117,47 +DA:118,0 +DA:119,0 +DA:122,47 +DA:123,20 +DA:124,20 +DA:127,27 +DA:128,81 +DA:129,50 +BRDA:104,18,0,2 +BRDA:104,18,1,48 +BRDA:110,54,0,45 +BRDA:110,54,1,3 +BRDA:112,100,0,1 +BRDA:112,100,1,47 +BRDA:117,147,0,0 +BRDA:117,147,1,47 +BRDA:122,186,0,20 +BRDA:122,186,1,27 +FN:40,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) +FNDA:47,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) +DA:41,47 +DA:42,47 +DA:43,47 +DA:44,47 +DA:46,47 +DA:47,47 +DA:48,47 +DA:49,47 +DA:50,47 +FN:58,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[],System.Boolean) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[],System.Boolean) +DA:59,2 +DA:60,2 +DA:61,2 +DA:62,2 +DA:64,2 +DA:65,2 +DA:66,2 +DA:67,6 +DA:68,2 +FN:74,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) +DA:75,2 +DA:76,2 +DA:77,2 +DA:78,2 +DA:80,2 +DA:81,2 +DA:82,2 +FN:87,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.Func`2,System.Boolean>[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.Func`2,System.Boolean>[]) +DA:88,2 +DA:89,2 +DA:90,2 +DA:92,2 +DA:93,2 +LF:54 +LH:52 +BRF:14 +BRH:13 +FNF:9 +FNH:9 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageMethodMatcher.cs +FN:17,System.String[] WireMock.Matchers.Request.RequestMessageMethodMatcher::get_Methods() +FNDA:292,System.String[] WireMock.Matchers.Request.RequestMessageMethodMatcher::get_Methods() +DA:18,292 +FN:34,System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:292,System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:35,292 +DA:36,292 +DA:37,292 +DA:38,292 +FN:40,System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::IsMatch(WireMock.RequestMessage) +FNDA:292,System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::IsMatch(WireMock.RequestMessage) +DA:41,292 +DA:42,292 +DA:43,292 +FN:24,System.Void WireMock.Matchers.Request.RequestMessageMethodMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:258,System.Void WireMock.Matchers.Request.RequestMessageMethodMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:25,258 +DA:26,258 +DA:27,258 +DA:28,258 +DA:30,258 +DA:31,258 +LF:14 +LH:14 +BRF:0 +BRH:0 +FNF:4 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageParamMatcher.cs +FN:19,System.Func`2>,System.Boolean>[] WireMock.Matchers.Request.RequestMessageParamMatcher::get_Funcs() +FNDA:11,System.Func`2>,System.Boolean>[] WireMock.Matchers.Request.RequestMessageParamMatcher::get_Funcs() +DA:20,11 +FN:24,System.String WireMock.Matchers.Request.RequestMessageParamMatcher::get_Key() +FNDA:9,System.String WireMock.Matchers.Request.RequestMessageParamMatcher::get_Key() +DA:25,9 +FN:29,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageParamMatcher::get_Matchers() +FNDA:26,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageParamMatcher::get_Matchers() +DA:30,26 +FN:78,System.Double WireMock.Matchers.Request.RequestMessageParamMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:10,System.Double WireMock.Matchers.Request.RequestMessageParamMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:79,10 +DA:80,10 +DA:81,10 +DA:82,10 +FN:84,System.Double WireMock.Matchers.Request.RequestMessageParamMatcher::IsMatch(WireMock.RequestMessage) +FNDA:10,System.Double WireMock.Matchers.Request.RequestMessageParamMatcher::IsMatch(WireMock.RequestMessage) +DA:85,10 +DA:86,10 +DA:87,1 +DA:88,2 +DA:91,9 +DA:92,9 +DA:93,1 +DA:95,1 +DA:98,8 +DA:99,5 +DA:101,5 +DA:102,31 +DA:103,8 +DA:104,24 +DA:105,8 +DA:106,8 +DA:108,5 +DA:111,3 +DA:112,3 +DA:114,3 +DA:117,0 +DA:118,10 +BRDA:86,25,0,1 +BRDA:88,39,0,1 +BRDA:88,39,1,0 +BRDA:86,25,1,9 +BRDA:92,104,0,1 +BRDA:92,104,1,8 +BRDA:98,128,0,6 +BRDA:98,128,1,2 +BRDA:98,148,0,5 +BRDA:102,238,1,8 +BRDA:102,238,0,5 +BRDA:108,264,0,1 +BRDA:108,264,1,4 +BRDA:98,148,1,3 +BRDA:111,293,0,1 +BRDA:111,293,1,2 +BRDA:111,316,0,3 +BRDA:111,316,1,0 +FN:36,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +FNDA:3,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) +DA:37,3 +DA:38,3 +DA:39,3 +FN:46,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[]) +FNDA:18,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[]) +DA:47,18 +DA:48,7 +DA:49,7 +BRDA:47,22,0,0 +BRDA:47,22,1,7 +FN:56,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,WireMock.Matchers.IStringMatcher[]) +FNDA:13,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,WireMock.Matchers.IStringMatcher[]) +DA:57,13 +DA:58,13 +DA:59,13 +DA:61,13 +DA:62,13 +DA:63,13 +DA:64,13 +FN:69,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(System.Func`2>,System.Boolean>[]) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(System.Func`2>,System.Boolean>[]) +DA:70,1 +DA:71,1 +DA:72,1 +DA:74,1 +DA:75,1 +LF:47 +LH:46 +BRF:20 +BRH:17 +FNF:9 +FNH:9 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessagePathMatcher.cs +FN:16,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessagePathMatcher::get_Matchers() +FNDA:625,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessagePathMatcher::get_Matchers() +DA:17,625 +FN:21,System.Func`2[] WireMock.Matchers.Request.RequestMessagePathMatcher::get_Funcs() +FNDA:2,System.Func`2[] WireMock.Matchers.Request.RequestMessagePathMatcher::get_Funcs() +DA:22,2 +FN:56,System.Double WireMock.Matchers.Request.RequestMessagePathMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:312,System.Double WireMock.Matchers.Request.RequestMessagePathMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:57,312 +DA:58,312 +DA:59,312 +DA:60,312 +FN:62,System.Double WireMock.Matchers.Request.RequestMessagePathMatcher::IsMatch(WireMock.RequestMessage) +FNDA:312,System.Double WireMock.Matchers.Request.RequestMessagePathMatcher::IsMatch(WireMock.RequestMessage) +DA:63,312 +DA:64,312 +DA:65,311 +DA:66,624 +DA:69,1 +DA:70,1 +DA:71,2 +DA:74,0 +DA:75,312 +BRDA:64,25,0,311 +BRDA:64,25,1,1 +BRDA:69,65,0,1 +BRDA:71,79,0,1 +BRDA:71,79,1,0 +BRDA:69,65,1,0 +FN:28,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:421,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:29,421 +DA:30,210 +DA:31,210 +FN:36,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +FNDA:277,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +DA:37,277 +DA:38,277 +DA:39,277 +DA:41,277 +DA:42,277 +FN:47,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(System.Func`2[]) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(System.Func`2[]) +DA:48,1 +DA:49,1 +DA:50,1 +DA:52,1 +DA:53,1 +LF:28 +LH:27 +BRF:6 +BRH:4 +FNF:7 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageScenarioAndStateMatcher.cs +FN:35,System.Double WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:30,System.Double WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:36,30 +DA:37,30 +DA:38,30 +DA:39,30 +FN:41,System.Double WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::IsMatch() +FNDA:30,System.Double WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::IsMatch() +DA:42,30 +DA:43,30 +DA:44,30 +BRDA:43,18,0,17 +BRDA:43,18,1,13 +FN:27,System.Void WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::.ctor(System.String,System.String) +FNDA:30,System.Void WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher::.ctor(System.String,System.String) +DA:28,30 +DA:29,30 +DA:30,30 +DA:31,30 +DA:32,30 +LF:12 +LH:12 +BRF:2 +BRH:2 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageUrlMatcher.cs +FN:16,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageUrlMatcher::get_Matchers() +FNDA:5,System.Collections.Generic.IReadOnlyList`1 WireMock.Matchers.Request.RequestMessageUrlMatcher::get_Matchers() +DA:17,5 +FN:21,System.Func`2[] WireMock.Matchers.Request.RequestMessageUrlMatcher::get_Funcs() +FNDA:2,System.Func`2[] WireMock.Matchers.Request.RequestMessageUrlMatcher::get_Funcs() +DA:22,2 +FN:54,System.Double WireMock.Matchers.Request.RequestMessageUrlMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +FNDA:3,System.Double WireMock.Matchers.Request.RequestMessageUrlMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) +DA:55,3 +DA:56,3 +DA:57,3 +DA:58,3 +FN:60,System.Double WireMock.Matchers.Request.RequestMessageUrlMatcher::IsMatch(WireMock.RequestMessage) +FNDA:3,System.Double WireMock.Matchers.Request.RequestMessageUrlMatcher::IsMatch(WireMock.RequestMessage) +DA:61,3 +DA:62,3 +DA:63,2 +DA:64,4 +DA:67,1 +DA:68,1 +DA:69,2 +DA:72,0 +DA:73,3 +BRDA:62,25,0,2 +BRDA:62,25,1,1 +BRDA:67,65,0,1 +BRDA:69,79,0,1 +BRDA:69,79,1,0 +BRDA:67,65,1,0 +FN:28,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) +DA:29,2 +DA:30,1 +DA:31,1 +FN:36,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +FNDA:2,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) +DA:37,2 +DA:38,2 +DA:39,2 +DA:40,2 +DA:41,2 +FN:46,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(System.Func`2[]) +FNDA:1,System.Void WireMock.Matchers.Request.RequestMessageUrlMatcher::.ctor(System.Func`2[]) +DA:47,1 +DA:48,1 +DA:49,1 +DA:50,1 +DA:51,1 +LF:28 +LH:27 +BRF:6 +BRH:4 +FNF:7 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Logging\LogEntry.cs +FN:16,System.Guid WireMock.Logging.LogEntry::get_Guid() +FNDA:134,System.Guid WireMock.Logging.LogEntry::get_Guid() +DA:17,134 +FN:24,WireMock.RequestMessage WireMock.Logging.LogEntry::get_RequestMessage() +FNDA:1166,WireMock.RequestMessage WireMock.Logging.LogEntry::get_RequestMessage() +DA:25,1166 +FN:32,WireMock.ResponseMessage WireMock.Logging.LogEntry::get_ResponseMessage() +FNDA:950,WireMock.ResponseMessage WireMock.Logging.LogEntry::get_ResponseMessage() +DA:33,950 +FN:40,WireMock.Matchers.Request.RequestMatchResult WireMock.Logging.LogEntry::get_RequestMatchResult() +FNDA:389,WireMock.Matchers.Request.RequestMatchResult WireMock.Logging.LogEntry::get_RequestMatchResult() +DA:41,389 +FN:48,System.Nullable`1 WireMock.Logging.LogEntry::get_MappingGuid() +FNDA:134,System.Nullable`1 WireMock.Logging.LogEntry::get_MappingGuid() +DA:49,134 +FN:56,System.String WireMock.Logging.LogEntry::get_MappingTitle() +FNDA:134,System.String WireMock.Logging.LogEntry::get_MappingTitle() +DA:57,134 +LF:6 +LH:6 +BRF:0 +BRH:0 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Logging\WireMockConsoleLogger.cs +FN:22,System.Void WireMock.Logging.WireMockConsoleLogger::Debug(System.String,System.Object[]) +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::Debug(System.String,System.Object[]) +DA:23,0 +DA:24,0 +DA:25,0 +FN:28,System.Void WireMock.Logging.WireMockConsoleLogger::Info(System.String,System.Object[]) +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::Info(System.String,System.Object[]) +DA:29,0 +DA:30,0 +DA:31,0 +FN:34,System.Void WireMock.Logging.WireMockConsoleLogger::Warn(System.String,System.Object[]) +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::Warn(System.String,System.Object[]) +DA:35,0 +DA:36,0 +DA:37,0 +FN:40,System.Void WireMock.Logging.WireMockConsoleLogger::Error(System.String,System.Object[]) +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::Error(System.String,System.Object[]) +DA:41,0 +DA:42,0 +DA:43,0 +FN:46,System.Void WireMock.Logging.WireMockConsoleLogger::DebugRequestResponse(WireMock.Admin.Requests.LogEntryModel,System.Boolean) +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::DebugRequestResponse(WireMock.Admin.Requests.LogEntryModel,System.Boolean) +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +FN:52,System.String WireMock.Logging.WireMockConsoleLogger::Format(System.String,System.String,System.Object[]) +FNDA:0,System.String WireMock.Logging.WireMockConsoleLogger::Format(System.String,System.String,System.Object[]) +DA:53,0 +DA:54,0 +DA:56,0 +DA:57,0 +BRDA:54,3,0,0 +BRDA:54,3,1,0 +FN:15,System.Void WireMock.Logging.WireMockConsoleLogger::.ctor() +FNDA:0,System.Void WireMock.Logging.WireMockConsoleLogger::.ctor() +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +LF:24 +LH:0 +BRF:2 +BRH:0 +FNF:7 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Logging\WireMockNullLogger.cs +FN:12,System.Void WireMock.Logging.WireMockNullLogger::Debug(System.String,System.Object[]) +FNDA:54,System.Void WireMock.Logging.WireMockNullLogger::Debug(System.String,System.Object[]) +DA:13,54 +DA:15,54 +FN:18,System.Void WireMock.Logging.WireMockNullLogger::Info(System.String,System.Object[]) +FNDA:115,System.Void WireMock.Logging.WireMockNullLogger::Info(System.String,System.Object[]) +DA:19,115 +DA:21,115 +FN:24,System.Void WireMock.Logging.WireMockNullLogger::Warn(System.String,System.Object[]) +FNDA:14,System.Void WireMock.Logging.WireMockNullLogger::Warn(System.String,System.Object[]) +DA:25,14 +DA:27,14 +FN:30,System.Void WireMock.Logging.WireMockNullLogger::Error(System.String,System.Object[]) +FNDA:0,System.Void WireMock.Logging.WireMockNullLogger::Error(System.String,System.Object[]) +DA:31,0 +DA:33,0 +FN:36,System.Void WireMock.Logging.WireMockNullLogger::DebugRequestResponse(WireMock.Admin.Requests.LogEntryModel,System.Boolean) +FNDA:65,System.Void WireMock.Logging.WireMockNullLogger::DebugRequestResponse(WireMock.Admin.Requests.LogEntryModel,System.Boolean) +DA:37,65 +DA:39,65 +LF:10 +LH:8 +BRF:0 +BRH:0 +FNF:5 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Http\HttpClientHelper.cs +FN:13,System.Net.Http.HttpClient WireMock.Http.HttpClientHelper::CreateHttpClient(System.String) +FNDA:2,System.Net.Http.HttpClient WireMock.Http.HttpClientHelper::CreateHttpClient(System.String) +DA:14,2 +DA:16,2 +DA:17,2 +DA:18,2 +DA:19,2 +DA:20,2 +DA:21,2 +DA:22,2 +DA:39,2 +DA:40,0 +DA:41,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,2 +DA:51,2 +DA:53,2 +DA:57,2 +DA:58,2 +BRDA:16,33,0,1 +BRDA:16,33,1,2 +BRDA:39,84,0,0 +BRDA:39,84,1,2 +FN:60,System.Void WireMock.Http.HttpClientHelper/d__1::MoveNext() +FNDA:0,System.Void WireMock.Http.HttpClientHelper/d__1::MoveNext() +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:72,0 +DA:75,0 +DA:76,0 +BRDA:61,14,0,0 +BRDA:72,156,0,0 +BRDA:72,156,1,0 +BRDA:75,294,0,0 +BRDA:61,14,1,0 +BRDA:75,294,1,0 +LF:28 +LH:14 +BRF:10 +BRH:3 +FNF:2 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Http\HttpRequestMessageHelper.cs +FN:13,System.Net.Http.HttpRequestMessage WireMock.Http.HttpRequestMessageHelper::Create(WireMock.RequestMessage,System.String) +FNDA:7,System.Net.Http.HttpRequestMessage WireMock.Http.HttpRequestMessageHelper::Create(WireMock.RequestMessage,System.String) +DA:14,7 +DA:15,7 +DA:17,7 +DA:18,7 +DA:19,4 +DA:20,4 +DA:21,4 +DA:22,4 +DA:25,7 +DA:26,1 +DA:27,1 +DA:28,1 +DA:29,6 +DA:30,2 +DA:31,2 +DA:32,1 +DA:33,1 +DA:34,1 +DA:35,1 +DA:37,1 +DA:38,1 +DA:39,1 +DA:40,2 +DA:41,4 +DA:42,4 +DA:43,4 +DA:44,3 +DA:45,3 +DA:46,3 +DA:47,3 +DA:49,1 +DA:50,1 +DA:51,1 +DA:52,4 +DA:55,7 +DA:58,7 +DA:59,2 +DA:60,2 +DA:63,5 +DA:64,5 +DA:65,4 +DA:66,4 +DA:67,4 +DA:69,22 +DA:70,1 +DA:72,1 +DA:73,0 +DA:74,0 +DA:77,1 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,1 +DA:83,5 +DA:84,7 +BRDA:18,33,0,5 +BRDA:18,33,1,2 +BRDA:18,56,0,4 +BRDA:18,56,1,7 +BRDA:25,106,0,1 +BRDA:25,106,1,6 +BRDA:29,146,0,2 +BRDA:31,157,0,1 +BRDA:33,167,0,1 +BRDA:33,177,0,1 +BRDA:33,177,1,1 +BRDA:33,167,1,1 +BRDA:31,157,1,1 +BRDA:29,146,1,4 +BRDA:41,273,0,4 +BRDA:43,284,0,3 +BRDA:45,294,0,3 +BRDA:45,304,0,1 +BRDA:45,304,1,3 +BRDA:45,294,1,3 +BRDA:43,284,1,1 +BRDA:41,273,1,7 +BRDA:58,404,0,5 +BRDA:58,404,1,2 +BRDA:58,427,0,2 +BRDA:58,427,1,5 +BRDA:64,481,0,4 +BRDA:64,481,1,5 +BRDA:69,516,0,5 +BRDA:69,516,1,5 +BRDA:69,668,1,1 +BRDA:72,588,0,0 +BRDA:72,588,1,1 +BRDA:77,625,0,0 +BRDA:77,625,1,1 +BRDA:69,668,0,5 +LF:55 +LH:50 +BRF:36 +BRH:34 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Http\HttpResponseMessageHelper.cs +FN:21,System.Boolean WireMock.Http.HttpResponseMessageHelper/<>c::b__0_1(System.Collections.Generic.KeyValuePair`2>) +FNDA:0,System.Boolean WireMock.Http.HttpResponseMessageHelper/<>c::b__0_1(System.Collections.Generic.KeyValuePair`2>) +DA:22,0 +FN:23,System.Boolean WireMock.Http.HttpResponseMessageHelper/<>c::b__0_0(System.Collections.Generic.KeyValuePair`2>) +FNDA:0,System.Boolean WireMock.Http.HttpResponseMessageHelper/<>c::b__0_0(System.Collections.Generic.KeyValuePair`2>) +DA:24,0 +FN:12,System.Void WireMock.Http.HttpResponseMessageHelper/d__0::MoveNext() +FNDA:0,System.Void WireMock.Http.HttpResponseMessageHelper/d__0::MoveNext() +DA:13,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +BRDA:13,14,0,0 +BRDA:17,71,0,0 +BRDA:17,71,1,0 +BRDA:17,99,0,0 +BRDA:17,99,1,0 +BRDA:18,133,0,0 +BRDA:20,168,0,0 +BRDA:20,168,1,0 +BRDA:22,289,0,0 +BRDA:22,289,1,0 +BRDA:22,323,0,0 +BRDA:24,339,0,0 +BRDA:24,339,1,0 +BRDA:22,323,1,0 +BRDA:27,397,0,0 +BRDA:27,397,1,0 +BRDA:27,427,0,0 +BRDA:13,14,1,0 +BRDA:27,427,1,0 +BRDA:18,133,1,0 +BRDA:33,924,1,0 +BRDA:37,693,0,0 +BRDA:37,723,0,0 +BRDA:37,693,1,0 +BRDA:37,723,1,0 +BRDA:37,760,0,0 +BRDA:37,760,1,0 +BRDA:33,924,0,0 +LF:31 +LH:0 +BRF:28 +BRH:0 +FNF:3 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\HttpsCertificate\ClientCertificateHelper.cs +FN:9,System.Security.Cryptography.X509Certificates.X509Certificate2 WireMock.HttpsCertificate.ClientCertificateHelper::GetCertificate(System.String) +FNDA:0,System.Security.Cryptography.X509Certificates.X509Certificate2 WireMock.HttpsCertificate.ClientCertificateHelper::GetCertificate(System.String) +DA:10,0 +DA:11,0 +DA:13,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:30,0 +DA:33,0 +DA:35,0 +DA:39,0 +DA:40,0 +BRDA:19,44,0,0 +BRDA:23,73,0,0 +BRDA:23,73,1,0 +BRDA:19,44,1,0 +LF:17 +LH:0 +BRF:4 +BRH:0 +FNF:1 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\HttpsCertificate\PublicCertificateHelper.cs +FN:85,System.Security.Cryptography.X509Certificates.X509Certificate2 WireMock.HttpsCertificate.PublicCertificateHelper::GetX509Certificate2() +FNDA:0,System.Security.Cryptography.X509Certificates.X509Certificate2 WireMock.HttpsCertificate.PublicCertificateHelper::GetX509Certificate2() +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +FNF:1 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Handlers\LocalFileSystemHandler.cs +FN:16,System.Boolean WireMock.Handlers.LocalFileSystemHandler::FolderExists(System.String) +FNDA:3,System.Boolean WireMock.Handlers.LocalFileSystemHandler::FolderExists(System.String) +DA:17,3 +DA:18,3 +DA:20,3 +DA:21,3 +FN:24,System.Void WireMock.Handlers.LocalFileSystemHandler::CreateFolder(System.String) +FNDA:1,System.Void WireMock.Handlers.LocalFileSystemHandler::CreateFolder(System.String) +DA:25,1 +DA:26,1 +DA:28,0 +DA:29,0 +FN:32,System.Collections.Generic.IEnumerable`1 WireMock.Handlers.LocalFileSystemHandler::EnumerateFiles(System.String) +FNDA:2,System.Collections.Generic.IEnumerable`1 WireMock.Handlers.LocalFileSystemHandler::EnumerateFiles(System.String) +DA:33,2 +DA:34,2 +DA:36,2 +DA:37,2 +FN:40,System.String WireMock.Handlers.LocalFileSystemHandler::GetMappingFolder() +FNDA:1,System.String WireMock.Handlers.LocalFileSystemHandler::GetMappingFolder() +DA:41,1 +DA:42,1 +DA:43,1 +FN:46,System.String WireMock.Handlers.LocalFileSystemHandler::ReadMappingFile(System.String) +FNDA:9,System.String WireMock.Handlers.LocalFileSystemHandler::ReadMappingFile(System.String) +DA:47,9 +DA:48,9 +DA:50,9 +DA:51,9 +FN:54,System.Void WireMock.Handlers.LocalFileSystemHandler::WriteMappingFile(System.String,System.String) +FNDA:1,System.Void WireMock.Handlers.LocalFileSystemHandler::WriteMappingFile(System.String,System.String) +DA:55,1 +DA:56,1 +DA:57,0 +DA:59,0 +DA:60,0 +FN:12,System.Void WireMock.Handlers.LocalFileSystemHandler::.cctor() +FNDA:1,System.Void WireMock.Handlers.LocalFileSystemHandler::.cctor() +DA:13,1 +LF:25 +LH:20 +BRF:0 +BRH:0 +FNF:7 +FNH:7 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Settings\SettingsModel.cs +FN:10,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_GlobalProcessingDelay() +FNDA:8,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_GlobalProcessingDelay() +DA:11,8 +FN:15,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_AllowPartialMapping() +FNDA:9,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_AllowPartialMapping() +DA:16,9 +FN:20,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_RequestLogExpirationDuration() +FNDA:8,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_RequestLogExpirationDuration() +DA:21,8 +FN:25,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_MaxRequestLogCount() +FNDA:8,System.Nullable`1 WireMock.Admin.Settings.SettingsModel::get_MaxRequestLogCount() +DA:26,8 +LF:4 +LH:4 +BRF:0 +BRH:0 +FNF:4 +FNH:4 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Scenarios\ScenarioStateModel.cs +FN:10,System.String WireMock.Admin.Scenarios.ScenarioStateModel::get_Name() +FNDA:0,System.String WireMock.Admin.Scenarios.ScenarioStateModel::get_Name() +DA:11,0 +FN:15,System.String WireMock.Admin.Scenarios.ScenarioStateModel::get_NextState() +FNDA:0,System.String WireMock.Admin.Scenarios.ScenarioStateModel::get_NextState() +DA:16,0 +FN:20,System.Boolean WireMock.Admin.Scenarios.ScenarioStateModel::get_Started() +FNDA:0,System.Boolean WireMock.Admin.Scenarios.ScenarioStateModel::get_Started() +DA:21,0 +FN:25,System.Boolean WireMock.Admin.Scenarios.ScenarioStateModel::get_Finished() +FNDA:0,System.Boolean WireMock.Admin.Scenarios.ScenarioStateModel::get_Finished() +DA:26,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +FNF:4 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Requests\LogEntryModel.cs +FN:12,System.Guid WireMock.Admin.Requests.LogEntryModel::get_Guid() +FNDA:77,System.Guid WireMock.Admin.Requests.LogEntryModel::get_Guid() +DA:13,77 +FN:17,WireMock.Admin.Requests.LogRequestModel WireMock.Admin.Requests.LogEntryModel::get_Request() +FNDA:93,WireMock.Admin.Requests.LogRequestModel WireMock.Admin.Requests.LogEntryModel::get_Request() +DA:18,93 +FN:22,WireMock.Admin.Requests.LogResponseModel WireMock.Admin.Requests.LogEntryModel::get_Response() +FNDA:81,WireMock.Admin.Requests.LogResponseModel WireMock.Admin.Requests.LogEntryModel::get_Response() +DA:23,81 +FN:27,System.Nullable`1 WireMock.Admin.Requests.LogEntryModel::get_MappingGuid() +FNDA:73,System.Nullable`1 WireMock.Admin.Requests.LogEntryModel::get_MappingGuid() +DA:28,73 +FN:32,System.String WireMock.Admin.Requests.LogEntryModel::get_MappingTitle() +FNDA:73,System.String WireMock.Admin.Requests.LogEntryModel::get_MappingTitle() +DA:33,73 +FN:37,WireMock.Admin.Requests.LogRequestMatchModel WireMock.Admin.Requests.LogEntryModel::get_RequestMatchResult() +FNDA:73,WireMock.Admin.Requests.LogRequestMatchModel WireMock.Admin.Requests.LogEntryModel::get_RequestMatchResult() +DA:38,73 +LF:6 +LH:6 +BRF:0 +BRH:0 +FNF:6 +FNH:6 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Requests\LogRequestMatchModel.cs +FN:15,System.Double WireMock.Admin.Requests.LogRequestMatchModel::get_TotalScore() +FNDA:51,System.Double WireMock.Admin.Requests.LogRequestMatchModel::get_TotalScore() +DA:16,51 +FN:23,System.Int32 WireMock.Admin.Requests.LogRequestMatchModel::get_TotalNumber() +FNDA:51,System.Int32 WireMock.Admin.Requests.LogRequestMatchModel::get_TotalNumber() +DA:24,51 +FN:31,System.Boolean WireMock.Admin.Requests.LogRequestMatchModel::get_IsPerfectMatch() +FNDA:51,System.Boolean WireMock.Admin.Requests.LogRequestMatchModel::get_IsPerfectMatch() +DA:32,51 +FN:39,System.Double WireMock.Admin.Requests.LogRequestMatchModel::get_AverageTotalScore() +FNDA:51,System.Double WireMock.Admin.Requests.LogRequestMatchModel::get_AverageTotalScore() +DA:40,51 +FN:47,System.Collections.Generic.IList`1 WireMock.Admin.Requests.LogRequestMatchModel::get_MatchDetails() +FNDA:51,System.Collections.Generic.IList`1 WireMock.Admin.Requests.LogRequestMatchModel::get_MatchDetails() +DA:48,51 +LF:5 +LH:5 +BRF:0 +BRH:0 +FNF:5 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Requests\LogRequestModel.cs +FN:15,System.String WireMock.Admin.Requests.LogRequestModel::get_ClientIP() +FNDA:77,System.String WireMock.Admin.Requests.LogRequestModel::get_ClientIP() +DA:16,77 +FN:20,System.DateTime WireMock.Admin.Requests.LogRequestModel::get_DateTime() +FNDA:77,System.DateTime WireMock.Admin.Requests.LogRequestModel::get_DateTime() +DA:21,77 +FN:25,System.String WireMock.Admin.Requests.LogRequestModel::get_Path() +FNDA:79,System.String WireMock.Admin.Requests.LogRequestModel::get_Path() +DA:26,79 +FN:30,System.String WireMock.Admin.Requests.LogRequestModel::get_AbsolutePath() +FNDA:77,System.String WireMock.Admin.Requests.LogRequestModel::get_AbsolutePath() +DA:31,77 +FN:35,System.String WireMock.Admin.Requests.LogRequestModel::get_Url() +FNDA:77,System.String WireMock.Admin.Requests.LogRequestModel::get_Url() +DA:36,77 +FN:40,System.String WireMock.Admin.Requests.LogRequestModel::get_AbsoluteUrl() +FNDA:77,System.String WireMock.Admin.Requests.LogRequestModel::get_AbsoluteUrl() +DA:41,77 +FN:45,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogRequestModel::get_Query() +FNDA:73,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogRequestModel::get_Query() +DA:46,73 +FN:50,System.String WireMock.Admin.Requests.LogRequestModel::get_Method() +FNDA:81,System.String WireMock.Admin.Requests.LogRequestModel::get_Method() +DA:51,81 +FN:55,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogRequestModel::get_Headers() +FNDA:81,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogRequestModel::get_Headers() +DA:56,81 +FN:60,System.Collections.Generic.IDictionary`2 WireMock.Admin.Requests.LogRequestModel::get_Cookies() +FNDA:73,System.Collections.Generic.IDictionary`2 WireMock.Admin.Requests.LogRequestModel::get_Cookies() +DA:61,73 +FN:65,System.String WireMock.Admin.Requests.LogRequestModel::get_Body() +FNDA:81,System.String WireMock.Admin.Requests.LogRequestModel::get_Body() +DA:66,81 +FN:70,System.Object WireMock.Admin.Requests.LogRequestModel::get_BodyAsJson() +FNDA:77,System.Object WireMock.Admin.Requests.LogRequestModel::get_BodyAsJson() +DA:71,77 +FN:75,System.Byte[] WireMock.Admin.Requests.LogRequestModel::get_BodyAsBytes() +FNDA:73,System.Byte[] WireMock.Admin.Requests.LogRequestModel::get_BodyAsBytes() +DA:76,73 +FN:80,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Requests.LogRequestModel::get_BodyEncoding() +FNDA:77,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Requests.LogRequestModel::get_BodyEncoding() +DA:81,77 +LF:14 +LH:14 +BRF:0 +BRH:0 +FNF:14 +FNH:14 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Requests\LogResponseModel.cs +FN:14,System.Int32 WireMock.Admin.Requests.LogResponseModel::get_StatusCode() +FNDA:150,System.Int32 WireMock.Admin.Requests.LogResponseModel::get_StatusCode() +DA:15,150 +FN:19,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogResponseModel::get_Headers() +FNDA:81,System.Collections.Generic.IDictionary`2> WireMock.Admin.Requests.LogResponseModel::get_Headers() +DA:20,81 +FN:24,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyDestination() +FNDA:73,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyDestination() +DA:25,73 +FN:29,System.String WireMock.Admin.Requests.LogResponseModel::get_Body() +FNDA:73,System.String WireMock.Admin.Requests.LogResponseModel::get_Body() +DA:30,73 +FN:34,System.Object WireMock.Admin.Requests.LogResponseModel::get_BodyAsJson() +FNDA:81,System.Object WireMock.Admin.Requests.LogResponseModel::get_BodyAsJson() +DA:35,81 +FN:39,System.Byte[] WireMock.Admin.Requests.LogResponseModel::get_BodyAsBytes() +FNDA:73,System.Byte[] WireMock.Admin.Requests.LogResponseModel::get_BodyAsBytes() +DA:40,73 +FN:44,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyAsFile() +FNDA:73,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyAsFile() +DA:45,73 +FN:49,System.Nullable`1 WireMock.Admin.Requests.LogResponseModel::get_BodyAsFileIsCached() +FNDA:73,System.Nullable`1 WireMock.Admin.Requests.LogResponseModel::get_BodyAsFileIsCached() +DA:50,73 +FN:54,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyOriginal() +FNDA:73,System.String WireMock.Admin.Requests.LogResponseModel::get_BodyOriginal() +DA:55,73 +FN:59,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Requests.LogResponseModel::get_BodyEncoding() +FNDA:81,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Requests.LogResponseModel::get_BodyEncoding() +DA:60,81 +LF:10 +LH:10 +BRF:0 +BRH:0 +FNF:10 +FNH:10 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\BodyModel.cs +FN:10,WireMock.Admin.Mappings.MatcherModel WireMock.Admin.Mappings.BodyModel::get_Matcher() +FNDA:18,WireMock.Admin.Mappings.MatcherModel WireMock.Admin.Mappings.BodyModel::get_Matcher() +DA:11,18 +LF:1 +LH:1 +BRF:0 +BRH:0 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\ClientIPModel.cs +FN:10,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.ClientIPModel::get_Matchers() +FNDA:0,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.ClientIPModel::get_Matchers() +DA:11,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +FNF:1 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\CookieModel.cs +FN:12,System.String WireMock.Admin.Mappings.CookieModel::get_Name() +FNDA:0,System.String WireMock.Admin.Mappings.CookieModel::get_Name() +DA:13,0 +FN:17,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.CookieModel::get_Matchers() +FNDA:0,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.CookieModel::get_Matchers() +DA:18,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +FNF:2 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\EncodingModel.cs +FN:10,System.Int32 WireMock.Admin.Mappings.EncodingModel::get_CodePage() +FNDA:107,System.Int32 WireMock.Admin.Mappings.EncodingModel::get_CodePage() +DA:11,107 +FN:15,System.String WireMock.Admin.Mappings.EncodingModel::get_EncodingName() +FNDA:101,System.String WireMock.Admin.Mappings.EncodingModel::get_EncodingName() +DA:16,101 +FN:20,System.String WireMock.Admin.Mappings.EncodingModel::get_WebName() +FNDA:101,System.String WireMock.Admin.Mappings.EncodingModel::get_WebName() +DA:21,101 +LF:3 +LH:3 +BRF:0 +BRH:0 +FNF:3 +FNH:3 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\HeaderModel.cs +FN:12,System.String WireMock.Admin.Mappings.HeaderModel::get_Name() +FNDA:0,System.String WireMock.Admin.Mappings.HeaderModel::get_Name() +DA:13,0 +FN:17,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.HeaderModel::get_Matchers() +FNDA:0,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.HeaderModel::get_Matchers() +DA:18,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +FNF:2 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\MappingModel.cs +FN:12,System.Nullable`1 WireMock.Admin.Mappings.MappingModel::get_Guid() +FNDA:25,System.Nullable`1 WireMock.Admin.Mappings.MappingModel::get_Guid() +DA:13,25 +FN:17,System.String WireMock.Admin.Mappings.MappingModel::get_Title() +FNDA:24,System.String WireMock.Admin.Mappings.MappingModel::get_Title() +DA:18,24 +FN:22,System.Nullable`1 WireMock.Admin.Mappings.MappingModel::get_Priority() +FNDA:36,System.Nullable`1 WireMock.Admin.Mappings.MappingModel::get_Priority() +DA:23,36 +FN:27,System.String WireMock.Admin.Mappings.MappingModel::get_Scenario() +FNDA:16,System.String WireMock.Admin.Mappings.MappingModel::get_Scenario() +DA:28,16 +FN:32,System.String WireMock.Admin.Mappings.MappingModel::get_WhenStateIs() +FNDA:5,System.String WireMock.Admin.Mappings.MappingModel::get_WhenStateIs() +DA:33,5 +FN:38,System.String WireMock.Admin.Mappings.MappingModel::get_SetStateTo() +FNDA:5,System.String WireMock.Admin.Mappings.MappingModel::get_SetStateTo() +DA:39,5 +FN:43,WireMock.Admin.Mappings.RequestModel WireMock.Admin.Mappings.MappingModel::get_Request() +FNDA:49,WireMock.Admin.Mappings.RequestModel WireMock.Admin.Mappings.MappingModel::get_Request() +DA:44,49 +FN:48,WireMock.Admin.Mappings.ResponseModel WireMock.Admin.Mappings.MappingModel::get_Response() +FNDA:69,WireMock.Admin.Mappings.ResponseModel WireMock.Admin.Mappings.MappingModel::get_Response() +DA:49,69 +LF:8 +LH:8 +BRF:0 +BRH:0 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\MatcherModel.cs +FN:10,System.String WireMock.Admin.Mappings.MatcherModel::get_Name() +FNDA:57,System.String WireMock.Admin.Mappings.MatcherModel::get_Name() +DA:11,57 +FN:15,System.Object WireMock.Admin.Mappings.MatcherModel::get_Pattern() +FNDA:48,System.Object WireMock.Admin.Mappings.MatcherModel::get_Pattern() +DA:16,48 +FN:20,System.Object[] WireMock.Admin.Mappings.MatcherModel::get_Patterns() +FNDA:43,System.Object[] WireMock.Admin.Mappings.MatcherModel::get_Patterns() +DA:21,43 +FN:25,System.Nullable`1 WireMock.Admin.Mappings.MatcherModel::get_IgnoreCase() +FNDA:18,System.Nullable`1 WireMock.Admin.Mappings.MatcherModel::get_IgnoreCase() +DA:26,18 +FN:30,System.Nullable`1 WireMock.Admin.Mappings.MatcherModel::get_RejectOnMatch() +FNDA:31,System.Nullable`1 WireMock.Admin.Mappings.MatcherModel::get_RejectOnMatch() +DA:31,31 +LF:5 +LH:5 +BRF:0 +BRH:0 +FNF:5 +FNH:5 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\ParamModel.cs +FN:10,System.String WireMock.Admin.Mappings.ParamModel::get_Name() +FNDA:0,System.String WireMock.Admin.Mappings.ParamModel::get_Name() +DA:11,0 +FN:15,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.ParamModel::get_Matchers() +FNDA:0,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.ParamModel::get_Matchers() +DA:16,0 +LF:2 +LH:0 +BRF:0 +BRH:0 +FNF:2 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\PathModel.cs +FN:10,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.PathModel::get_Matchers() +FNDA:42,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.PathModel::get_Matchers() +DA:11,42 +LF:1 +LH:1 +BRF:0 +BRH:0 +FNF:1 +FNH:1 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\RequestModel.cs +FN:12,System.Object WireMock.Admin.Mappings.RequestModel::get_ClientIP() +FNDA:19,System.Object WireMock.Admin.Mappings.RequestModel::get_ClientIP() +DA:13,19 +FN:17,System.Object WireMock.Admin.Mappings.RequestModel::get_Path() +FNDA:61,System.Object WireMock.Admin.Mappings.RequestModel::get_Path() +DA:18,61 +FN:22,System.Object WireMock.Admin.Mappings.RequestModel::get_Url() +FNDA:8,System.Object WireMock.Admin.Mappings.RequestModel::get_Url() +DA:23,8 +FN:27,System.String[] WireMock.Admin.Mappings.RequestModel::get_Methods() +FNDA:52,System.String[] WireMock.Admin.Mappings.RequestModel::get_Methods() +DA:28,52 +FN:32,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Headers() +FNDA:19,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Headers() +DA:33,19 +FN:37,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Cookies() +FNDA:19,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Cookies() +DA:38,19 +FN:42,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Params() +FNDA:19,System.Collections.Generic.IList`1 WireMock.Admin.Mappings.RequestModel::get_Params() +DA:43,19 +FN:47,WireMock.Admin.Mappings.BodyModel WireMock.Admin.Mappings.RequestModel::get_Body() +FNDA:34,WireMock.Admin.Mappings.BodyModel WireMock.Admin.Mappings.RequestModel::get_Body() +DA:48,34 +LF:8 +LH:8 +BRF:0 +BRH:0 +FNF:8 +FNH:8 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\ResponseModel.cs +FN:12,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_StatusCode() +FNDA:36,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_StatusCode() +DA:13,36 +FN:17,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyDestination() +FNDA:12,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyDestination() +DA:18,12 +FN:22,System.String WireMock.Admin.Mappings.ResponseModel::get_Body() +FNDA:30,System.String WireMock.Admin.Mappings.ResponseModel::get_Body() +DA:23,30 +FN:27,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyFromBase64() +FNDA:6,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyFromBase64() +DA:28,6 +FN:32,System.Object WireMock.Admin.Mappings.ResponseModel::get_BodyAsJson() +FNDA:12,System.Object WireMock.Admin.Mappings.ResponseModel::get_BodyAsJson() +DA:33,12 +FN:37,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_BodyAsJsonIndented() +FNDA:6,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_BodyAsJsonIndented() +DA:38,6 +FN:42,System.Byte[] WireMock.Admin.Mappings.ResponseModel::get_BodyAsBytes() +FNDA:16,System.Byte[] WireMock.Admin.Mappings.ResponseModel::get_BodyAsBytes() +DA:43,16 +FN:47,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyAsFile() +FNDA:14,System.String WireMock.Admin.Mappings.ResponseModel::get_BodyAsFile() +DA:48,14 +FN:52,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_BodyAsFileIsCached() +FNDA:5,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_BodyAsFileIsCached() +DA:53,5 +FN:57,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Mappings.ResponseModel::get_BodyEncoding() +FNDA:23,WireMock.Admin.Mappings.EncodingModel WireMock.Admin.Mappings.ResponseModel::get_BodyEncoding() +DA:58,23 +FN:62,System.Boolean WireMock.Admin.Mappings.ResponseModel::get_UseTransformer() +FNDA:22,System.Boolean WireMock.Admin.Mappings.ResponseModel::get_UseTransformer() +DA:63,22 +FN:67,System.Collections.Generic.IDictionary`2 WireMock.Admin.Mappings.ResponseModel::get_Headers() +FNDA:43,System.Collections.Generic.IDictionary`2 WireMock.Admin.Mappings.ResponseModel::get_Headers() +DA:68,43 +FN:72,System.String WireMock.Admin.Mappings.ResponseModel::get_HeadersRaw() +FNDA:5,System.String WireMock.Admin.Mappings.ResponseModel::get_HeadersRaw() +DA:73,5 +FN:77,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_Delay() +FNDA:16,System.Nullable`1 WireMock.Admin.Mappings.ResponseModel::get_Delay() +DA:78,16 +FN:82,System.String WireMock.Admin.Mappings.ResponseModel::get_ProxyUrl() +FNDA:14,System.String WireMock.Admin.Mappings.ResponseModel::get_ProxyUrl() +DA:83,14 +FN:87,System.String WireMock.Admin.Mappings.ResponseModel::get_X509Certificate2ThumbprintOrSubjectName() +FNDA:3,System.String WireMock.Admin.Mappings.ResponseModel::get_X509Certificate2ThumbprintOrSubjectName() +DA:88,3 +LF:16 +LH:16 +BRF:0 +BRH:0 +FNF:16 +FNH:16 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\StatusModel.cs +FN:12,System.Nullable`1 WireMock.Admin.Mappings.StatusModel::get_Guid() +FNDA:40,System.Nullable`1 WireMock.Admin.Mappings.StatusModel::get_Guid() +DA:13,40 +FN:17,System.String WireMock.Admin.Mappings.StatusModel::get_Status() +FNDA:44,System.String WireMock.Admin.Mappings.StatusModel::get_Status() +DA:18,44 +LF:2 +LH:2 +BRF:0 +BRH:0 +FNF:2 +FNH:2 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Admin\Mappings\UrlModel.cs +FN:10,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.UrlModel::get_Matchers() +FNDA:0,WireMock.Admin.Mappings.MatcherModel[] WireMock.Admin.Mappings.UrlModel::get_Matchers() +DA:11,0 +LF:1 +LH:0 +BRF:0 +BRH:0 +FNF:1 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net.StandAlone\SimpleCommandLineParser.cs +FN:9,System.Collections.Generic.IDictionary`2 WireMock.Net.StandAlone.SimpleCommandLineParser::get_Arguments() +FNDA:0,System.Collections.Generic.IDictionary`2 WireMock.Net.StandAlone.SimpleCommandLineParser::get_Arguments() +DA:10,0 +FN:12,System.Void WireMock.Net.StandAlone.SimpleCommandLineParser::Parse(System.String[]) +FNDA:0,System.Void WireMock.Net.StandAlone.SimpleCommandLineParser::Parse(System.String[]) +DA:13,0 +DA:14,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +BRDA:17,155,1,0 +BRDA:19,41,0,0 +BRDA:21,57,0,0 +BRDA:21,57,1,0 +BRDA:19,41,1,0 +BRDA:29,109,0,0 +BRDA:29,109,1,0 +BRDA:17,155,0,0 +BRDA:39,173,0,0 +BRDA:39,173,1,0 +FN:45,System.Boolean WireMock.Net.StandAlone.SimpleCommandLineParser::Contains(System.String) +FNDA:0,System.Boolean WireMock.Net.StandAlone.SimpleCommandLineParser::Contains(System.String) +DA:46,0 +DA:47,0 +DA:48,0 +FN:50,System.String[] WireMock.Net.StandAlone.SimpleCommandLineParser::GetValues(System.String,System.String[]) +FNDA:0,System.String[] WireMock.Net.StandAlone.SimpleCommandLineParser::GetValues(System.String,System.String[]) +DA:51,0 +DA:52,0 +DA:53,0 +BRDA:52,8,0,0 +BRDA:52,8,1,0 +FN:55,T WireMock.Net.StandAlone.SimpleCommandLineParser::GetValue(System.String,System.Func`2,T) +FNDA:0,T WireMock.Net.StandAlone.SimpleCommandLineParser::GetValue(System.String,System.Func`2,T) +DA:56,0 +DA:57,0 +DA:58,0 +BRDA:57,8,0,0 +BRDA:57,8,1,0 +FN:60,System.Boolean WireMock.Net.StandAlone.SimpleCommandLineParser::GetBoolValue(System.String,System.Boolean) +FNDA:0,System.Boolean WireMock.Net.StandAlone.SimpleCommandLineParser::GetBoolValue(System.String,System.Boolean) +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +FN:69,System.Nullable`1 WireMock.Net.StandAlone.SimpleCommandLineParser::GetIntValue(System.String,System.Nullable`1) +FNDA:0,System.Nullable`1 WireMock.Net.StandAlone.SimpleCommandLineParser::GetIntValue(System.String,System.Nullable`1) +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +FN:78,System.String WireMock.Net.StandAlone.SimpleCommandLineParser::GetStringValue(System.String,System.String) +FNDA:0,System.String WireMock.Net.StandAlone.SimpleCommandLineParser::GetStringValue(System.String,System.String) +DA:79,0 +DA:80,0 +DA:81,0 +LF:54 +LH:0 +BRF:20 +BRH:0 +FNF:8 +FNH:0 +end_of_record +SF:C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net.StandAlone\StandAloneApp.cs +FN:20,WireMock.Server.FluentMockServer WireMock.Net.StandAlone.StandAloneApp::Start(WireMock.Settings.IFluentMockServerSettings) +FNDA:0,WireMock.Server.FluentMockServer WireMock.Net.StandAlone.StandAloneApp::Start(WireMock.Settings.IFluentMockServerSettings) +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:29,0 +FN:37,WireMock.Server.FluentMockServer WireMock.Net.StandAlone.StandAloneApp::Start(System.String[],WireMock.Logging.IWireMockLogger) +FNDA:0,WireMock.Server.FluentMockServer WireMock.Net.StandAlone.StandAloneApp::Start(System.String[],WireMock.Logging.IWireMockLogger) +DA:38,0 +DA:39,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:83,0 +DA:85,0 +DA:87,0 +DA:88,0 +BRDA:56,231,0,0 +BRDA:56,231,1,0 +BRDA:61,258,0,0 +BRDA:61,258,1,0 +BRDA:71,352,0,0 +BRDA:71,352,1,0 +BRDA:83,483,0,0 +BRDA:83,483,1,0 +LF:48 +LH:0 +BRF:8 +BRH:0 +FNF:2 +FNH:0 +end_of_record \ No newline at end of file diff --git a/report/coverage.opencover.xml b/report/coverage.opencover.xml index 6b2d3ddcf..36e38b8de 100644 --- a/report/coverage.opencover.xml +++ b/report/coverage.opencover.xml @@ -1,10 +1,10 @@  - + - + C:\Users\azureuser\Documents\Github\WireMock.Net\test\WireMock.Net.Tests\bin\Debug\netcoreapp2.1\WireMock.Net.dll - 2018-09-13T08:07:02 + 2018-09-21T12:00:14 WireMock.Net @@ -14,15 +14,15 @@ - - - - - - - - - + + + + + + + + + @@ -113,7 +113,7 @@ System.Guid WireMock.Mapping::get_Guid() - + @@ -135,7 +135,7 @@ System.String WireMock.Mapping::get_Path() - + @@ -146,7 +146,7 @@ System.Int32 WireMock.Mapping::get_Priority() - + @@ -157,7 +157,7 @@ System.String WireMock.Mapping::get_Scenario() - + @@ -168,7 +168,7 @@ System.String WireMock.Mapping::get_ExecutionConditionState() - + @@ -179,7 +179,7 @@ System.String WireMock.Mapping::get_NextState() - + @@ -212,12 +212,12 @@ System.Boolean WireMock.Mapping::get_IsStartState() - + - - - + + + @@ -269,18 +269,18 @@ System.Void WireMock.Mapping::.ctor(System.Guid,System.String,System.String,WireMock.Matchers.Request.IRequestMatcher,WireMock.ResponseProviders.IResponseProvider,System.Int32,System.String,System.String,System.String) - - - - - - - - - - - - + + + + + + + + + + + + @@ -363,7 +363,7 @@ System.String WireMock.RequestMessage::get_Path() - + @@ -374,7 +374,7 @@ System.String WireMock.RequestMessage::get_AbsolutePath() - + @@ -407,7 +407,7 @@ System.String WireMock.RequestMessage::get_Method() - + @@ -451,7 +451,7 @@ System.String WireMock.RequestMessage::get_RawQuery() - + @@ -473,7 +473,7 @@ System.Object WireMock.RequestMessage::get_BodyAsJson() - + @@ -484,7 +484,7 @@ System.Byte[] WireMock.RequestMessage::get_BodyAsBytes() - + @@ -495,7 +495,7 @@ System.String WireMock.RequestMessage::get_Host() - + @@ -506,7 +506,7 @@ System.String WireMock.RequestMessage::get_Protocol() - + @@ -517,7 +517,7 @@ System.Int32 WireMock.RequestMessage::get_Port() - + @@ -550,10 +550,10 @@ System.Collections.Generic.IDictionary`2<System.String,WireMock.Util.WireMockList`1<System.String>> WireMock.RequestMessage::ParseQuery(System.String) - - - - + + + + @@ -577,10 +577,10 @@ - + - + @@ -616,48 +616,48 @@ System.Void WireMock.RequestMessage::.ctor(WireMock.Models.UrlDetails,System.String,System.String,WireMock.Util.BodyData,System.Collections.Generic.IDictionary`2<System.String,System.String[]>,System.Collections.Generic.IDictionary`2<System.String,System.String>) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -950,17 +950,17 @@ T WireMock.Validation.Check::NotNull(T,System.String) - - + + - - + + - + @@ -991,18 +991,18 @@ System.Collections.Generic.IList`1<T> WireMock.Validation.Check::NotNullOrEmpty(System.Collections.Generic.IList`1<T>,System.String) - - - + + + - - + + - + @@ -1068,20 +1068,20 @@ System.Collections.Generic.IList`1<T> WireMock.Validation.Check::HasNoNulls(System.Collections.Generic.IList`1<T>,System.String) - - - + + + - - + + - + - + @@ -1165,39 +1165,6 @@ - - - WireMock.Utils.RegexUtils - - - - - System.Collections.Generic.Dictionary`2<System.String,System.String> WireMock.Utils.RegexUtils::GetNamedGroups(System.Text.RegularExpressions.Regex,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - WireMock.Util.BodyData @@ -1206,45 +1173,45 @@ System.Text.Encoding WireMock.Util.BodyData::get_Encoding() - + - + - + System.String WireMock.Util.BodyData::get_BodyAsString() - + - + - + System.Object WireMock.Util.BodyData::get_BodyAsJson() - + - + - + System.Byte[] WireMock.Util.BodyData::get_BodyAsBytes() - + - + - + @@ -1256,23 +1223,23 @@ System.Void WireMock.Util.BodyParser::.cctor() - + - - - - - - - - - - - - + + + + + + + + + + + + - + @@ -1284,22 +1251,22 @@ System.Void WireMock.Util.BodyParser/<ReadStringAsync>d__2::MoveNext() - + - - - - - - + + + + + + - - - - + + + + - + @@ -1311,22 +1278,22 @@ System.Void WireMock.Util.BodyParser/<ReadBytesAsync>d__3::MoveNext() - + - - - - - - + + + + + + - - - - + + + + - + @@ -1338,23 +1305,23 @@ System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::<Parse>b__0(System.String) - + - + - + System.Boolean WireMock.Util.BodyParser/<>c__DisplayClass4_0::<Parse>b__1(System.String) - + - + - + @@ -1366,62 +1333,62 @@ System.Void WireMock.Util.BodyParser/<Parse>d__4::MoveNext() - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1433,115 +1400,115 @@ System.Void WireMock.Util.ConcurentObservableCollection`1::ClearItems() - + - - - - - - + + + + + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::RemoveItem(System.Int32) - + - - - - - - + + + + + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::InsertItem(System.Int32,T) - + - - - - - - + + + + + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::SetItem(System.Int32,T) - + - - - - - - + + + + + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::MoveItem(System.Int32,System.Int32) - + - - - - - - + + + + + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor() - + - - + + - + System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.List`1<T>) - + - + - + System.Void WireMock.Util.ConcurentObservableCollection`1::.ctor(System.Collections.Generic.IEnumerable`1<T>) - + - + - + @@ -1553,26 +1520,26 @@ System.Void WireMock.Util.DictionaryExtensions::Loop(System.Collections.Generic.IDictionary`2<TKey,TValue>,System.Action`2<TKey,TValue>) - + - - - - - - - - - - + + + + + + + + + + - - - - + + + + - + @@ -1584,286 +1551,286 @@ System.Int32 WireMock.Util.EnhancedFileSystemWatcher::get_Interval() - + - + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::set_Interval(System.Int32) - + - - - - + + + + - + System.Boolean WireMock.Util.EnhancedFileSystemWatcher::get_FilterRecentEvents() - + - + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.IO.FileSystemEventArgs) - + - - - + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.IO.FileSystemEventArgs) - + - - - + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.IO.FileSystemEventArgs) - + - - - + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.IO.RenamedEventArgs) - + - - - + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::InitializeMembers(System.Int32) - + - - - - - - - - - + + + + + + + + + - + System.Boolean WireMock.Util.EnhancedFileSystemWatcher::HasAnotherFileEventOccuredRecently(System.String) - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnChanged(System.Object,System.IO.FileSystemEventArgs) - + - - - - - - + + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnCreated(System.Object,System.IO.FileSystemEventArgs) - + - - - - - - + + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnDeleted(System.Object,System.IO.FileSystemEventArgs) - + - - - - - - + + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::OnRenamed(System.Object,System.IO.RenamedEventArgs) - + - - - - - - + + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.Int32) - + - - - - - + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.Int32) - + - - - - - - + + + + + + - - + + - + System.Void WireMock.Util.EnhancedFileSystemWatcher::.ctor(System.String,System.String,System.Int32) - + - - - - - - - + + + + + + + - - + + - + @@ -1875,28 +1842,28 @@ System.String WireMock.Util.FileHelper::ReadAllTextWithRetryAndDelay(WireMock.Handlers.IFileSystemHandler,System.String) - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - + @@ -1908,246 +1875,281 @@ T WireMock.Util.JsonUtils::ParseJTokenToObject(System.Object) - + - - - - - + + + + + - - - - + + + + - + System.String WireMock.Util.JsonUtils::GenerateDynamicLinqStatement(Newtonsoft.Json.Linq.JToken) - + - - - - - + + + + + - + System.Void WireMock.Util.JsonUtils::WalkNode(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1<System.String>) - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + System.Void WireMock.Util.JsonUtils::ProcessObject(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1<System.String>) - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + System.Void WireMock.Util.JsonUtils::ProcessArray(Newtonsoft.Json.Linq.JToken,System.String,System.Collections.Generic.List`1<System.String>) - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + System.Void WireMock.Util.JsonUtils::ProcessItem(Newtonsoft.Json.Linq.JToken,System.String,System.String,System.Collections.Generic.List`1<System.String>) - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + WireMock.Util.PortUtils System.Int32 WireMock.Util.PortUtils::FindFreeTcpPort() - + - - - - - - - - - - + + + + + + + + + + - - + + - + - - + + - System.Boolean WireMock.Util.PortUtils::TryExtractProtocolAndPort(System.String,System.String&,System.Int32&) - + System.Boolean WireMock.Util.PortUtils::TryExtract(System.String,System.String&,System.String&,System.Int32&) + - - - - - - - - - - + + + + + + + + + + + + - - + + - + System.Void WireMock.Util.PortUtils::.cctor() - + - + - + + + + + + + WireMock.Util.RegexUtils + + + + + System.Collections.Generic.Dictionary`2<System.String,System.String> WireMock.Util.RegexUtils::GetNamedGroups(System.Text.RegularExpressions.Regex,System.String) + + + + + + + + + + + + + + + + + + + + + + @@ -2281,11 +2283,11 @@ - + WireMock.Transformers.HandleBarsJsonPath - + System.Void WireMock.Transformers.HandleBarsJsonPath::Register() @@ -2304,35 +2306,33 @@ - - - + + + - + - + - - + + - + - + - - - - + + - + @@ -2340,32 +2340,32 @@ System.ValueTuple`2<Newtonsoft.Json.Linq.JObject,System.String> WireMock.Transformers.HandleBarsJsonPath::ParseArguments(System.Object[]) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2375,11 +2375,11 @@ - + WireMock.Transformers.HandleBarsLinq - + System.Void WireMock.Transformers.HandleBarsLinq::Register() @@ -2398,32 +2398,30 @@ - - - + + + - + - + - + - - - + + + - - - - + + - + @@ -2431,15 +2429,15 @@ System.Object WireMock.Transformers.HandleBarsLinq::ExecuteDynamicLinq(Newtonsoft.Json.Linq.JToken,System.String) - - - - - - + + + + + + - + @@ -2447,32 +2445,32 @@ System.ValueTuple`2<Newtonsoft.Json.Linq.JToken,System.String> WireMock.Transformers.HandleBarsLinq::ParseArguments(System.Object[]) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2759,7 +2757,7 @@ System.Nullable`1<System.Int32> WireMock.Settings.FluentMockServerSettings::get_Port() - + @@ -2770,7 +2768,7 @@ System.Nullable`1<System.Boolean> WireMock.Settings.FluentMockServerSettings::get_UseSSL() - + @@ -2781,7 +2779,7 @@ System.Nullable`1<System.Boolean> WireMock.Settings.FluentMockServerSettings::get_StartAdminInterface() - + @@ -2792,7 +2790,7 @@ System.Nullable`1<System.Boolean> WireMock.Settings.FluentMockServerSettings::get_ReadStaticMappings() - + @@ -2803,7 +2801,7 @@ System.Nullable`1<System.Boolean> WireMock.Settings.FluentMockServerSettings::get_WatchStaticMappings() - + @@ -2814,7 +2812,7 @@ WireMock.Settings.IProxyAndRecordSettings WireMock.Settings.FluentMockServerSettings::get_ProxyAndRecordSettings() - + @@ -2825,7 +2823,7 @@ System.String[] WireMock.Settings.FluentMockServerSettings::get_Urls() - + @@ -2836,7 +2834,7 @@ System.Int32 WireMock.Settings.FluentMockServerSettings::get_StartTimeout() - + @@ -2847,7 +2845,7 @@ System.Nullable`1<System.Boolean> WireMock.Settings.FluentMockServerSettings::get_AllowPartialMapping() - + @@ -2858,7 +2856,7 @@ System.String WireMock.Settings.FluentMockServerSettings::get_AdminUsername() - + @@ -2869,7 +2867,7 @@ System.String WireMock.Settings.FluentMockServerSettings::get_AdminPassword() - + @@ -2880,7 +2878,7 @@ System.Nullable`1<System.Int32> WireMock.Settings.FluentMockServerSettings::get_RequestLogExpirationDuration() - + @@ -2891,7 +2889,7 @@ System.Nullable`1<System.Int32> WireMock.Settings.FluentMockServerSettings::get_MaxRequestLogCount() - + @@ -2902,7 +2900,7 @@ System.Action`1<System.Object> WireMock.Settings.FluentMockServerSettings::get_PreWireMockMiddlewareInit() - + @@ -2913,7 +2911,7 @@ System.Action`1<System.Object> WireMock.Settings.FluentMockServerSettings::get_PostWireMockMiddlewareInit() - + @@ -2924,7 +2922,7 @@ WireMock.Logging.IWireMockLogger WireMock.Settings.FluentMockServerSettings::get_Logger() - + @@ -2935,7 +2933,7 @@ WireMock.Handlers.IFileSystemHandler WireMock.Settings.FluentMockServerSettings::get_FileSystemHandler() - + @@ -2943,68 +2941,68 @@ - + WireMock.Settings.ProxyAndRecordSettings - - + + System.String WireMock.Settings.ProxyAndRecordSettings::get_Url() - + - + - - + + System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMapping() - + - + - - + + System.Boolean WireMock.Settings.ProxyAndRecordSettings::get_SaveMappingToFile() - + - + - - + + System.String WireMock.Settings.ProxyAndRecordSettings::get_ClientX509Certificate2ThumbprintOrSubjectName() - + - + - - + + System.String[] WireMock.Settings.ProxyAndRecordSettings::get_BlackListedHeaders() - + - + - + WireMock.Server.FluentMockServer @@ -3013,30 +3011,30 @@ System.Void WireMock.Server.FluentMockServer::InitAdmin() - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -3044,20 +3042,20 @@ System.Void WireMock.Server.FluentMockServer::SaveStaticMappings(System.String) - - - - - - + + + + + + - - - - + + + + - + @@ -3065,39 +3063,39 @@ System.Void WireMock.Server.FluentMockServer::ReadStaticMappings(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3105,50 +3103,50 @@ System.Void WireMock.Server.FluentMockServer::WatchStaticMappings(System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3156,38 +3154,48 @@ System.Void WireMock.Server.FluentMockServer::ReadStaticMappingAndAddOrUpdate(System.String) - - - - - - - - - - - - + + + + + + + + + + + + - - + + - + - - + + - System.Void WireMock.Server.FluentMockServer::InitProxyAndRecord(WireMock.Settings.IProxyAndRecordSettings) + System.Void WireMock.Server.FluentMockServer::InitProxyAndRecord(WireMock.Settings.IFluentMockServerSettings) - - - - + + + + + + + + + - - + + + + + + + @@ -3195,39 +3203,39 @@ WireMock.Mapping WireMock.Server.FluentMockServer::ToMapping(WireMock.RequestMessage,WireMock.ResponseMessage,System.String[]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3235,24 +3243,24 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsGet(WireMock.RequestMessage) - - - - - - - - - - + + + + + + + + + + - - - - + + + + - + @@ -3260,28 +3268,28 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::SettingsUpdate(WireMock.RequestMessage) - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -3289,22 +3297,22 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingGet(WireMock.RequestMessage) - - - - - - - - - - + + + + + + + + + + - - + + - + @@ -3312,15 +3320,15 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingPut(WireMock.RequestMessage) - - - - - - + + + + + + - + @@ -3328,19 +3336,19 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingDelete(WireMock.RequestMessage) - - - - - - - + + + + + + + - - + + - + @@ -3348,13 +3356,13 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsSave(WireMock.RequestMessage) - - - - + + + + - + @@ -3362,31 +3370,31 @@ System.Void WireMock.Server.FluentMockServer::SaveMappingToFile(WireMock.Mapping,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3394,12 +3402,12 @@ System.String WireMock.Server.FluentMockServer::SanitizeFileName(System.String,System.Char) - - - + + + - + @@ -3407,23 +3415,23 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsGet(WireMock.RequestMessage) - - - - - - - - - + + + + + + + + + - - - - + + + + - + @@ -3431,24 +3439,24 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsPost(WireMock.RequestMessage) - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -3456,69 +3464,69 @@ System.Nullable`1<System.Guid> WireMock.Server.FluentMockServer::DeserializeAndAddOrUpdateMapping(WireMock.Admin.Mappings.MappingModel,System.Nullable`1<System.Guid>,System.String) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3526,14 +3534,14 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::MappingsDelete(WireMock.RequestMessage) - - - - - + + + + + - + @@ -3541,22 +3549,22 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestGet(WireMock.RequestMessage) - - - - - - - - - - + + + + + + + + + + - - + + - + @@ -3564,19 +3572,19 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestDelete(WireMock.RequestMessage) - - - - - - - + + + + + + + - - + + - + @@ -3584,18 +3592,18 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsGet(WireMock.RequestMessage) - - - - - - + + + + + + - - + + - + @@ -3603,13 +3611,13 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsDelete(WireMock.RequestMessage) - - - - + + + + - + @@ -3617,35 +3625,35 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::RequestsFind(WireMock.RequestMessage) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3653,22 +3661,22 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosGet(WireMock.RequestMessage) - - - - - - - - - - + + + + + + + + + + - - + + - + @@ -3676,13 +3684,13 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::ScenariosReset(WireMock.RequestMessage) - - - - + + + + - + @@ -3690,249 +3698,253 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.Server.FluentMockServer::InitRequestBuilder(WireMock.Admin.Mappings.RequestModel,System.Boolean) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WireMock.ResponseBuilders.IResponseBuilder WireMock.Server.FluentMockServer::InitResponseBuilder(WireMock.Admin.Mappings.ResponseModel) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3940,20 +3952,20 @@ WireMock.ResponseMessage WireMock.Server.FluentMockServer::ToJson(T,System.Boolean) - - - - - - - - + + + + + + + + - - + + - + @@ -3961,15 +3973,15 @@ System.Text.Encoding WireMock.Server.FluentMockServer::ToEncoding(WireMock.Admin.Mappings.EncodingModel) - - - + + + - - + + - + @@ -3977,17 +3989,17 @@ T WireMock.Server.FluentMockServer::DeserializeObject(WireMock.RequestMessage) - - - - - + + + + + - - + + - + @@ -3995,82 +4007,82 @@ System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) - - - - - - - - - - - - + + + + + + + + + + + + - + - WireMock.Server.FluentMockServer/<ProxyAndRecordAsync>d__16 + WireMock.Server.FluentMockServer/<ProxyAndRecordAsync>d__19 - System.Void WireMock.Server.FluentMockServer/<ProxyAndRecordAsync>d__16::MoveNext() + System.Void WireMock.Server.FluentMockServer/<ProxyAndRecordAsync>d__19::MoveNext() - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - WireMock.Server.FluentMockServer/<>c__DisplayClass17_0 + WireMock.Server.FluentMockServer/<>c__DisplayClass20_0 - WireMock.Server.FluentMockServer/<>c__DisplayClass20_0 + WireMock.Server.FluentMockServer/<>c__DisplayClass23_0 - WireMock.Server.FluentMockServer/<>c__DisplayClass30_0 + WireMock.Server.FluentMockServer/<>c__DisplayClass33_0 - + WireMock.Server.FluentMockServer @@ -4079,13 +4091,13 @@ System.Boolean WireMock.Server.FluentMockServer::get_IsStarted() - + - - + + - + @@ -4093,10 +4105,10 @@ System.Collections.Generic.List`1<System.Int32> WireMock.Server.FluentMockServer::get_Ports() - + - + @@ -4104,10 +4116,10 @@ System.String[] WireMock.Server.FluentMockServer::get_Urls() - + - + @@ -4115,10 +4127,10 @@ System.Collections.Generic.IEnumerable`1<WireMock.Mapping> WireMock.Server.FluentMockServer::get_Mappings() - + - + @@ -4126,10 +4138,10 @@ System.Collections.Concurrent.ConcurrentDictionary`2<System.String,WireMock.ScenarioState> WireMock.Server.FluentMockServer::get_Scenarios() - + - + @@ -4137,13 +4149,13 @@ System.Void WireMock.Server.FluentMockServer::Dispose() - - - - + + + + - + @@ -4151,18 +4163,18 @@ System.Void WireMock.Server.FluentMockServer::Dispose(System.Boolean) - - - - - - + + + + + + - - + + - + @@ -4170,13 +4182,13 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(WireMock.Settings.IFluentMockServerSettings) - - - - + + + + - + @@ -4184,16 +4196,16 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.Nullable`1<System.Int32>,System.Boolean) - - - - - - - + + + + + + + - + @@ -4201,16 +4213,16 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::Start(System.String[]) - - - - - - - + + + + + + + - + @@ -4218,17 +4230,17 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.Nullable`1<System.Int32>,System.Boolean) - - - - - - - - + + + + + + + + - + @@ -4236,17 +4248,17 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterface(System.String[]) - - - - - - - - + + + + + + + + - + @@ -4254,18 +4266,18 @@ WireMock.Server.FluentMockServer WireMock.Server.FluentMockServer::StartWithAdminInterfaceAndReadStaticMappings(System.String[]) - - - - - - - - - + + + + + + + + + - + @@ -4273,18 +4285,18 @@ System.Void WireMock.Server.FluentMockServer::Stop() - - - - + + + + - - - - + + + + - + @@ -4292,18 +4304,18 @@ System.Void WireMock.Server.FluentMockServer::AddCatchAllMapping() - - - - - - + + + + + + - - + + - + @@ -4311,13 +4323,13 @@ System.Void WireMock.Server.FluentMockServer::Reset() - - - - + + + + - + @@ -4325,20 +4337,20 @@ System.Void WireMock.Server.FluentMockServer::ResetMappings() - - - - - - + + + + + + - - - - + + + + - + @@ -4346,18 +4358,18 @@ System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.Guid) - - - - - - + + + + + + - - + + - + @@ -4365,13 +4377,13 @@ System.Boolean WireMock.Server.FluentMockServer::DeleteMapping(System.String) - - - - + + + + - + @@ -4379,12 +4391,12 @@ System.Void WireMock.Server.FluentMockServer::AddGlobalProcessingDelay(System.TimeSpan) - - - + + + - + @@ -4392,42 +4404,42 @@ System.Void WireMock.Server.FluentMockServer::AllowPartialMapping(System.Boolean) - - - - + + + + - + - - + + System.Void WireMock.Server.FluentMockServer::SetBasicAuthentication(System.String,System.String) - - - - - - + + + + + + - + - - + + System.Void WireMock.Server.FluentMockServer::RemoveBasicAuthentication() - - - + + + - + @@ -4435,12 +4447,12 @@ System.Void WireMock.Server.FluentMockServer::SetMaxRequestLogCount(System.Nullable`1<System.Int32>) - - - + + + - + @@ -4448,12 +4460,12 @@ System.Void WireMock.Server.FluentMockServer::SetRequestLogExpirationDuration(System.Nullable`1<System.Int32>) - - - + + + - + @@ -4461,12 +4473,12 @@ System.Void WireMock.Server.FluentMockServer::ResetScenarios() - - - + + + - + @@ -4474,12 +4486,12 @@ WireMock.Server.IRespondWithAProvider WireMock.Server.FluentMockServer::Given(WireMock.Matchers.Request.IRequestMatcher) - - - + + + - + @@ -4487,128 +4499,140 @@ System.Void WireMock.Server.FluentMockServer::RegisterMapping(WireMock.Mapping) - - - - - - - - - + + + + + + + + + - - + + - + - - + + System.Void WireMock.Server.FluentMockServer::.ctor(WireMock.Settings.IFluentMockServerSettings) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4732,7 +4756,7 @@ System.Guid WireMock.Server.RespondWithAProvider::get_Guid() - + @@ -4743,9 +4767,9 @@ System.Void WireMock.Server.RespondWithAProvider::RespondWith(WireMock.ResponseProviders.IResponseProvider) - - - + + + @@ -4811,10 +4835,10 @@ WireMock.Server.IRespondWithAProvider WireMock.Server.RespondWithAProvider::AtPriority(System.Int32) - - - - + + + + @@ -4879,11 +4903,11 @@ System.Void WireMock.Server.RespondWithAProvider::.ctor(WireMock.RegistrationCallback,WireMock.Matchers.Request.IRequestMatcher) - - - - - + + + + + @@ -5190,11 +5214,11 @@ - + WireMock.Serialization.MatcherMapper - - + + WireMock.Matchers.IMatcher WireMock.Serialization.MatcherMapper::Map(WireMock.Admin.Mappings.MatcherModel) @@ -5231,50 +5255,56 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5399,11 +5429,11 @@ System.Void WireMock.ResponseProviders.DynamicResponseProvider::.ctor(System.Func`2<WireMock.RequestMessage,WireMock.ResponseMessage>) - - - - - + + + + + @@ -5411,7 +5441,7 @@ - + WireMock.ResponseProviders.ProxyAsyncResponseProvider @@ -5427,22 +5457,22 @@ - - + + System.Void WireMock.ResponseProviders.ProxyAsyncResponseProvider::.ctor(System.Func`3<WireMock.RequestMessage,WireMock.Settings.IProxyAndRecordSettings,System.Threading.Tasks.Task`1<WireMock.ResponseMessage>>,WireMock.Settings.IProxyAndRecordSettings) - - - - - - - + + + + + + + - + @@ -6010,7 +6040,7 @@ - + WireMock.RequestBuilders.Request @@ -6019,9 +6049,9 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::Create() - - - + + + @@ -6122,11 +6152,11 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.IStringMatcher[]) - - - - - + + + + + @@ -6137,9 +6167,9 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(System.String[]) - - - + + + @@ -6150,11 +6180,11 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithPath(WireMock.Matchers.MatchBehaviour,System.String[]) - - - - - + + + + + @@ -6238,10 +6268,10 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingDelete(WireMock.Matchers.MatchBehaviour) - - - - + + + + @@ -6252,10 +6282,10 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingGet(WireMock.Matchers.MatchBehaviour) - - - - + + + + @@ -6280,10 +6310,10 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPost(WireMock.Matchers.MatchBehaviour) - - - - + + + + @@ -6308,36 +6338,36 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingPut(WireMock.Matchers.MatchBehaviour) - - - - + + + + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingAnyMethod() - - - - - - - - + + + + + + + + - - - + + + - + @@ -6358,9 +6388,9 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(System.String[]) - - - + + + @@ -6384,11 +6414,11 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::UsingMethod(WireMock.Matchers.MatchBehaviour,System.String[]) - - - - - + + + + + @@ -6495,20 +6525,20 @@ - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour) - - - - - + + + + + - + @@ -6516,25 +6546,25 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,System.String[]) - - - + + + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.IStringMatcher[]) - - - + + + - + @@ -6542,29 +6572,29 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,System.String[]) - - - - - + + + + + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithParam(System.String,WireMock.Matchers.MatchBehaviour,WireMock.Matchers.IStringMatcher[]) - - - - - + + + + + - + @@ -6581,18 +6611,18 @@ - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,WireMock.Matchers.MatchBehaviour) - - - + + + - + @@ -6600,75 +6630,75 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) - - - - - - + + + + + + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],WireMock.Matchers.MatchBehaviour) - - - + + + - + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,System.String[],System.Boolean,WireMock.Matchers.MatchBehaviour) - - - - - - + + + + + + - + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.String,WireMock.Matchers.IStringMatcher[]) - - - - - - + + + + + + - + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithHeader(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.String[]>,System.Boolean>[]) - - - - - + + + + + - + @@ -6676,43 +6706,43 @@ WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,System.String,System.Boolean,WireMock.Matchers.MatchBehaviour) - - - - + + + + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.String,WireMock.Matchers.IStringMatcher[]) - - - - - + + + + + - + - - + + WireMock.RequestBuilders.IRequestBuilder WireMock.RequestBuilders.Request::WithCookie(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.String>,System.Boolean>[]) - - - - - + + + + + - + @@ -6720,10 +6750,10 @@ System.Void WireMock.RequestBuilders.Request::.ctor(System.Collections.Generic.IList`1<WireMock.Matchers.Request.IRequestMatcher>) - - - - + + + + @@ -6740,7 +6770,7 @@ System.Boolean WireMock.Owin.AspNetCoreSelfHost::get_IsStarted() - + @@ -6751,7 +6781,7 @@ System.Collections.Generic.List`1<System.String> WireMock.Owin.AspNetCoreSelfHost::get_Urls() - + @@ -6762,7 +6792,7 @@ System.Collections.Generic.List`1<System.Int32> WireMock.Owin.AspNetCoreSelfHost::get_Ports() - + @@ -6773,7 +6803,7 @@ System.Exception WireMock.Owin.AspNetCoreSelfHost::get_RunningException() - + @@ -6784,52 +6814,52 @@ System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StartAsync() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6840,22 +6870,22 @@ System.Void WireMock.Owin.AspNetCoreSelfHost::StartServers() - - - - - - - + + + + + + + - - - - + + + + @@ -6866,11 +6896,11 @@ System.Threading.Tasks.Task WireMock.Owin.AspNetCoreSelfHost::StopAsync() - - - - - + + + + + @@ -6881,27 +6911,27 @@ System.Void WireMock.Owin.AspNetCoreSelfHost::.ctor(WireMock.Owin.WireMockMiddlewareOptions,System.String[]) - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - + + + @@ -6928,12 +6958,12 @@ System.Void WireMock.Owin.GlobalExceptionMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) - - - - - - + + + + + + @@ -7102,7 +7132,7 @@ System.Void WireMock.Owin.OwinResponseMapper::.ctor() - + @@ -7124,11 +7154,11 @@ - + WireMock.Owin.OwinResponseMapper/<MapAsync>d__3 - - + + System.Void WireMock.Owin.OwinResponseMapper/<MapAsync>d__3::MoveNext() @@ -7172,19 +7202,21 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -7250,12 +7282,12 @@ System.Void WireMock.Owin.WireMockMiddleware::.ctor(Microsoft.AspNetCore.Http.RequestDelegate,WireMock.Owin.WireMockMiddlewareOptions) - - - - - - + + + + + + @@ -7489,8 +7521,8 @@ - - + + @@ -7569,7 +7601,7 @@ WireMock.Logging.IWireMockLogger WireMock.Owin.WireMockMiddlewareOptions::get_Logger() - + @@ -7591,7 +7623,7 @@ WireMock.Matchers.IStringMatcher WireMock.Owin.WireMockMiddlewareOptions::get_AuthorizationMatcher() - + @@ -7613,7 +7645,7 @@ System.Collections.Concurrent.ConcurrentDictionary`2<System.Guid,WireMock.Mapping> WireMock.Owin.WireMockMiddlewareOptions::get_Mappings() - + @@ -7624,7 +7656,7 @@ System.Collections.Concurrent.ConcurrentDictionary`2<System.String,WireMock.ScenarioState> WireMock.Owin.WireMockMiddlewareOptions::get_Scenarios() - + @@ -7635,7 +7667,7 @@ System.Collections.ObjectModel.ObservableCollection`1<WireMock.Logging.LogEntry> WireMock.Owin.WireMockMiddlewareOptions::get_LogEntries() - + @@ -7668,7 +7700,7 @@ System.Action`1<Microsoft.AspNetCore.Builder.IApplicationBuilder> WireMock.Owin.WireMockMiddlewareOptions::get_PreWireMockMiddlewareInit() - + @@ -7679,7 +7711,7 @@ System.Action`1<Microsoft.AspNetCore.Builder.IApplicationBuilder> WireMock.Owin.WireMockMiddlewareOptions::get_PostWireMockMiddlewareInit() - + @@ -7696,7 +7728,7 @@ System.Uri WireMock.Models.UrlDetails::get_Url() - + @@ -7707,7 +7739,7 @@ System.Uri WireMock.Models.UrlDetails::get_AbsoluteUrl() - + @@ -7718,9 +7750,9 @@ System.Void WireMock.Models.UrlDetails::.ctor(System.String) - - - + + + @@ -7731,9 +7763,9 @@ System.Void WireMock.Models.UrlDetails::.ctor(System.Uri) - - - + + + @@ -7744,13 +7776,13 @@ System.Void WireMock.Models.UrlDetails::.ctor(System.Uri,System.Uri) - - - - - - - + + + + + + + @@ -7815,9 +7847,9 @@ System.Void WireMock.Matchers.ExactMatcher::.ctor(System.String[]) - - - + + + @@ -7828,12 +7860,12 @@ System.Void WireMock.Matchers.ExactMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) - - - - - - + + + + + + @@ -8457,7 +8489,7 @@ WireMock.Matchers.MatchBehaviour WireMock.Matchers.RegexMatcher::get_MatchBehaviour() - + @@ -8494,9 +8526,9 @@ System.String[] WireMock.Matchers.RegexMatcher::GetPatterns() - - - + + + @@ -8507,7 +8539,7 @@ System.String WireMock.Matchers.RegexMatcher::get_Name() - + @@ -8542,9 +8574,9 @@ System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) - - - + + + @@ -8568,23 +8600,23 @@ System.Void WireMock.Matchers.RegexMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + @@ -8799,9 +8831,9 @@ System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.Boolean) - - - + + + @@ -8825,14 +8857,14 @@ System.Void WireMock.Matchers.WildcardMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[],System.Boolean) - - - - + + + + - + @@ -9426,12 +9458,12 @@ System.Void WireMock.Matchers.Request.RequestMessageCompositeMatcher::.ctor(System.Collections.Generic.IEnumerable`1<WireMock.Matchers.Request.IRequestMatcher>,WireMock.Matchers.Request.CompositeMatcherType) - - - - - - + + + + + + @@ -9533,15 +9565,15 @@ System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) - - - - - - - - - + + + + + + + + + @@ -9552,13 +9584,13 @@ System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) - - - - - - - + + + + + + + @@ -9569,11 +9601,11 @@ System.Void WireMock.Matchers.Request.RequestMessageCookieMatcher::.ctor(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.String>,System.Boolean>[]) - - - - - + + + + + @@ -9581,7 +9613,7 @@ - + WireMock.Matchers.Request.RequestMessageHeaderMatcher @@ -9675,37 +9707,37 @@ System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String,System.Boolean) - - - - - - - - - + + + + + + + + + - - + + System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[],System.Boolean) - - - - - - - - - + + + + + + + + + - + @@ -9713,13 +9745,13 @@ System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.String,WireMock.Matchers.IStringMatcher[]) - - - - - - - + + + + + + + @@ -9730,11 +9762,11 @@ System.Void WireMock.Matchers.Request.RequestMessageHeaderMatcher::.ctor(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.String[]>,System.Boolean>[]) - - - - - + + + + + @@ -9747,7 +9779,7 @@ - + WireMock.Matchers.Request.RequestMessageMethodMatcher @@ -9756,10 +9788,10 @@ System.String[] WireMock.Matchers.Request.RequestMessageMethodMatcher::get_Methods() - + - + @@ -9767,13 +9799,13 @@ System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::GetMatchingScore(WireMock.RequestMessage,WireMock.Matchers.Request.RequestMatchResult) - - - - + + + + - + @@ -9781,31 +9813,28 @@ System.Double WireMock.Matchers.Request.RequestMessageMethodMatcher::IsMatch(WireMock.RequestMessage) - - - + + + - + - - + + System.Void WireMock.Matchers.Request.RequestMessageMethodMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) - - - - - - + + + + + + - - - - - + + @@ -9917,9 +9946,9 @@ System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String) - - - + + + @@ -9930,13 +9959,13 @@ System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,System.String[]) - - - + + + - + @@ -9946,13 +9975,13 @@ System.Void WireMock.Matchers.Request.RequestMessageParamMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String,WireMock.Matchers.IStringMatcher[]) - - - - - - - + + + + + + + @@ -10046,9 +10075,9 @@ System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.MatchBehaviour,System.String[]) - - - + + + @@ -10059,11 +10088,11 @@ System.Void WireMock.Matchers.Request.RequestMessagePathMatcher::.ctor(WireMock.Matchers.IStringMatcher[]) - - - - - + + + + + @@ -10432,8 +10461,8 @@ System.Void WireMock.Logging.WireMockNullLogger::Debug(System.String,System.Object[]) - - + + @@ -10444,8 +10473,8 @@ System.Void WireMock.Logging.WireMockNullLogger::Info(System.String,System.Object[]) - - + + @@ -10489,42 +10518,42 @@ - + WireMock.Http.HttpClientHelper - - + + System.Net.Http.HttpClient WireMock.Http.HttpClientHelper::CreateHttpClient(System.String) - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - + + - + - + @@ -12090,9 +12119,9 @@ - + C:\Users\azureuser\Documents\Github\WireMock.Net\test\WireMock.Net.Tests\bin\Debug\netcoreapp2.1\WireMock.Net.StandAlone.dll - 2018-09-13T08:07:02 + 2018-09-21T12:00:14 WireMock.Net.StandAlone diff --git a/report/coverlet/WireMock.Net.StandAlone_SimpleCommandLineParser.htm b/report/coverlet/WireMock.Net.StandAlone_SimpleCommandLineParser.htm index b2bf9422f..d5c7a18fb 100644 --- a/report/coverlet/WireMock.Net.StandAlone_SimpleCommandLineParser.htm +++ b/report/coverlet/WireMock.Net.StandAlone_SimpleCommandLineParser.htm @@ -128,7 +128,7 @@

 83} - +

Methods/Properties

diff --git a/report/coverlet/WireMock.Net.StandAlone_StandAloneApp.htm b/report/coverlet/WireMock.Net.StandAlone_StandAloneApp.htm index 7f0e16565..ba129a475 100644 --- a/report/coverlet/WireMock.Net.StandAlone_StandAloneApp.htm +++ b/report/coverlet/WireMock.Net.StandAlone_StandAloneApp.htm @@ -130,7 +130,7 @@

 90} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_AspNetCoreSelfHost.htm b/report/coverlet/WireMock.Net_AspNetCoreSelfHost.htm index 33fe854f5..014658ac8 100644 --- a/report/coverlet/WireMock.Net_AspNetCoreSelfHost.htm +++ b/report/coverlet/WireMock.Net_AspNetCoreSelfHost.htm @@ -58,7 +58,7 @@

 16{  17    internal class AspNetCoreSelfHost : IOwinSelfHost  18    { - 4919        private readonly CancellationTokenSource _cts = new CancellationTokenSource(); + 5519        private readonly CancellationTokenSource _cts = new CancellationTokenSource();  20        private readonly WireMockMiddlewareOptions _options;  21        private readonly string[] _urls;  22        private readonly IWireMockLogger _logger; @@ -66,93 +66,93 @@

 24  25        private IWebHost _host;  26 - 43727        public bool IsStarted { get; private set; } + 51027        public bool IsStarted { get; private set; }  28 - 9829        public List<string> Urls { get; } = new List<string>(); + 11029        public List<string> Urls { get; } = new List<string>();  30 - 14731        public List<int> Ports { get; } = new List<int>(); + 16531        public List<int> Ports { get; } = new List<int>();  32 - 33333        public Exception RunningException => _runningException; + 39633        public Exception RunningException => _runningException;  34 - 4935        public AspNetCoreSelfHost([NotNull] WireMockMiddlewareOptions options, [NotNull] params string[] uriPrefixes) - 4936        { - 4937            Check.NotNull(options, nameof(options)); - 4938            Check.NotNullOrEmpty(uriPrefixes, nameof(uriPrefixes)); + 5535        public AspNetCoreSelfHost([NotNull] WireMockMiddlewareOptions options, [NotNull] params string[] uriPrefixes) + 5536        { + 5537            Check.NotNull(options, nameof(options)); + 5538            Check.NotNullOrEmpty(uriPrefixes, nameof(uriPrefixes));  39 - 4940            _logger = options.Logger ?? new WireMockConsoleLogger(); + 5540            _logger = options.Logger ?? new WireMockConsoleLogger();  41 - 24542            foreach (string uriPrefix in uriPrefixes) - 4943            { - 4944                Urls.Add(uriPrefix); + 27542            foreach (string uriPrefix in uriPrefixes) + 5543            { + 5544                Urls.Add(uriPrefix);  45 - 4946                PortUtils.TryExtractProtocolAndPort(uriPrefix, out string host, out int port); - 4947                Ports.Add(port); - 4948            } + 5546                PortUtils.TryExtract(uriPrefix, out string protocol, out string host, out int port); + 5547                Ports.Add(port); + 5548            }  49 - 4950            _options = options; - 4951            _urls = uriPrefixes; - 4952        } + 5550            _options = options; + 5551            _urls = uriPrefixes; + 5552        }  53  54        public Task StartAsync() - 4955        { - 4956            _host = new WebHostBuilder() - 4957                .Configure(appBuilder => - 9858                { - 9859                    appBuilder.UseMiddleware<GlobalExceptionMiddleware>(_options); - 4960 - 9861                    _options.PreWireMockMiddlewareInit?.Invoke(appBuilder); - 4962 - 9863                    appBuilder.UseMiddleware<WireMockMiddleware>(_options); - 4964 - 9865                    _options.PostWireMockMiddlewareInit?.Invoke(appBuilder); - 9866                }) - 4967                .UseKestrel(options => - 9868                { - 4969#if NETSTANDARD1_3 - 4970                    if (_urls.Any(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase))) - 4971                    { - 4972                        options.UseHttps(PublicCertificateHelper.GetX509Certificate2()); - 4973                    } - 4974#else - 4975                    // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x - 34376                    foreach (string url in _urls.Where(u => u.StartsWith("http://", StringComparison.OrdinalIgnoreCase)) - 9877                    { - 9878                        PortUtils.TryExtractProtocolAndPort(url, out string host, out int port); - 9879                        options.Listen(System.Net.IPAddress.Any, port); - 9880                    } - 4981 - 24582                    foreach (string url in _urls.Where(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase) - 4983                    { - 4984                        PortUtils.TryExtractProtocolAndPort(url, out string host, out int port); - 4985                        options.Listen(System.Net.IPAddress.Any, port, listenOptions => - 4986                        { - 4987                            listenOptions.UseHttps(PublicCertificateHelper.GetX509Certificate2()); - 4988                        }); - 4989                    } - 4990#endif - 9891                }) - 4992#if NETSTANDARD1_3 - 4993                .UseUrls(_urls) - 4994#endif - 4995                .Build(); + 5555        { + 5556            _host = new WebHostBuilder() + 5557                .Configure(appBuilder => + 11058                { + 11059                    appBuilder.UseMiddleware<GlobalExceptionMiddleware>(_options); + 5560 + 11061                    _options.PreWireMockMiddlewareInit?.Invoke(appBuilder); + 5562 + 11063                    appBuilder.UseMiddleware<WireMockMiddleware>(_options); + 5564 + 11065                    _options.PostWireMockMiddlewareInit?.Invoke(appBuilder); + 11066                }) + 5567                .UseKestrel(options => + 11068                { + 5569#if NETSTANDARD1_3 + 5570                    if (_urls.Any(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase))) + 5571                    { + 5572                        options.UseHttps(PublicCertificateHelper.GetX509Certificate2()); + 5573                    } + 5574#else + 5575                    // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x + 38576                    foreach (string url in _urls.Where(u => u.StartsWith("http://", StringComparison.OrdinalIgnoreCase)) + 11077                    { + 11078                        PortUtils.TryExtract(url, out string protocol, out string host, out int port); + 11079                        options.Listen(System.Net.IPAddress.Any, port); + 11080                    } + 5581 + 27582                    foreach (string url in _urls.Where(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase) + 5583                    { + 5584                        PortUtils.TryExtract(url, out string protocol, out string host, out int port); + 5585                        options.Listen(System.Net.IPAddress.Any, port, listenOptions => + 5586                        { + 5587                            listenOptions.UseHttps(PublicCertificateHelper.GetX509Certificate2()); + 5588                        }); + 5589                    } + 5590#endif + 11091                }) + 5592#if NETSTANDARD1_3 + 5593                .UseUrls(_urls) + 5594#endif + 5595                .Build();  96 - 4997            return Task.Run(() => - 9898            { - 9899                StartServers(); - 52100            }, _cts.Token); - 49101        } + 5597            return Task.Run(() => + 11098            { + 11099                StartServers(); + 57100            }, _cts.Token); + 55101        }  102  103        private void StartServers() - 49104        { + 55104        {  105            try - 49106            { - 49107                var appLifetime = (IApplicationLifetime) _host.Services.GetService(typeof(IApplicationLifetime)); - 98108                appLifetime.ApplicationStarted.Register(() => IsStarted = true); + 55106            { + 55107                var appLifetime = (IApplicationLifetime) _host.Services.GetService(typeof(IApplicationLifetime)); + 110108                appLifetime.ApplicationStarted.Register(() => IsStarted = true);  109  110#if NETSTANDARD1_3  111                _logger.Info("WireMock.Net server using netstandard1.3");  112#elif NETSTANDARD2_0 - 49113                _logger.Info("WireMock.Net server using netstandard2.0"); + 55113                _logger.Info("WireMock.Net server using netstandard2.0");  114#elif NET46  115                _logger.Info("WireMock.Net server using .net 4.6.1 or higher");  116#endif @@ -160,37 +160,37 @@

 118#if NETSTANDARD1_3  119                _host.Run(_cts.Token);  120#else - 49121                _host.RunAsync(_cts.Token).Wait(); + 55121                _host.RunAsync(_cts.Token).Wait();  122#endif - 3123            } + 2123            }  0124            catch (Exception e)  0125            {  0126                _runningException = e;  0127                _logger.Error(e.ToString());  0128            }  129            finally - 3130            { - 3131                IsStarted = false; - 3132            } - 3133        } + 2130            { + 2131                IsStarted = false; + 2132            } + 2133        }  134  135        public Task StopAsync() - 3136        { - 3137            _cts.Cancel(); + 2136        { + 2137            _cts.Cancel();  138 - 3139            IsStarted = false; + 2139            IsStarted = false;  140#if NETSTANDARD1_3  141            return Task.FromResult(true);  142#else - 3143            return _host.StopAsync(); + 2143            return _host.StopAsync();  144#endif - 3145        } + 2145        }  146    }  147}  148#endif -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_BodyData.htm b/report/coverlet/WireMock.Net_BodyData.htm index 6e062d1e0..87ba53f02 100644 --- a/report/coverlet/WireMock.Net_BodyData.htm +++ b/report/coverlet/WireMock.Net_BodyData.htm @@ -61,7 +61,7 @@

C  30} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_BodyModel.htm b/report/coverlet/WireMock.Net_BodyModel.htm index a5e27581d..15f8fe59e 100644 --- a/report/coverlet/WireMock.Net_BodyModel.htm +++ b/report/coverlet/WireMock.Net_BodyModel.htm @@ -44,7 +44,7 @@

 13} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_BodyParser.htm b/report/coverlet/WireMock.Net_BodyParser.htm index 7f4962d94..1cbfb1052 100644 --- a/report/coverlet/WireMock.Net_BodyParser.htm +++ b/report/coverlet/WireMock.Net_BodyParser.htm @@ -130,7 +130,7 @@

 88} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_Check.htm b/report/coverlet/WireMock.Net_Check.htm index 287c78614..fc6968878 100644 --- a/report/coverlet/WireMock.Net_Check.htm +++ b/report/coverlet/WireMock.Net_Check.htm @@ -79,16 +79,16 @@

 33  34        [ContractAnnotation("value:null => halt")]  35        public static T NotNull<T>([NoEnumeration] T value, [InvokerParameterName] [NotNull] string parameterName) - 339036        { - 339037            if (ReferenceEquals(value, null)) + 388436        { + 388437            if (ReferenceEquals(value, null))  238            {  239                NotNullOrEmpty(parameterName, nameof(parameterName));  40  241                throw new ArgumentNullException(parameterName);  42            }  43 - 338844            return value; - 338845        } + 388244            return value; + 388245        }  46  47        [ContractAnnotation("value:null => halt")]  48        public static T NotNull<T>([NoEnumeration] T value, [InvokerParameterName] [NotNull] string parameterName, [NotN @@ -106,18 +106,18 @@

 60  61        [ContractAnnotation("value:null => halt")]  62        public static IList<T> NotNullOrEmpty<T>(IList<T> value, [InvokerParameterName] [NotNull] string parameterName) - 40963        { - 40964            NotNull(value, parameterName); + 48063        { + 48064            NotNull(value, parameterName);  65 - 40966            if (value.Count == 0) + 48066            if (value.Count == 0)  067            {  068                NotNullOrEmpty(parameterName, nameof(parameterName));  69  070                throw new ArgumentException(CoreStrings.CollectionArgumentIsEmpty(parameterName));  71            }  72 - 40973            return value; - 40974        } + 48073            return value; + 48074        }  75  76        [ContractAnnotation("value:null => halt")]  77        public static string NotNullOrEmpty(string value, [InvokerParameterName] [NotNull] string parameterName) @@ -157,18 +157,18 @@

 111  112        public static IList<T> HasNoNulls<T>(IList<T> value, [InvokerParameterName] [NotNull] string parameterName)  113            where T : class - 33114        { - 33115            NotNull(value, parameterName); + 39114        { + 39115            NotNull(value, parameterName);  116 - 68117            if (value.Any(e => e == null)) + 80117            if (value.Any(e => e == null))  0118            {  0119                NotNullOrEmpty(parameterName, nameof(parameterName));  120  0121                throw new ArgumentException(parameterName);  122            }  123 - 33124            return value; - 33125        } + 39124            return value; + 39125        }  126  127        public static Type ValidEntityType(Type value, [InvokerParameterName] [NotNull] string parameterName)  0128        { @@ -185,7 +185,7 @@

 139} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ClientCertificateHelper.htm b/report/coverlet/WireMock.Net_ClientCertificateHelper.htm index d02260d3c..6cec66c70 100644 --- a/report/coverlet/WireMock.Net_ClientCertificateHelper.htm +++ b/report/coverlet/WireMock.Net_ClientCertificateHelper.htm @@ -81,7 +81,7 @@

 42} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ClientIPModel.htm b/report/coverlet/WireMock.Net_ClientIPModel.htm index 35821e5d1..4e77d47b4 100644 --- a/report/coverlet/WireMock.Net_ClientIPModel.htm +++ b/report/coverlet/WireMock.Net_ClientIPModel.htm @@ -44,7 +44,7 @@

 13} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ConcurentObservableCollection_1.htm b/report/coverlet/WireMock.Net_ConcurentObservableCollection_1.htm index 7fe05361e..43a13363f 100644 --- a/report/coverlet/WireMock.Net_ConcurentObservableCollection_1.htm +++ b/report/coverlet/WireMock.Net_ConcurentObservableCollection_1.htm @@ -55,12 +55,12 @@

 10    /// <inheritdoc cref="ObservableCollection{T}" />  11    public class ConcurentObservableCollection<T> : ObservableCollection<T>  12    { - 4913        private readonly object _lockObject = new object(); + 5513        private readonly object _lockObject = new object();  14  15        /// <summary>  16        /// Initializes a new instance of the <see cref="T:WireMock.Util.ConcurentObservableCollection`1" /> class.  17        /// </summary> - 14718        public ConcurentObservableCollection() { } + 16518        public ConcurentObservableCollection() { }  19  20        /// <summary>  21        /// Initializes a new instance of the <see cref="ConcurentObservableCollection{T}"/> class that contains element @@ -122,7 +122,7 @@

 77} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_CookieModel.htm b/report/coverlet/WireMock.Net_CookieModel.htm index 9551e8d38..a7ea3762a 100644 --- a/report/coverlet/WireMock.Net_CookieModel.htm +++ b/report/coverlet/WireMock.Net_CookieModel.htm @@ -51,7 +51,7 @@

 20} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_CoreStrings.htm b/report/coverlet/WireMock.Net_CoreStrings.htm index 2a3c8fa98..27ee02296 100644 --- a/report/coverlet/WireMock.Net_CoreStrings.htm +++ b/report/coverlet/WireMock.Net_CoreStrings.htm @@ -82,7 +82,7 @@

 41} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_DictionaryExtensions.htm b/report/coverlet/WireMock.Net_DictionaryExtensions.htm index a36e6d24f..92badaa1e 100644 --- a/report/coverlet/WireMock.Net_DictionaryExtensions.htm +++ b/report/coverlet/WireMock.Net_DictionaryExtensions.htm @@ -72,7 +72,7 @@

 33} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_DynamicAsyncResponseProvider.htm b/report/coverlet/WireMock.Net_DynamicAsyncResponseProvider.htm index 988f2f7a4..8a186842f 100644 --- a/report/coverlet/WireMock.Net_DynamicAsyncResponseProvider.htm +++ b/report/coverlet/WireMock.Net_DynamicAsyncResponseProvider.htm @@ -63,7 +63,7 @@

 24} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_DynamicResponseProvider.htm b/report/coverlet/WireMock.Net_DynamicResponseProvider.htm index f1f2570b0..9e381167d 100644 --- a/report/coverlet/WireMock.Net_DynamicResponseProvider.htm +++ b/report/coverlet/WireMock.Net_DynamicResponseProvider.htm @@ -48,12 +48,12 @@

 9    {  10        private readonly Func<RequestMessage, ResponseMessage> _responseMessageFunc;  11 - 15212        public DynamicResponseProvider([NotNull] Func<RequestMessage, ResponseMessage> responseMessageFunc) - 15213        { - 15214            Check.NotNull(responseMessageFunc, nameof(responseMessageFunc)); + 20912        public DynamicResponseProvider([NotNull] Func<RequestMessage, ResponseMessage> responseMessageFunc) + 20913        { + 20914            Check.NotNull(responseMessageFunc, nameof(responseMessageFunc));  15 - 15216            _responseMessageFunc = responseMessageFunc; - 15217        } + 20916            _responseMessageFunc = responseMessageFunc; + 20917        }  18  19        public Task<ResponseMessage> ProvideResponseAsync(RequestMessage requestMessage)  820        { @@ -63,7 +63,7 @@

 24} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_EncodingModel.htm b/report/coverlet/WireMock.Net_EncodingModel.htm index f24b329e0..d26f5853d 100644 --- a/report/coverlet/WireMock.Net_EncodingModel.htm +++ b/report/coverlet/WireMock.Net_EncodingModel.htm @@ -54,7 +54,7 @@

 23} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_EnhancedFileSystemWatcher.htm b/report/coverlet/WireMock.Net_EnhancedFileSystemWatcher.htm index bd3ce38ec..4b6e5f2b3 100644 --- a/report/coverlet/WireMock.Net_EnhancedFileSystemWatcher.htm +++ b/report/coverlet/WireMock.Net_EnhancedFileSystemWatcher.htm @@ -305,7 +305,7 @@

 254} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ExactMatcher.htm b/report/coverlet/WireMock.Net_ExactMatcher.htm index c8f5351ef..8a120a5aa 100644 --- a/report/coverlet/WireMock.Net_ExactMatcher.htm +++ b/report/coverlet/WireMock.Net_ExactMatcher.htm @@ -60,22 +60,22 @@

 19        /// Initializes a new instance of the <see cref="ExactMatcher"/> class.  20        /// </summary>  21        /// <param name="values">The values.</param> - 1122        public ExactMatcher([NotNull] params string[] values) : this(MatchBehaviour.AcceptOnMatch, values) - 1123        { - 1124        } + 1522        public ExactMatcher([NotNull] params string[] values) : this(MatchBehaviour.AcceptOnMatch, values) + 1523        { + 1524        }  25  26        /// <summary>  27        /// Initializes a new instance of the <see cref="ExactMatcher"/> class.  28        /// </summary>  29        /// <param name="matchBehaviour">The match behaviour.</param>  30        /// <param name="values">The values.</param> - 3331        public ExactMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] values) - 3332        { - 3333            Check.HasNoNulls(values, nameof(values)); + 3931        public ExactMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] values) + 3932        { + 3933            Check.HasNoNulls(values, nameof(values));  34 - 3335            _values = values; - 3336            MatchBehaviour = matchBehaviour; - 3337        } + 3935            _values = values; + 3936            MatchBehaviour = matchBehaviour; + 3937        }  38  39        /// <inheritdoc cref="IStringMatcher.IsMatch"/>  40        public double IsMatch(string input) @@ -95,7 +95,7 @@

 54} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ExactObjectMatcher.htm b/report/coverlet/WireMock.Net_ExactObjectMatcher.htm index c7b5d96af..b0c945103 100644 --- a/report/coverlet/WireMock.Net_ExactObjectMatcher.htm +++ b/report/coverlet/WireMock.Net_ExactObjectMatcher.htm @@ -114,7 +114,7 @@

 71} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_FileHelper.htm b/report/coverlet/WireMock.Net_FileHelper.htm index eb8daa5a5..b8a097f7b 100644 --- a/report/coverlet/WireMock.Net_FileHelper.htm +++ b/report/coverlet/WireMock.Net_FileHelper.htm @@ -73,7 +73,7 @@

 34} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_FluentMockServer.htm b/report/coverlet/WireMock.Net_FluentMockServer.htm index 81d2c58ff..799fa2453 100644 --- a/report/coverlet/WireMock.Net_FluentMockServer.htm +++ b/report/coverlet/WireMock.Net_FluentMockServer.htm @@ -17,12 +17,12 @@

Summary

Class:WireMock.Server.FluentMockServer Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.Admin.cs
C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.cs
C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.LogEntries.cs -Covered lines:375 -Uncovered lines:352 -Coverable lines:727 -Total lines:1307 -Line coverage:51.5% -Branch coverage:56.2% +Covered lines:399 +Uncovered lines:333 +Coverable lines:732 +Total lines:1311 +Line coverage:54.5% +Branch coverage:58%

Metrics

@@ -34,7 +34,7 @@

Metrics

ReadStaticMappings(...)000.811 WatchStaticMappings(...)000.250.75 ReadStaticMappingAndAddOrUpdate(...)0011 -InitProxyAndRecord(...)0000 +InitProxyAndRecord(...)0011 ToMapping(...)0000 SettingsGet(...)0010.5 SettingsUpdate(...)000.5710.5 @@ -56,7 +56,7 @@

Metrics

ScenariosGet(...)0000 ScenariosReset(...)0000 InitRequestBuilder(...)000.4240.404 -InitResponseBuilder(...)000.5740.633 +InitResponseBuilder(...)000.5740.618 ToJson(...)0010.5 ToEncoding(...)0011 DeserializeObject(...)0010.5 @@ -78,14 +78,14 @@

Metrics

DeleteMapping(...)0000 AddGlobalProcessingDelay(...)0010 AllowPartialMapping(...)0000 -SetBasicAuthentication(...)0000 -RemoveBasicAuthentication()0000 +SetBasicAuthentication(...)0010 +RemoveBasicAuthentication()0010 SetMaxRequestLogCount(...)0010 SetRequestLogExpirationDuration(...)0000 ResetScenarios()0000 Given(...)0010 RegisterMapping(...)0011 -.ctor(...)000.6560.594 +.ctor(...)000.750.659 add_LogEntriesChanged(...)0010 remove_LogEntriesChanged(...)0000 FindLogEntries(...)0011 @@ -130,753 +130,759 @@

 30    /// </summary>  31    public partial class FluentMockServer  32    {33        private const string ContentTypeJson = "application/json";3435        private const string AdminMappings = "/__admin/mappings";36        private const string AdminRequests = "/__admin/requests";37        private const string AdminSettings = "/__admin/settings";38        private const string AdminScenarios = "/__admin/scenarios";39 - 4940        private readonly RegexMatcher _adminMappingsGuidPathMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, @"^ - 4941        private readonly RegexMatcher _adminRequestsGuidPathMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, @"^42 - 4943        private readonly JsonSerializerSettings _settings = new JsonSerializerSettings - 4944        { - 4945            Formatting = Formatting.Indented, - 4946            NullValueHandling = NullValueHandling.Ignore - 4947        };48 - 4949        private readonly JsonSerializerSettings _settingsIncludeNullValues = new JsonSerializerSettings - 4950        { - 4951            Formatting = Formatting.Indented, - 4952            NullValueHandling = NullValueHandling.Include - 4953        };5455        #region InitAdmin56        private void InitAdmin() - 857        {58            // __admin/settings - 859            Given(Request.Create().WithPath(AdminSettings).UsingGet()).RespondWith(new DynamicResponseProvider(SettingsG - 860            Given(Request.Create().WithPath(AdminSettings).UsingMethod("PUT", "POST").WithHeader(HttpKnownHeaderNames.Co616263            // __admin/mappings - 864            Given(Request.Create().WithPath(AdminMappings).UsingGet()).RespondWith(new DynamicResponseProvider(MappingsG - 865            Given(Request.Create().WithPath(AdminMappings).UsingPost().WithHeader(HttpKnownHeaderNames.ContentType, Cont - 866            Given(Request.Create().WithPath(AdminMappings).UsingDelete()).RespondWith(new DynamicResponseProvider(Mappin6768            // __admin/mappings/reset - 869            Given(Request.Create().WithPath(AdminMappings + "/reset").UsingPost()).RespondWith(new DynamicResponseProvid7071            // __admin/mappings/{guid} - 872            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingGet()).RespondWith(new DynamicResponsePr - 873            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingPut().WithHeader(HttpKnownHeaderNames.Co - 874            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingDelete()).RespondWith(new DynamicRespons7576            // __admin/mappings/save - 877            Given(Request.Create().WithPath(AdminMappings + "/save").UsingPost()).RespondWith(new DynamicResponseProvide7833        private const int EnhancedFileSystemWatcherTimeoutMs = 1000;34        private const int AdminPriority = int.MinValue;35        private const int ProxyPriority = 1000;36        private const string ContentTypeJson = "application/json";37        private const string AdminMappings = "/__admin/mappings";38        private const string AdminRequests = "/__admin/requests";39        private const string AdminSettings = "/__admin/settings";40        private const string AdminScenarios = "/__admin/scenarios";41 + 5542        private readonly RegexMatcher _adminMappingsGuidPathMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, @"^ + 5543        private readonly RegexMatcher _adminRequestsGuidPathMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, @"^44 + 5545        private readonly JsonSerializerSettings _settings = new JsonSerializerSettings + 5546        { + 5547            Formatting = Formatting.Indented, + 5548            NullValueHandling = NullValueHandling.Ignore + 5549        };50 + 5551        private readonly JsonSerializerSettings _settingsIncludeNullValues = new JsonSerializerSettings + 5552        { + 5553            Formatting = Formatting.Indented, + 5554            NullValueHandling = NullValueHandling.Include + 5555        };5657        #region InitAdmin58        private void InitAdmin() + 1159        {60            // __admin/settings + 1161            Given(Request.Create().WithPath(AdminSettings).UsingGet()).AtPriority(AdminPriority).RespondWith(new Dynamic + 1162            Given(Request.Create().WithPath(AdminSettings).UsingMethod("PUT", "POST").WithHeader(HttpKnownHeaderNames.Co6364            // __admin/mappings + 1165            Given(Request.Create().WithPath(AdminMappings).UsingGet()).AtPriority(AdminPriority).RespondWith(new Dynamic + 1166            Given(Request.Create().WithPath(AdminMappings).UsingPost().WithHeader(HttpKnownHeaderNames.ContentType, Cont + 1167            Given(Request.Create().WithPath(AdminMappings).UsingDelete()).AtPriority(AdminPriority).RespondWith(new Dyna6869            // __admin/mappings/reset + 1170            Given(Request.Create().WithPath(AdminMappings + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWith7172            // __admin/mappings/{guid} + 1173            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingGet()).AtPriority(AdminPriority).Respond + 1174            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingPut().WithHeader(HttpKnownHeaderNames.Co + 1175            Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingDelete()).AtPriority(AdminPriority).Resp7677            // __admin/mappings/save + 1178            Given(Request.Create().WithPath(AdminMappings + "/save").UsingPost()).AtPriority(AdminPriority).RespondWith(  79  80            // __admin/requests - 881            Given(Request.Create().WithPath(AdminRequests).UsingGet()).RespondWith(new DynamicResponseProvider(RequestsG - 882            Given(Request.Create().WithPath(AdminRequests).UsingDelete()).RespondWith(new DynamicResponseProvider(Reques + 1181            Given(Request.Create().WithPath(AdminRequests).UsingGet()).AtPriority(AdminPriority).RespondWith(new Dynamic + 1182            Given(Request.Create().WithPath(AdminRequests).UsingDelete()).AtPriority(AdminPriority).RespondWith(new Dyna  83  84            // __admin/requests/reset - 885            Given(Request.Create().WithPath(AdminRequests + "/reset").UsingPost()).RespondWith(new DynamicResponseProvid + 1185            Given(Request.Create().WithPath(AdminRequests + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWith  86  87            // __admin/request/{guid} - 888            Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingGet()).RespondWith(new DynamicResponsePr - 889            Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingDelete()).RespondWith(new DynamicRespons + 1188            Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingGet()).AtPriority(AdminPriority).Respond + 1189            Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingDelete()).AtPriority(AdminPriority).Resp  90  91            // __admin/requests/find - 892            Given(Request.Create().WithPath(AdminRequests + "/find").UsingPost()).RespondWith(new DynamicResponseProvide + 1192            Given(Request.Create().WithPath(AdminRequests + "/find").UsingPost()).AtPriority(AdminPriority).RespondWith(  939495            // __admin/scenarios - 896            Given(Request.Create().WithPath(AdminScenarios).UsingGet()).RespondWith(new DynamicResponseProvider(Scenario - 897            Given(Request.Create().WithPath(AdminScenarios).UsingDelete()).RespondWith(new DynamicResponseProvider(Scena9899            // __admin/scenarios/reset - 8100            Given(Request.Create().WithPath(AdminScenarios + "/reset").UsingPost()).RespondWith(new DynamicResponseProvi - 8101        }102        #endregion103104        #region StaticMappings105        /// <summary>106        /// Saves the static mappings.107        /// </summary>108        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>109        [PublicAPI]110        public void SaveStaticMappings([CanBeNull] string folder = null) - 1111        { - 6112            foreach (var mapping in Mappings.Where(m => !m.IsAdminInterface)) - 1113            { - 1114                SaveMappingToFile(mapping, folder); - 1115            } - 1116        }117118        /// <summary>119        /// Reads the static mappings from a folder.120        /// </summary>121        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>122        [PublicAPI]123        public void ReadStaticMappings([CanBeNull] string folder = null) - 4124        { - 4125            if (folder == null) - 1126            { - 1127                folder = _fileSystemHandler.GetMappingFolder(); - 1128            }129 - 4130            if (!_fileSystemHandler.FolderExists(folder)) - 1131            { - 1132                _logger.Info("The Static Mapping folder '{0}' does not exist, reading Static MappingFiles will be skippe - 1133                return;134            }135 - 27136            foreach (string filename in _fileSystemHandler.EnumerateFiles(folder).OrderBy(f => f)) - 6137            { - 6138                _logger.Info("Reading Static MappingFile : '{0}'", filename);139140                try - 6141                { - 6142                    ReadStaticMappingAndAddOrUpdate(filename); - 6143                } - 0144                catch - 0145                { - 0146                    _logger.Error("Static MappingFile : '{0}' could not be read. This file will be skipped.", filename); - 0147                } - 6148            } - 4149        }150151        /// <summary>152        /// Watches the static mappings for changes.153        /// </summary>154        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>155        [PublicAPI]156        public void WatchStaticMappings([CanBeNull] string folder = null) - 1157        { - 1158            if (folder == null) - 1159            { - 1160                folder = _fileSystemHandler.GetMappingFolder(); - 1161            }162 - 1163            if (!_fileSystemHandler.FolderExists(folder)) - 1164            { - 1165                return;166            }167 - 0168            _logger.Info("Watching folder '{0}' for new, updated and deleted MappingFiles.", folder);169 - 0170            var watcher = new EnhancedFileSystemWatcher(folder, "*.json", 1000); - 0171            watcher.Created += (sender, args) => - 0172            { - 0173                _logger.Info("New MappingFile created : '{0}'", args.FullPath); - 0174                ReadStaticMappingAndAddOrUpdate(args.FullPath); - 0175            }; - 0176            watcher.Changed += (sender, args) => - 0177            { - 0178                _logger.Info("New MappingFile updated : '{0}'", args.FullPath); - 0179                ReadStaticMappingAndAddOrUpdate(args.FullPath); - 0180            }; - 0181            watcher.Deleted += (sender, args) => - 0182            { - 0183                _logger.Info("New MappingFile deleted : '{0}'", args.FullPath); - 0184                string filenameWithoutExtension = Path.GetFileNameWithoutExtension(args.FullPath); - 0185 - 0186                if (Guid.TryParse(filenameWithoutExtension, out Guid guidFromFilename)) - 0187                { - 0188                    DeleteMapping(guidFromFilename); - 0189                } - 0190                else - 0191                { - 0192                    DeleteMapping(args.FullPath); - 0193                } - 0194            };195 - 0196            watcher.EnableRaisingEvents = true; - 1197        }198199        /// <summary>200        /// Reads a static mapping file and adds or updates the mapping.201        /// </summary>202        /// <param name="path">The path.</param>203        [PublicAPI]204        public void ReadStaticMappingAndAddOrUpdate([NotNull] string path) - 10205        { - 10206            Check.NotNull(path, nameof(path));207 - 10208            string filenameWithoutExtension = Path.GetFileNameWithoutExtension(path);209 - 10210            MappingModel mappingModel = JsonConvert.DeserializeObject<MappingModel>(_fileSystemHandler.ReadMappingFile(p - 10211            if (Guid.TryParse(filenameWithoutExtension, out Guid guidFromFilename)) - 6212            { - 6213                DeserializeAndAddOrUpdateMapping(mappingModel, guidFromFilename, path); - 6214            }215            else - 4216            { - 4217                DeserializeAndAddOrUpdateMapping(mappingModel, null, path); - 4218            } - 10219        }220        #endregion221222        #region Proxy and Record223        private HttpClient _httpClientForProxy;224225        private void InitProxyAndRecord(IProxyAndRecordSettings settings) - 0226        { - 0227            _httpClientForProxy = HttpClientHelper.CreateHttpClient(settings.ClientX509Certificate2ThumbprintOrSubjectNa - 0228            Given(Request.Create().WithPath("/*").UsingAnyMethod()).RespondWith(new ProxyAsyncResponseProvider(ProxyAndR - 0229        }230231        private async Task<ResponseMessage> ProxyAndRecordAsync(RequestMessage requestMessage, IProxyAndRecordSettings s - 0232        { - 0233            var requestUri = new Uri(requestMessage.Url); - 0234            var proxyUri = new Uri(settings.Url); - 0235            var proxyUriWithRequestPathAndQuery = new Uri(proxyUri, requestUri.PathAndQuery);94            // __admin/scenarios + 1195            Given(Request.Create().WithPath(AdminScenarios).UsingGet()).AtPriority(AdminPriority).RespondWith(new Dynami + 1196            Given(Request.Create().WithPath(AdminScenarios).UsingDelete()).AtPriority(AdminPriority).RespondWith(new Dyn9798            // __admin/scenarios/reset + 1199            Given(Request.Create().WithPath(AdminScenarios + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWit + 11100        }101        #endregion102103        #region StaticMappings104        /// <summary>105        /// Saves the static mappings.106        /// </summary>107        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>108        [PublicAPI]109        public void SaveStaticMappings([CanBeNull] string folder = null) + 1110        { + 6111            foreach (var mapping in Mappings.Where(m => !m.IsAdminInterface)) + 1112            { + 1113                SaveMappingToFile(mapping, folder); + 1114            } + 1115        }116117        /// <summary>118        /// Reads the static mappings from a folder.119        /// </summary>120        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>121        [PublicAPI]122        public void ReadStaticMappings([CanBeNull] string folder = null) + 4123        { + 4124            if (folder == null) + 1125            { + 1126                folder = _fileSystemHandler.GetMappingFolder(); + 1127            }128 + 4129            if (!_fileSystemHandler.FolderExists(folder)) + 1130            { + 1131                _logger.Info("The Static Mapping folder '{0}' does not exist, reading Static MappingFiles will be skippe + 1132                return;133            }134 + 27135            foreach (string filename in _fileSystemHandler.EnumerateFiles(folder).OrderBy(f => f)) + 6136            { + 6137                _logger.Info("Reading Static MappingFile : '{0}'", filename);138139                try + 6140                { + 6141                    ReadStaticMappingAndAddOrUpdate(filename); + 6142                } + 0143                catch + 0144                { + 0145                    _logger.Error("Static MappingFile : '{0}' could not be read. This file will be skipped.", filename); + 0146                } + 6147            } + 4148        }149150        /// <summary>151        /// Watches the static mappings for changes.152        /// </summary>153        /// <param name="folder">The optional folder. If not defined, use {CurrentFolder}/__admin/mappings</param>154        [PublicAPI]155        public void WatchStaticMappings([CanBeNull] string folder = null) + 1156        { + 1157            if (folder == null) + 1158            { + 1159                folder = _fileSystemHandler.GetMappingFolder(); + 1160            }161 + 1162            if (!_fileSystemHandler.FolderExists(folder)) + 1163            { + 1164                return;165            }166 + 0167            _logger.Info("Watching folder '{0}' for new, updated and deleted MappingFiles.", folder);168 + 0169            var watcher = new EnhancedFileSystemWatcher(folder, "*.json", EnhancedFileSystemWatcherTimeoutMs); + 0170            watcher.Created += (sender, args) => + 0171            { + 0172                _logger.Info("New MappingFile created : '{0}'", args.FullPath); + 0173                ReadStaticMappingAndAddOrUpdate(args.FullPath); + 0174            }; + 0175            watcher.Changed += (sender, args) => + 0176            { + 0177                _logger.Info("New MappingFile updated : '{0}'", args.FullPath); + 0178                ReadStaticMappingAndAddOrUpdate(args.FullPath); + 0179            }; + 0180            watcher.Deleted += (sender, args) => + 0181            { + 0182                _logger.Info("New MappingFile deleted : '{0}'", args.FullPath); + 0183                string filenameWithoutExtension = Path.GetFileNameWithoutExtension(args.FullPath); + 0184 + 0185                if (Guid.TryParse(filenameWithoutExtension, out Guid guidFromFilename)) + 0186                { + 0187                    DeleteMapping(guidFromFilename); + 0188                } + 0189                else + 0190                { + 0191                    DeleteMapping(args.FullPath); + 0192                } + 0193            };194 + 0195            watcher.EnableRaisingEvents = true; + 1196        }197198        /// <summary>199        /// Reads a static mapping file and adds or updates the mapping.200        /// </summary>201        /// <param name="path">The path.</param>202        [PublicAPI]203        public void ReadStaticMappingAndAddOrUpdate([NotNull] string path) + 10204        { + 10205            Check.NotNull(path, nameof(path));206 + 10207            string filenameWithoutExtension = Path.GetFileNameWithoutExtension(path);208 + 10209            MappingModel mappingModel = JsonConvert.DeserializeObject<MappingModel>(_fileSystemHandler.ReadMappingFile(p + 10210            if (Guid.TryParse(filenameWithoutExtension, out Guid guidFromFilename)) + 6211            { + 6212                DeserializeAndAddOrUpdateMapping(mappingModel, guidFromFilename, path); + 6213            }214            else + 4215            { + 4216                DeserializeAndAddOrUpdateMapping(mappingModel, null, path); + 4217            } + 10218        }219        #endregion220221        #region Proxy and Record222        private HttpClient _httpClientForProxy;223224        private void InitProxyAndRecord(IFluentMockServerSettings settings) + 2225        { + 2226            _httpClientForProxy = HttpClientHelper.CreateHttpClient(settings.ProxyAndRecordSettings.ClientX509Certificat227 + 2228            var respondProvider = Given(Request.Create().WithPath("/*").UsingAnyMethod()); + 2229            if (settings.StartAdminInterface == true) + 1230            { + 1231                respondProvider.AtPriority(ProxyPriority); + 1232            }233 + 2234            respondProvider.RespondWith(new ProxyAsyncResponseProvider(ProxyAndRecordAsync, settings.ProxyAndRecordSetti + 2235        }  236 - 0237            var responseMessage = await HttpClientHelper.SendAsync(_httpClientForProxy, requestMessage, proxyUriWithRequ238 - 0239            if (settings.SaveMapping) - 0240            { - 0241                var mapping = ToMapping(requestMessage, responseMessage, settings.BlackListedHeaders ?? new string[] { } - 0242                _options.Mappings.TryAdd(mapping.Guid, mapping);243 - 0244                if (settings.SaveMappingToFile) - 0245                { - 0246                    SaveMappingToFile(mapping); - 0247                } - 0248            }237        private async Task<ResponseMessage> ProxyAndRecordAsync(RequestMessage requestMessage, IProxyAndRecordSettings s + 0238        { + 0239            var requestUri = new Uri(requestMessage.Url); + 0240            var proxyUri = new Uri(settings.Url); + 0241            var proxyUriWithRequestPathAndQuery = new Uri(proxyUri, requestUri.PathAndQuery);242 + 0243            var responseMessage = await HttpClientHelper.SendAsync(_httpClientForProxy, requestMessage, proxyUriWithRequ244 + 0245            if (settings.SaveMapping) + 0246            { + 0247                var mapping = ToMapping(requestMessage, responseMessage, settings.BlackListedHeaders ?? new string[] { } + 0248                _options.Mappings.TryAdd(mapping.Guid, mapping);  249 - 0250            return responseMessage; - 0251        }252253        private Mapping ToMapping(RequestMessage requestMessage, ResponseMessage responseMessage, string[] blacklistedHe - 0254        { - 0255            var request = Request.Create(); - 0256            request.WithPath(requestMessage.Path); - 0257            request.UsingMethod(requestMessage.Method); + 0250                if (settings.SaveMappingToFile) + 0251                { + 0252                    SaveMappingToFile(mapping); + 0253                } + 0254            }255 + 0256            return responseMessage; + 0257        }  258 - 0259            requestMessage.Query.Loop((key, value) => request.WithParam(key, value.ToArray())); - 0260            requestMessage.Cookies.Loop((key, value) => request.WithCookie(key, value));261 - 0262            var allBlackListedHeaders = new List<string>(blacklistedHeaders) { "Cookie" }; - 0263            requestMessage.Headers.Loop((key, value) => - 0264            { - 0265                if (!allBlackListedHeaders.Any(b => string.Equals(key, b, StringComparison.OrdinalIgnoreCase))) - 0266                { - 0267                    request.WithHeader(key, value.ToArray()); - 0268                } - 0269            });270 - 0271            if (requestMessage.BodyAsJson != null) - 0272            { - 0273                request.WithBody(new JsonMatcher(MatchBehaviour.AcceptOnMatch, requestMessage.BodyAsJson)); - 0274            } - 0275            else if (requestMessage.Body != null) - 0276            { - 0277                request.WithBody(new ExactMatcher(MatchBehaviour.AcceptOnMatch, requestMessage.Body)); - 0278            }279 - 0280            var response = Response.Create(responseMessage);281 - 0282            return new Mapping(Guid.NewGuid(), string.Empty, null, request, response, 0, null, null, null); - 0283        }284        #endregion259        private Mapping ToMapping(RequestMessage requestMessage, ResponseMessage responseMessage, string[] blacklistedHe + 0260        { + 0261            var request = Request.Create(); + 0262            request.WithPath(requestMessage.Path); + 0263            request.UsingMethod(requestMessage.Method);264 + 0265            requestMessage.Query.Loop((key, value) => request.WithParam(key, value.ToArray())); + 0266            requestMessage.Cookies.Loop((key, value) => request.WithCookie(key, value));267 + 0268            var allBlackListedHeaders = new List<string>(blacklistedHeaders) { "Cookie" }; + 0269            requestMessage.Headers.Loop((key, value) => + 0270            { + 0271                if (!allBlackListedHeaders.Any(b => string.Equals(key, b, StringComparison.OrdinalIgnoreCase))) + 0272                { + 0273                    request.WithHeader(key, value.ToArray()); + 0274                } + 0275            });276 + 0277            if (requestMessage.BodyAsJson != null) + 0278            { + 0279                request.WithBody(new JsonMatcher(MatchBehaviour.AcceptOnMatch, requestMessage.BodyAsJson)); + 0280            } + 0281            else if (requestMessage.Body != null) + 0282            { + 0283                request.WithBody(new ExactMatcher(MatchBehaviour.AcceptOnMatch, requestMessage.Body)); + 0284            }  285286        #region Settings287        private ResponseMessage SettingsGet(RequestMessage requestMessage) - 1288        { - 1289            var model = new SettingsModel - 1290            { - 1291                AllowPartialMapping = _options.AllowPartialMapping, - 1292                MaxRequestLogCount = _options.MaxRequestLogCount, - 1293                RequestLogExpirationDuration = _options.RequestLogExpirationDuration, - 1294                GlobalProcessingDelay = (int?)_options.RequestProcessingDelay?.TotalMilliseconds - 1295            };296 - 1297            return ToJson(model); - 1298        }299300        private ResponseMessage SettingsUpdate(RequestMessage requestMessage) - 2301        { - 2302            var settings = DeserializeObject<SettingsModel>(requestMessage); - 2303            _options.MaxRequestLogCount = settings.MaxRequestLogCount; - 2304            _options.RequestLogExpirationDuration = settings.RequestLogExpirationDuration; + 0286            var response = Response.Create(responseMessage);287 + 0288            return new Mapping(Guid.NewGuid(), string.Empty, null, request, response, 0, null, null, null); + 0289        }290        #endregion291292        #region Settings293        private ResponseMessage SettingsGet(RequestMessage requestMessage) + 1294        { + 1295            var model = new SettingsModel + 1296            { + 1297                AllowPartialMapping = _options.AllowPartialMapping, + 1298                MaxRequestLogCount = _options.MaxRequestLogCount, + 1299                RequestLogExpirationDuration = _options.RequestLogExpirationDuration, + 1300                GlobalProcessingDelay = (int?)_options.RequestProcessingDelay?.TotalMilliseconds + 1301            };302 + 1303            return ToJson(model); + 1304        }  305 - 2306            if (settings.AllowPartialMapping != null) - 0307            { - 0308                _options.AllowPartialMapping = settings.AllowPartialMapping.Value; - 0309            }310 - 2311            if (settings.GlobalProcessingDelay != null) - 0312            { - 0313                _options.RequestProcessingDelay = TimeSpan.FromMilliseconds(settings.GlobalProcessingDelay.Value); - 0314            }315 - 2316            return ResponseMessageBuilder.Create("Settings updated"); - 2317        }318        #endregion Settings319320        #region Mapping/{guid}321        private ResponseMessage MappingGet(RequestMessage requestMessage) - 0322        { - 0323            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminMappings.Length + 1)); - 0324            var mapping = Mappings.FirstOrDefault(m => !m.IsAdminInterface && m.Guid == guid);306        private ResponseMessage SettingsUpdate(RequestMessage requestMessage) + 2307        { + 2308            var settings = DeserializeObject<SettingsModel>(requestMessage); + 2309            _options.MaxRequestLogCount = settings.MaxRequestLogCount; + 2310            _options.RequestLogExpirationDuration = settings.RequestLogExpirationDuration;311 + 2312            if (settings.AllowPartialMapping != null) + 0313            { + 0314                _options.AllowPartialMapping = settings.AllowPartialMapping.Value; + 0315            }316 + 2317            if (settings.GlobalProcessingDelay != null) + 0318            { + 0319                _options.RequestProcessingDelay = TimeSpan.FromMilliseconds(settings.GlobalProcessingDelay.Value); + 0320            }321 + 2322            return ResponseMessageBuilder.Create("Settings updated"); + 2323        }324        #endregion Settings  325 - 0326            if (mapping == null) - 0327            { - 0328                _logger.Warn("HttpStatusCode set to 404 : Mapping not found"); - 0329                return ResponseMessageBuilder.Create("Mapping not found", 404);330            }326        #region Mapping/{guid}327        private ResponseMessage MappingGet(RequestMessage requestMessage) + 0328        { + 0329            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminMappings.Length + 1)); + 0330            var mapping = Mappings.FirstOrDefault(m => !m.IsAdminInterface && m.Guid == guid);  331 - 0332            var model = MappingConverter.ToMappingModel(mapping);333 - 0334            return ToJson(model); - 0335        }336337        private ResponseMessage MappingPut(RequestMessage requestMessage) - 0338        { - 0339            Guid guid = Guid.Parse(requestMessage.Path.TrimStart(AdminMappings.ToCharArray()));340 - 0341            var mappingModel = DeserializeObject<MappingModel>(requestMessage); - 0342            Guid? guidFromPut = DeserializeAndAddOrUpdateMapping(mappingModel, guid);343 - 0344            return ResponseMessageBuilder.Create("Mapping added or updated", 200, guidFromPut); - 0345        } + 0332            if (mapping == null) + 0333            { + 0334                _logger.Warn("HttpStatusCode set to 404 : Mapping not found"); + 0335                return ResponseMessageBuilder.Create("Mapping not found", 404);336            }337 + 0338            var model = MappingConverter.ToMappingModel(mapping);339 + 0340            return ToJson(model); + 0341        }342343        private ResponseMessage MappingPut(RequestMessage requestMessage) + 0344        { + 0345            Guid guid = Guid.Parse(requestMessage.Path.TrimStart(AdminMappings.ToCharArray()));  346347        private ResponseMessage MappingDelete(RequestMessage requestMessage) - 0348        { - 0349            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminMappings.Length + 1));350 - 0351            if (DeleteMapping(guid)) - 0352            { - 0353                return ResponseMessageBuilder.Create("Mapping removed", 200, guid);354            }355 - 0356            return ResponseMessageBuilder.Create("Mapping not found", 404); - 0357        }358        #endregion Mapping/{guid}359360        #region Mappings361        private ResponseMessage MappingsSave(RequestMessage requestMessage) - 0362        { - 0363            SaveStaticMappings();364 - 0365            return ResponseMessageBuilder.Create("Mappings saved to disk"); - 0366        }367368        private void SaveMappingToFile(Mapping mapping, string folder = null) - 1369        { - 1370            if (folder == null) - 1371            { - 1372                folder = _fileSystemHandler.GetMappingFolder(); - 1373            }374 - 1375            if (!_fileSystemHandler.FolderExists(folder)) - 0376            { - 0377                _fileSystemHandler.CreateFolder(folder); - 0378            }379 - 1380            var model = MappingConverter.ToMappingModel(mapping); - 1381            string filename = (!string.IsNullOrEmpty(mapping.Title) ? SanitizeFileName(mapping.Title) : mapping.Guid.ToS382 - 1383            string path = Path.Combine(folder, filename);384 - 1385            _logger.Info("Saving Mapping file {0}", filename);386 - 1387            _fileSystemHandler.WriteMappingFile(path, JsonConvert.SerializeObject(model, _settings)); - 1388        }389390        private static string SanitizeFileName(string name, char replaceChar = '_') - 0391        { - 0392            return Path.GetInvalidFileNameChars().Aggregate(name, (current, c) => current.Replace(c, replaceChar)); - 0393        }394395        private ResponseMessage MappingsGet(RequestMessage requestMessage) - 0396        { - 0397            var result = new List<MappingModel>(); - 0398            foreach (var mapping in Mappings.Where(m => !m.IsAdminInterface)) - 0399            { - 0400                var model = MappingConverter.ToMappingModel(mapping); - 0401                result.Add(model); - 0402            }403 - 0404            return ToJson(result); - 0405        }406407        private ResponseMessage MappingsPost(RequestMessage requestMessage) - 1408        {409            Guid? guid;410            try - 1411            { - 1412                var mappingModel = DeserializeObject<MappingModel>(requestMessage); - 1413                guid = DeserializeAndAddOrUpdateMapping(mappingModel); - 1414            } - 0415            catch (ArgumentException a) - 0416            { - 0417                _logger.Error("HttpStatusCode set to 400 {0}", a); - 0418                return ResponseMessageBuilder.Create(a.Message, 400);419            } - 0420            catch (Exception e) - 0421            { - 0422                _logger.Error("HttpStatusCode set to 500 {0}", e); - 0423                return ResponseMessageBuilder.Create(e.ToString(), 500);424            }425 - 1426            return ResponseMessageBuilder.Create("Mapping added", 201, guid); - 1427        }428429        private Guid? DeserializeAndAddOrUpdateMapping(MappingModel mappingModel, Guid? guid = null, string path = null) - 11430        { - 11431            Check.NotNull(mappingModel, nameof(mappingModel)); - 11432            Check.NotNull(mappingModel.Request, nameof(mappingModel.Request)); - 11433            Check.NotNull(mappingModel.Response, nameof(mappingModel.Response)); + 0347            var mappingModel = DeserializeObject<MappingModel>(requestMessage); + 0348            Guid? guidFromPut = DeserializeAndAddOrUpdateMapping(mappingModel, guid);349 + 0350            return ResponseMessageBuilder.Create("Mapping added or updated", 200, guidFromPut); + 0351        }352353        private ResponseMessage MappingDelete(RequestMessage requestMessage) + 0354        { + 0355            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminMappings.Length + 1));356 + 0357            if (DeleteMapping(guid)) + 0358            { + 0359                return ResponseMessageBuilder.Create("Mapping removed", 200, guid);360            }361 + 0362            return ResponseMessageBuilder.Create("Mapping not found", 404); + 0363        }364        #endregion Mapping/{guid}365366        #region Mappings367        private ResponseMessage MappingsSave(RequestMessage requestMessage) + 0368        { + 0369            SaveStaticMappings();370 + 0371            return ResponseMessageBuilder.Create("Mappings saved to disk"); + 0372        }373374        private void SaveMappingToFile(Mapping mapping, string folder = null) + 1375        { + 1376            if (folder == null) + 1377            { + 1378                folder = _fileSystemHandler.GetMappingFolder(); + 1379            }380 + 1381            if (!_fileSystemHandler.FolderExists(folder)) + 0382            { + 0383                _fileSystemHandler.CreateFolder(folder); + 0384            }385 + 1386            var model = MappingConverter.ToMappingModel(mapping); + 1387            string filename = (!string.IsNullOrEmpty(mapping.Title) ? SanitizeFileName(mapping.Title) : mapping.Guid.ToS388 + 1389            string path = Path.Combine(folder, filename);390 + 1391            _logger.Info("Saving Mapping file {0}", filename);392 + 1393            _fileSystemHandler.WriteMappingFile(path, JsonConvert.SerializeObject(model, _settings)); + 1394        }395396        private static string SanitizeFileName(string name, char replaceChar = '_') + 0397        { + 0398            return Path.GetInvalidFileNameChars().Aggregate(name, (current, c) => current.Replace(c, replaceChar)); + 0399        }400401        private ResponseMessage MappingsGet(RequestMessage requestMessage) + 0402        { + 0403            var result = new List<MappingModel>(); + 0404            foreach (var mapping in Mappings.Where(m => !m.IsAdminInterface)) + 0405            { + 0406                var model = MappingConverter.ToMappingModel(mapping); + 0407                result.Add(model); + 0408            }409 + 0410            return ToJson(result); + 0411        }412413        private ResponseMessage MappingsPost(RequestMessage requestMessage) + 1414        {415            Guid? guid;416            try + 1417            { + 1418                var mappingModel = DeserializeObject<MappingModel>(requestMessage); + 1419                guid = DeserializeAndAddOrUpdateMapping(mappingModel); + 1420            } + 0421            catch (ArgumentException a) + 0422            { + 0423                _logger.Error("HttpStatusCode set to 400 {0}", a); + 0424                return ResponseMessageBuilder.Create(a.Message, 400);425            } + 0426            catch (Exception e) + 0427            { + 0428                _logger.Error("HttpStatusCode set to 500 {0}", e); + 0429                return ResponseMessageBuilder.Create(e.ToString(), 500);430            }431 + 1432            return ResponseMessageBuilder.Create("Mapping added", 201, guid); + 1433        }  434 - 11435            var requestBuilder = InitRequestBuilder(mappingModel.Request, true); - 11436            if (requestBuilder == null) - 0437            { - 0438                return null;439            }435        private Guid? DeserializeAndAddOrUpdateMapping(MappingModel mappingModel, Guid? guid = null, string path = null) + 11436        { + 11437            Check.NotNull(mappingModel, nameof(mappingModel)); + 11438            Check.NotNull(mappingModel.Request, nameof(mappingModel.Request)); + 11439            Check.NotNull(mappingModel.Response, nameof(mappingModel.Response));  440 - 11441            var responseBuilder = InitResponseBuilder(mappingModel.Response);442 - 11443            var respondProvider = Given(requestBuilder);444 - 11445            if (guid != null) - 6446            { - 6447                respondProvider = respondProvider.WithGuid(guid.Value); - 6448            } - 5449            else if (mappingModel.Guid != null && mappingModel.Guid != Guid.Empty) - 3450            { - 3451                respondProvider = respondProvider.WithGuid(mappingModel.Guid.Value); - 3452            }453 - 11454            if (path != null) - 10455            { - 10456                respondProvider = respondProvider.WithPath(path); - 10457            }458 - 11459            if (!string.IsNullOrEmpty(mappingModel.Title)) - 4460            { - 4461                respondProvider = respondProvider.WithTitle(mappingModel.Title); - 4462            }463 - 11464            if (mappingModel.Priority != null) - 10465            { - 10466                respondProvider = respondProvider.AtPriority(mappingModel.Priority.Value); - 10467            }468 - 11469            if (mappingModel.Scenario != null) - 0470            { - 0471                respondProvider = respondProvider.InScenario(mappingModel.Scenario); - 0472                respondProvider = respondProvider.WhenStateIs(mappingModel.WhenStateIs); - 0473                respondProvider = respondProvider.WillSetStateTo(mappingModel.SetStateTo); - 0474            }475 - 11476            respondProvider.RespondWith(responseBuilder);477 - 11478            return respondProvider.Guid; - 11479        }480481        private ResponseMessage MappingsDelete(RequestMessage requestMessage) - 0482        { - 0483            ResetMappings();484 - 0485            ResetScenarios(); + 11441            var requestBuilder = InitRequestBuilder(mappingModel.Request, true); + 11442            if (requestBuilder == null) + 0443            { + 0444                return null;445            }446 + 11447            var responseBuilder = InitResponseBuilder(mappingModel.Response);448 + 11449            var respondProvider = Given(requestBuilder);450 + 11451            if (guid != null) + 6452            { + 6453                respondProvider = respondProvider.WithGuid(guid.Value); + 6454            } + 5455            else if (mappingModel.Guid != null && mappingModel.Guid != Guid.Empty) + 3456            { + 3457                respondProvider = respondProvider.WithGuid(mappingModel.Guid.Value); + 3458            }459 + 11460            if (path != null) + 10461            { + 10462                respondProvider = respondProvider.WithPath(path); + 10463            }464 + 11465            if (!string.IsNullOrEmpty(mappingModel.Title)) + 4466            { + 4467                respondProvider = respondProvider.WithTitle(mappingModel.Title); + 4468            }469 + 11470            if (mappingModel.Priority != null) + 10471            { + 10472                respondProvider = respondProvider.AtPriority(mappingModel.Priority.Value); + 10473            }474 + 11475            if (mappingModel.Scenario != null) + 0476            { + 0477                respondProvider = respondProvider.InScenario(mappingModel.Scenario); + 0478                respondProvider = respondProvider.WhenStateIs(mappingModel.WhenStateIs); + 0479                respondProvider = respondProvider.WillSetStateTo(mappingModel.SetStateTo); + 0480            }481 + 11482            respondProvider.RespondWith(responseBuilder);483 + 11484            return respondProvider.Guid; + 11485        }  486 - 0487            return ResponseMessageBuilder.Create("Mappings deleted"); - 0488        }489        #endregion Mappings487        private ResponseMessage MappingsDelete(RequestMessage requestMessage) + 0488        { + 0489            ResetMappings();  490491        #region Request/{guid}492        private ResponseMessage RequestGet(RequestMessage requestMessage) - 0493        { - 0494            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminRequests.Length + 1)); - 0495            var entry = LogEntries.FirstOrDefault(r => !r.RequestMessage.Path.StartsWith("/__admin/") && r.Guid == guid) + 0491            ResetScenarios();492 + 0493            return ResponseMessageBuilder.Create("Mappings deleted"); + 0494        }495        #endregion Mappings  496 - 0497            if (entry == null) - 0498            { - 0499                _logger.Warn("HttpStatusCode set to 404 : Request not found"); - 0500                return ResponseMessageBuilder.Create("Request not found", 404);501            }497        #region Request/{guid}498        private ResponseMessage RequestGet(RequestMessage requestMessage) + 0499        { + 0500            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminRequests.Length + 1)); + 0501            var entry = LogEntries.FirstOrDefault(r => !r.RequestMessage.Path.StartsWith("/__admin/") && r.Guid == guid)  502 - 0503            var model = LogEntryMapper.Map(entry);504 - 0505            return ToJson(model); - 0506        }507508        private ResponseMessage RequestDelete(RequestMessage requestMessage) - 0509        { - 0510            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminRequests.Length + 1));511 - 0512            if (DeleteLogEntry(guid)) - 0513            { - 0514                return ResponseMessageBuilder.Create("Request removed");515            }516 - 0517            return ResponseMessageBuilder.Create("Request not found", 404); - 0518        }519        #endregion Request/{guid}520521        #region Requests522        private ResponseMessage RequestsGet(RequestMessage requestMessage) - 3523        { - 3524            var result = LogEntries - 6525                .Where(r => !r.RequestMessage.Path.StartsWith("/__admin/")) - 3526                .Select(LogEntryMapper.Map);527 - 3528            return ToJson(result); - 3529        }530531        private ResponseMessage RequestsDelete(RequestMessage requestMessage) - 0532        { - 0533            ResetLogEntries();534 - 0535            return ResponseMessageBuilder.Create("Requests deleted"); - 0536        }537        #endregion Requests538539        #region Requests/find540        private ResponseMessage RequestsFind(RequestMessage requestMessage) - 1541        { - 1542            var requestModel = DeserializeObject<RequestModel>(requestMessage);543 - 1544            var request = (Request)InitRequestBuilder(requestModel, false);545 - 1546            var dict = new Dictionary<LogEntry, RequestMatchResult>(); - 6547            foreach (var logEntry in LogEntries.Where(le => !le.RequestMessage.Path.StartsWith("/__admin/"))) - 1548            { - 1549                var requestMatchResult = new RequestMatchResult(); - 1550                if (request.GetMatchingScore(logEntry.RequestMessage, requestMatchResult) > MatchScores.AlmostPerfect) - 1551                { - 1552                    dict.Add(logEntry, requestMatchResult); - 1553                } - 1554            }555 - 3556            var result = dict.OrderBy(x => x.Value.AverageTotalScore).Select(x => x.Key).Select(LogEntryMapper.Map);557 - 1558            return ToJson(result); - 1559        }560        #endregion Requests/find + 0503            if (entry == null) + 0504            { + 0505                _logger.Warn("HttpStatusCode set to 404 : Request not found"); + 0506                return ResponseMessageBuilder.Create("Request not found", 404);507            }508 + 0509            var model = LogEntryMapper.Map(entry);510 + 0511            return ToJson(model); + 0512        }513514        private ResponseMessage RequestDelete(RequestMessage requestMessage) + 0515        { + 0516            Guid guid = Guid.Parse(requestMessage.Path.Substring(AdminRequests.Length + 1));517 + 0518            if (DeleteLogEntry(guid)) + 0519            { + 0520                return ResponseMessageBuilder.Create("Request removed");521            }522 + 0523            return ResponseMessageBuilder.Create("Request not found", 404); + 0524        }525        #endregion Request/{guid}526527        #region Requests528        private ResponseMessage RequestsGet(RequestMessage requestMessage) + 3529        { + 3530            var result = LogEntries + 6531                .Where(r => !r.RequestMessage.Path.StartsWith("/__admin/")) + 3532                .Select(LogEntryMapper.Map);533 + 3534            return ToJson(result); + 3535        }536537        private ResponseMessage RequestsDelete(RequestMessage requestMessage) + 0538        { + 0539            ResetLogEntries();540 + 0541            return ResponseMessageBuilder.Create("Requests deleted"); + 0542        }543        #endregion Requests544545        #region Requests/find546        private ResponseMessage RequestsFind(RequestMessage requestMessage) + 1547        { + 1548            var requestModel = DeserializeObject<RequestModel>(requestMessage);549 + 1550            var request = (Request)InitRequestBuilder(requestModel, false);551 + 1552            var dict = new Dictionary<LogEntry, RequestMatchResult>(); + 6553            foreach (var logEntry in LogEntries.Where(le => !le.RequestMessage.Path.StartsWith("/__admin/"))) + 1554            { + 1555                var requestMatchResult = new RequestMatchResult(); + 1556                if (request.GetMatchingScore(logEntry.RequestMessage, requestMatchResult) > MatchScores.AlmostPerfect) + 1557                { + 1558                    dict.Add(logEntry, requestMatchResult); + 1559                } + 1560            }  561562        #region Scenarios563        private ResponseMessage ScenariosGet(RequestMessage requestMessage) - 0564        { - 0565            var scenariosStates = Scenarios.Values.Select(s => new ScenarioStateModel - 0566            { - 0567                Name = s.Name, - 0568                NextState = s.NextState, - 0569                Started = s.Started, - 0570                Finished = s.Finished - 0571            });572 - 0573            return ToJson(scenariosStates, true); - 0574        }575576        private ResponseMessage ScenariosReset(RequestMessage requestMessage) - 0577        { - 0578            ResetScenarios();579 - 0580            return ResponseMessageBuilder.Create("Scenarios reset"); - 0581        }582        #endregion583584        private IRequestBuilder InitRequestBuilder(RequestModel requestModel, bool pathOrUrlRequired) - 12585        { - 12586            IRequestBuilder requestBuilder = Request.Create();587 - 12588            if (requestModel.ClientIP != null) - 0589            { - 0590                if (requestModel.ClientIP is string clientIP) - 0591                { - 0592                    requestBuilder = requestBuilder.WithClientIP(clientIP); - 0593                }594                else - 0595                { - 0596                    var clientIPModel = JsonUtils.ParseJTokenToObject<ClientIPModel>(requestModel.ClientIP); - 0597                    if (clientIPModel?.Matchers != null) - 0598                    { - 0599                        requestBuilder = requestBuilder.WithPath(clientIPModel.Matchers.Select(MatcherMapper.Map).Cast<I - 0600                    } - 0601                } - 0602            }603 - 12604            bool pathOrUrlmatchersValid = false; - 12605            if (requestModel.Path != null) - 11606            { - 11607                if (requestModel.Path is string path) - 1608                { - 1609                    requestBuilder = requestBuilder.WithPath(path); - 1610                    pathOrUrlmatchersValid = true; - 1611                }612                else - 10613                { - 10614                    var pathModel = JsonUtils.ParseJTokenToObject<PathModel>(requestModel.Path); - 10615                    if (pathModel?.Matchers != null) - 10616                    { - 10617                        requestBuilder = requestBuilder.WithPath(pathModel.Matchers.Select(MatcherMapper.Map).Cast<IStri - 10618                        pathOrUrlmatchersValid = true; - 10619                    } - 10620                } - 11621            } - 1622            else if (requestModel.Url != null) - 0623            { - 0624                if (requestModel.Url is string url) - 0625                { - 0626                    requestBuilder = requestBuilder.WithUrl(url); - 0627                    pathOrUrlmatchersValid = true; - 0628                }629                else - 0630                { - 0631                    var urlModel = JsonUtils.ParseJTokenToObject<UrlModel>(requestModel.Url); - 0632                    if (urlModel?.Matchers != null) - 0633                    { - 0634                        requestBuilder = requestBuilder.WithUrl(urlModel.Matchers.Select(MatcherMapper.Map).Cast<IString - 0635                        pathOrUrlmatchersValid = true; - 0636                    } - 0637                } - 0638            }639 - 12640            if (pathOrUrlRequired && !pathOrUrlmatchersValid) - 0641            { - 0642                _logger.Error("Path or Url matcher is missing for this mapping, this mapping will not be added."); - 0643                return null;644            } + 3562            var result = dict.OrderBy(x => x.Value.AverageTotalScore).Select(x => x.Key).Select(LogEntryMapper.Map);563 + 1564            return ToJson(result); + 1565        }566        #endregion Requests/find567568        #region Scenarios569        private ResponseMessage ScenariosGet(RequestMessage requestMessage) + 0570        { + 0571            var scenariosStates = Scenarios.Values.Select(s => new ScenarioStateModel + 0572            { + 0573                Name = s.Name, + 0574                NextState = s.NextState, + 0575                Started = s.Started, + 0576                Finished = s.Finished + 0577            });578 + 0579            return ToJson(scenariosStates, true); + 0580        }581582        private ResponseMessage ScenariosReset(RequestMessage requestMessage) + 0583        { + 0584            ResetScenarios();585 + 0586            return ResponseMessageBuilder.Create("Scenarios reset"); + 0587        }588        #endregion589590        private IRequestBuilder InitRequestBuilder(RequestModel requestModel, bool pathOrUrlRequired) + 12591        { + 12592            IRequestBuilder requestBuilder = Request.Create();593 + 12594            if (requestModel.ClientIP != null) + 0595            { + 0596                if (requestModel.ClientIP is string clientIP) + 0597                { + 0598                    requestBuilder = requestBuilder.WithClientIP(clientIP); + 0599                }600                else + 0601                { + 0602                    var clientIPModel = JsonUtils.ParseJTokenToObject<ClientIPModel>(requestModel.ClientIP); + 0603                    if (clientIPModel?.Matchers != null) + 0604                    { + 0605                        requestBuilder = requestBuilder.WithPath(clientIPModel.Matchers.Select(MatcherMapper.Map).Cast<I + 0606                    } + 0607                } + 0608            }609 + 12610            bool pathOrUrlmatchersValid = false; + 12611            if (requestModel.Path != null) + 11612            { + 11613                if (requestModel.Path is string path) + 1614                { + 1615                    requestBuilder = requestBuilder.WithPath(path); + 1616                    pathOrUrlmatchersValid = true; + 1617                }618                else + 10619                { + 10620                    var pathModel = JsonUtils.ParseJTokenToObject<PathModel>(requestModel.Path); + 10621                    if (pathModel?.Matchers != null) + 10622                    { + 10623                        requestBuilder = requestBuilder.WithPath(pathModel.Matchers.Select(MatcherMapper.Map).Cast<IStri + 10624                        pathOrUrlmatchersValid = true; + 10625                    } + 10626                } + 11627            } + 1628            else if (requestModel.Url != null) + 0629            { + 0630                if (requestModel.Url is string url) + 0631                { + 0632                    requestBuilder = requestBuilder.WithUrl(url); + 0633                    pathOrUrlmatchersValid = true; + 0634                }635                else + 0636                { + 0637                    var urlModel = JsonUtils.ParseJTokenToObject<UrlModel>(requestModel.Url); + 0638                    if (urlModel?.Matchers != null) + 0639                    { + 0640                        requestBuilder = requestBuilder.WithUrl(urlModel.Matchers.Select(MatcherMapper.Map).Cast<IString + 0641                        pathOrUrlmatchersValid = true; + 0642                    } + 0643                } + 0644            }  645 - 12646            if (requestModel.Methods != null) - 11647            { - 11648                requestBuilder = requestBuilder.UsingMethod(requestModel.Methods); - 11649            }650 - 12651            if (requestModel.Headers != null) - 0652            { - 0653                foreach (var headerModel in requestModel.Headers.Where(h => h.Matchers != null)) - 0654                { - 0655                    requestBuilder = requestBuilder.WithHeader(headerModel.Name, headerModel.Matchers.Select(MatcherMapp - 0656                } - 0657            }658 - 12659            if (requestModel.Cookies != null) - 0660            { - 0661                foreach (var cookieModel in requestModel.Cookies.Where(c => c.Matchers != null)) - 0662                { - 0663                    requestBuilder = requestBuilder.WithCookie(cookieModel.Name, cookieModel.Matchers.Select(MatcherMapp - 0664                } - 0665            }666 - 12667            if (requestModel.Params != null) - 0668            { - 0669                foreach (var paramModel in requestModel.Params.Where(c => c.Matchers != null)) - 0670                { - 0671                    requestBuilder = requestBuilder.WithParam(paramModel.Name, paramModel.Matchers.Select(MatcherMapper. - 0672                } - 0673            }674 - 12675            if (requestModel.Body?.Matcher != null) - 3676            { - 3677                var bodyMatcher = MatcherMapper.Map(requestModel.Body.Matcher); - 3678                requestBuilder = requestBuilder.WithBody(bodyMatcher); - 3679            } + 12646            if (pathOrUrlRequired && !pathOrUrlmatchersValid) + 0647            { + 0648                _logger.Error("Path or Url matcher is missing for this mapping, this mapping will not be added."); + 0649                return null;650            }651 + 12652            if (requestModel.Methods != null) + 11653            { + 11654                requestBuilder = requestBuilder.UsingMethod(requestModel.Methods); + 11655            }656 + 12657            if (requestModel.Headers != null) + 0658            { + 0659                foreach (var headerModel in requestModel.Headers.Where(h => h.Matchers != null)) + 0660                { + 0661                    requestBuilder = requestBuilder.WithHeader(headerModel.Name, headerModel.Matchers.Select(MatcherMapp + 0662                } + 0663            }664 + 12665            if (requestModel.Cookies != null) + 0666            { + 0667                foreach (var cookieModel in requestModel.Cookies.Where(c => c.Matchers != null)) + 0668                { + 0669                    requestBuilder = requestBuilder.WithCookie(cookieModel.Name, cookieModel.Matchers.Select(MatcherMapp + 0670                } + 0671            }672 + 12673            if (requestModel.Params != null) + 0674            { + 0675                foreach (var paramModel in requestModel.Params.Where(c => c.Matchers != null)) + 0676                { + 0677                    requestBuilder = requestBuilder.WithParam(paramModel.Name, paramModel.Matchers.Select(MatcherMapper. + 0678                } + 0679            }  680 - 12681            return requestBuilder; - 12682        }683684        private IResponseBuilder InitResponseBuilder(ResponseModel responseModel) - 11685        { - 11686            IResponseBuilder responseBuilder = Response.Create();687 - 11688            if (responseModel.Delay > 0) - 0689            { - 0690                responseBuilder = responseBuilder.WithDelay(responseModel.Delay.Value); - 0691            }692 - 11693            if (!string.IsNullOrEmpty(responseModel.ProxyUrl)) - 0694            { - 0695                if (string.IsNullOrEmpty(responseModel.X509Certificate2ThumbprintOrSubjectName)) - 0696                { - 0697                    return responseBuilder.WithProxy(responseModel.ProxyUrl);698                }699 - 0700                return responseBuilder.WithProxy(responseModel.ProxyUrl, responseModel.X509Certificate2ThumbprintOrSubje701            }702 - 11703            if (responseModel.StatusCode.HasValue) - 10704            { - 10705                responseBuilder = responseBuilder.WithStatusCode(responseModel.StatusCode.Value); - 10706            }707 - 11708            if (responseModel.Headers != null) - 9709            { - 189710                foreach (var entry in responseModel.Headers) - 81711                { - 81712                    responseBuilder = entry.Value is string value ? - 81713                        responseBuilder.WithHeader(entry.Key, value) : - 81714                        responseBuilder.WithHeader(entry.Key, JsonUtils.ParseJTokenToObject<string[]>(entry.Value)); - 81715                } - 9716            } - 2717            else if (responseModel.HeadersRaw != null) - 0718            { - 0719                foreach (string headerLine in responseModel.HeadersRaw.Split(new[] { "\n", "\r\n" }, StringSplitOptions. - 0720                { - 0721                    int indexColon = headerLine.IndexOf(":", StringComparison.Ordinal); - 0722                    string key = headerLine.Substring(0, indexColon).TrimStart(' ', '\t'); - 0723                    string value = headerLine.Substring(indexColon + 1).TrimStart(' ', '\t'); - 0724                    responseBuilder = responseBuilder.WithHeader(key, value); - 0725                } - 0726            }727 - 11728            if (responseModel.BodyAsBytes != null) - 0729            { - 0730                responseBuilder = responseBuilder.WithBody(responseModel.BodyAsBytes, responseModel.BodyDestination, ToE - 0731            } - 11732            else if (responseModel.Body != null) - 7733            { - 7734                responseBuilder = responseBuilder.WithBody(responseModel.Body, responseModel.BodyDestination, ToEncoding - 7735            } - 4736            else if (responseModel.BodyAsJson != null) - 1737            { - 1738                responseBuilder = responseBuilder.WithBodyAsJson(responseModel.BodyAsJson, ToEncoding(responseModel.Body - 1739            } - 3740            else if (responseModel.BodyFromBase64 != null) - 0741            { - 0742                responseBuilder = responseBuilder.WithBodyFromBase64(responseModel.BodyFromBase64, ToEncoding(responseMo - 0743            } - 3744            else if (responseModel.BodyAsFile != null) - 3745            { - 3746                responseBuilder = responseBuilder.WithBodyFromFile(responseModel.BodyAsFile); - 3747            }748 - 11749            if (responseModel.UseTransformer) - 0750            { - 0751                responseBuilder = responseBuilder.WithTransformer(); - 0752            }753 - 11754            return responseBuilder; - 11755        }756757        private ResponseMessage ToJson<T>(T result, bool keepNullValues = false) - 5758        { - 5759            return new ResponseMessage - 5760            { - 5761                Body = JsonConvert.SerializeObject(result, keepNullValues ? _settingsIncludeNullValues : _settings), - 5762                StatusCode = 200, - 5763                Headers = new Dictionary<string, WireMockList<string>> { { HttpKnownHeaderNames.ContentType, new WireMoc - 5764            }; - 5765        }766767        private Encoding ToEncoding(EncodingModel encodingModel) - 8768        { - 8769            return encodingModel != null ? Encoding.GetEncoding(encodingModel.CodePage) : null; - 8770        }771772        private T DeserializeObject<T>(RequestMessage requestMessage) - 4773        { - 4774            return requestMessage.Body != null ? - 4775                JsonConvert.DeserializeObject<T>(requestMessage.Body) : - 4776                ((JObject)requestMessage.BodyAsJson).ToObject<T>(); - 4777        }778    }779} + 12681            if (requestModel.Body?.Matcher != null) + 3682            { + 3683                var bodyMatcher = MatcherMapper.Map(requestModel.Body.Matcher); + 3684                requestBuilder = requestBuilder.WithBody(bodyMatcher); + 3685            }686 + 12687            return requestBuilder; + 12688        }689690        private IResponseBuilder InitResponseBuilder(ResponseModel responseModel) + 11691        { + 11692            IResponseBuilder responseBuilder = Response.Create();693 + 11694            if (responseModel.Delay > 0) + 0695            { + 0696                responseBuilder = responseBuilder.WithDelay(responseModel.Delay.Value); + 0697            }698 + 11699            if (!string.IsNullOrEmpty(responseModel.ProxyUrl)) + 0700            { + 0701                if (string.IsNullOrEmpty(responseModel.X509Certificate2ThumbprintOrSubjectName)) + 0702                { + 0703                    return responseBuilder.WithProxy(responseModel.ProxyUrl);704                }705 + 0706                return responseBuilder.WithProxy(responseModel.ProxyUrl, responseModel.X509Certificate2ThumbprintOrSubje707            }708 + 11709            if (responseModel.StatusCode.HasValue) + 10710            { + 10711                responseBuilder = responseBuilder.WithStatusCode(responseModel.StatusCode.Value); + 10712            }713 + 11714            if (responseModel.Headers != null) + 9715            { + 189716                foreach (var entry in responseModel.Headers) + 81717                { + 81718                    responseBuilder = entry.Value is string value ? + 81719                        responseBuilder.WithHeader(entry.Key, value) : + 81720                        responseBuilder.WithHeader(entry.Key, JsonUtils.ParseJTokenToObject<string[]>(entry.Value)); + 81721                } + 9722            } + 2723            else if (responseModel.HeadersRaw != null) + 0724            { + 0725                foreach (string headerLine in responseModel.HeadersRaw.Split(new[] { "\n", "\r\n" }, StringSplitOptions. + 0726                { + 0727                    int indexColon = headerLine.IndexOf(":", StringComparison.Ordinal); + 0728                    string key = headerLine.Substring(0, indexColon).TrimStart(' ', '\t'); + 0729                    string value = headerLine.Substring(indexColon + 1).TrimStart(' ', '\t'); + 0730                    responseBuilder = responseBuilder.WithHeader(key, value); + 0731                } + 0732            }733 + 11734            if (responseModel.BodyAsBytes != null) + 0735            { + 0736                responseBuilder = responseBuilder.WithBody(responseModel.BodyAsBytes, responseModel.BodyDestination, ToE + 0737            } + 11738            else if (responseModel.Body != null) + 7739            { + 7740                responseBuilder = responseBuilder.WithBody(responseModel.Body, responseModel.BodyDestination, ToEncoding + 7741            } + 4742            else if (responseModel.BodyAsJson != null) + 1743            { + 1744                responseBuilder = responseBuilder.WithBodyAsJson(responseModel.BodyAsJson, ToEncoding(responseModel.Body + 1745            } + 3746            else if (responseModel.BodyFromBase64 != null) + 0747            { + 0748                responseBuilder = responseBuilder.WithBodyFromBase64(responseModel.BodyFromBase64, ToEncoding(responseMo + 0749            } + 3750            else if (responseModel.BodyAsFile != null) + 3751            { + 3752                responseBuilder = responseBuilder.WithBodyFromFile(responseModel.BodyAsFile); + 3753            }754 + 11755            if (responseModel.UseTransformer) + 0756            { + 0757                responseBuilder = responseBuilder.WithTransformer(); + 0758            }759 + 11760            return responseBuilder; + 11761        }762763        private ResponseMessage ToJson<T>(T result, bool keepNullValues = false) + 5764        { + 5765            return new ResponseMessage + 5766            { + 5767                Body = JsonConvert.SerializeObject(result, keepNullValues ? _settingsIncludeNullValues : _settings), + 5768                StatusCode = 200, + 5769                Headers = new Dictionary<string, WireMockList<string>> { { HttpKnownHeaderNames.ContentType, new WireMoc + 5770            }; + 5771        }772773        private Encoding ToEncoding(EncodingModel encodingModel) + 8774        { + 8775            return encodingModel != null ? Encoding.GetEncoding(encodingModel.CodePage) : null; + 8776        }777778        private T DeserializeObject<T>(RequestMessage requestMessage) + 4779        { + 4780            return requestMessage.Body != null ? + 4781                JsonConvert.DeserializeObject<T>(requestMessage.Body) : + 4782                ((JObject)requestMessage.BodyAsJson).ToObject<T>(); + 4783        }784    }785}

C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.cs

@@ -890,441 +896,439 @@

 5using System.Linq;  6using System.Text;  7using System.Threading;8using System.Threading.Tasks;9using Newtonsoft.Json;10using WireMock.Handlers;11using WireMock.Http;12using WireMock.Logging;13using WireMock.Matchers;14using WireMock.Matchers.Request;15using WireMock.Owin;16using WireMock.RequestBuilders;17using WireMock.ResponseProviders;18using WireMock.Settings;19using WireMock.Util;20using WireMock.Validation;2122namespace WireMock.Server23{24    /// <summary>25    /// The fluent mock server.26    /// </summary>27    public partial class FluentMockServer : IDisposable28    {29        private readonly IWireMockLogger _logger;30        private readonly IFileSystemHandler _fileSystemHandler;3132        private const int ServerStartDelay = 100;33        private readonly IOwinSelfHost _httpServer; - 4934        private readonly WireMockMiddlewareOptions _options = new WireMockMiddlewareOptions();3536        /// <summary>37        /// Gets a value indicating whether this server is started.38        /// </summary>39        [PublicAPI] - 040        public bool IsStarted => _httpServer != null && _httpServer.IsStarted;4142        /// <summary>43        /// Gets the ports.44        /// </summary>45        [PublicAPI] - 4046        public List<int> Ports { get; }4748        /// <summary>49        /// Gets the urls.50        /// </summary>51        [PublicAPI] - 6752        public string[] Urls { get; }5354        /// <summary>55        /// Gets the mappings.56        /// </summary>57        [PublicAPI] - 1558        public IEnumerable<Mapping> Mappings => _options.Mappings.Values.ToArray();5960        /// <summary>61        /// Gets the scenarios.62        /// </summary>63        [PublicAPI] - 1364        public ConcurrentDictionary<string, ScenarioState> Scenarios => new ConcurrentDictionary<string, ScenarioState>(6566        #region IDisposable Members67        /// <summary>68        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.69        /// </summary>70        public void Dispose() - 071        { - 072            Dispose(true); - 073            GC.SuppressFinalize(this); - 074        }7576        /// <summary>77        /// Releases unmanaged and - optionally - managed resources.78        /// </summary>79        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release80        protected virtual void Dispose(bool disposing) - 081        { - 082            if (_httpServer != null) - 083            { - 084                _httpServer.StopAsync(); - 085            } - 086        }87        #endregion8889        #region Start/Stop90        /// <summary>91        /// Starts the specified settings.92        /// </summary>93        /// <param name="settings">The FluentMockServerSettings.</param>94        /// <returns>The <see cref="FluentMockServer"/>.</returns>95        [PublicAPI]96        public static FluentMockServer Start(IFluentMockServerSettings settings) - 997        { - 998            Check.NotNull(settings, nameof(settings));99 - 9100            return new FluentMockServer(settings); - 9101        }102103        /// <summary>104        /// Start this FluentMockServer.105        /// </summary>106        /// <param name="port">The port.</param>107        /// <param name="ssl">The SSL support.</param>108        /// <returns>The <see cref="FluentMockServer"/>.</returns>109        [PublicAPI]110        public static FluentMockServer Start([CanBeNull] int? port = 0, bool ssl = false) - 34111        { - 34112            return new FluentMockServer(new FluentMockServerSettings - 34113            { - 34114                Port = port, - 34115                UseSSL = ssl - 34116            }); - 34117        }118119        /// <summary>120        /// Start this FluentMockServer.121        /// </summary>122        /// <param name="urls">The urls to listen on.</param>123        /// <returns>The <see cref="FluentMockServer"/>.</returns>124        [PublicAPI]125        public static FluentMockServer Start(params string[] urls) - 2126        { - 2127            Check.NotNullOrEmpty(urls, nameof(urls));128 - 2129            return new FluentMockServer(new FluentMockServerSettings - 2130            { - 2131                Urls = urls - 2132            }); - 2133        }134135        /// <summary>136        /// Start this FluentMockServer with the admin interface.137        /// </summary>138        /// <param name="port">The port.</param>139        /// <param name="ssl">The SSL support.</param>140        /// <returns>The <see cref="FluentMockServer"/>.</returns>141        [PublicAPI]142        public static FluentMockServer StartWithAdminInterface(int? port = 0, bool ssl = false) - 4143        { - 4144            return new FluentMockServer(new FluentMockServerSettings - 4145            { - 4146                Port = port, - 4147                UseSSL = ssl, - 4148                StartAdminInterface = true - 4149            }); - 4150        }151152        /// <summary>153        /// Start this FluentMockServer with the admin interface.154        /// </summary>155        /// <param name="urls">The urls.</param>156        /// <returns>The <see cref="FluentMockServer"/>.</returns>157        [PublicAPI]158        public static FluentMockServer StartWithAdminInterface(params string[] urls) - 0159        { - 0160            Check.NotNullOrEmpty(urls, nameof(urls));161 - 0162            return new FluentMockServer(new FluentMockServerSettings - 0163            { - 0164                Urls = urls, - 0165                StartAdminInterface = true - 0166            }); - 0167        }168169        /// <summary>170        /// Start this FluentMockServer with the admin interface and read static mappings.171        /// </summary>172        /// <param name="urls">The urls.</param>173        /// <returns>The <see cref="FluentMockServer"/>.</returns>174        [PublicAPI]175        public static FluentMockServer StartWithAdminInterfaceAndReadStaticMappings(params string[] urls) - 0176        { - 0177            Check.NotNullOrEmpty(urls, nameof(urls));178 - 0179            return new FluentMockServer(new FluentMockServerSettings - 0180            { - 0181                Urls = urls, - 0182                StartAdminInterface = true, - 0183                ReadStaticMappings = true - 0184            }); - 0185        }186 - 49187        private FluentMockServer(IFluentMockServerSettings settings) - 49188        { - 49189            settings.Logger = settings.Logger ?? new WireMockConsoleLogger();190 - 49191            _logger = settings.Logger; - 49192            _fileSystemHandler = settings.FileSystemHandler ?? new LocalFileSystemHandler();193 - 49194            _logger.Info("WireMock.Net by Stef Heyenrath (https://github.com/WireMock-Net/WireMock.Net)"); - 49195            _logger.Debug("WireMock.Net server settings {0}", JsonConvert.SerializeObject(settings, Formatting.Indented)196 - 49197            if (settings.Urls != null) - 2198            { - 2199                Urls = settings.Urls.ToArray(); - 2200            }201            else - 47202            { - 47203                int port = settings.Port > 0 ? settings.Port.Value : PortUtils.FindFreeTcpPort(); - 47204                Urls = new[] { $"{(settings.UseSSL == true ? "https" : "http")}://localhost:{port}" }; - 47205            }206 - 49207            _options.PreWireMockMiddlewareInit = settings.PreWireMockMiddlewareInit; - 49208            _options.PostWireMockMiddlewareInit = settings.PostWireMockMiddlewareInit; - 49209            _options.Logger = _logger;210211#if USE_ASPNETCORE - 49212            _httpServer = new AspNetCoreSelfHost(_options, Urls);213#else214            _httpServer = new OwinSelfHost(_options, Urls);215#endif - 49216            Ports = _httpServer.Ports;8using Newtonsoft.Json;9using WireMock.Handlers;10using WireMock.Logging;11using WireMock.Matchers;12using WireMock.Matchers.Request;13using WireMock.Owin;14using WireMock.RequestBuilders;15using WireMock.ResponseProviders;16using WireMock.Settings;17using WireMock.Util;18using WireMock.Validation;1920namespace WireMock.Server21{22    /// <summary>23    /// The fluent mock server.24    /// </summary>25    public partial class FluentMockServer : IDisposable26    {27        private readonly IWireMockLogger _logger;28        private readonly IFileSystemHandler _fileSystemHandler;2930        private const int ServerStartDelay = 100;31        private readonly IOwinSelfHost _httpServer; + 5532        private readonly WireMockMiddlewareOptions _options = new WireMockMiddlewareOptions();3334        /// <summary>35        /// Gets a value indicating whether this server is started.36        /// </summary>37        [PublicAPI] + 038        public bool IsStarted => _httpServer != null && _httpServer.IsStarted;3940        /// <summary>41        /// Gets the ports.42        /// </summary>43        [PublicAPI] + 4044        public List<int> Ports { get; }4546        /// <summary>47        /// Gets the urls.48        /// </summary>49        [PublicAPI] + 7250        public string[] Urls { get; }5152        /// <summary>53        /// Gets the mappings.54        /// </summary>55        [PublicAPI] + 1856        public IEnumerable<Mapping> Mappings => _options.Mappings.Values.ToArray();5758        /// <summary>59        /// Gets the scenarios.60        /// </summary>61        [PublicAPI] + 1362        public ConcurrentDictionary<string, ScenarioState> Scenarios => new ConcurrentDictionary<string, ScenarioState>(6364        #region IDisposable Members65        /// <summary>66        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.67        /// </summary>68        public void Dispose() + 069        { + 070            Dispose(true); + 071            GC.SuppressFinalize(this); + 072        }7374        /// <summary>75        /// Releases unmanaged and - optionally - managed resources.76        /// </summary>77        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release78        protected virtual void Dispose(bool disposing) + 079        { + 080            if (_httpServer != null) + 081            { + 082                _httpServer.StopAsync(); + 083            } + 084        }85        #endregion8687        #region Start/Stop88        /// <summary>89        /// Starts the specified settings.90        /// </summary>91        /// <param name="settings">The FluentMockServerSettings.</param>92        /// <returns>The <see cref="FluentMockServer"/>.</returns>93        [PublicAPI]94        public static FluentMockServer Start(IFluentMockServerSettings settings) + 1495        { + 1496            Check.NotNull(settings, nameof(settings));97 + 1498            return new FluentMockServer(settings); + 1499        }100101        /// <summary>102        /// Start this FluentMockServer.103        /// </summary>104        /// <param name="port">The port.</param>105        /// <param name="ssl">The SSL support.</param>106        /// <returns>The <see cref="FluentMockServer"/>.</returns>107        [PublicAPI]108        public static FluentMockServer Start([CanBeNull] int? port = 0, bool ssl = false) + 36109        { + 36110            return new FluentMockServer(new FluentMockServerSettings + 36111            { + 36112                Port = port, + 36113                UseSSL = ssl + 36114            }); + 36115        }116117        /// <summary>118        /// Start this FluentMockServer.119        /// </summary>120        /// <param name="urls">The urls to listen on.</param>121        /// <returns>The <see cref="FluentMockServer"/>.</returns>122        [PublicAPI]123        public static FluentMockServer Start(params string[] urls) + 1124        { + 1125            Check.NotNullOrEmpty(urls, nameof(urls));126 + 1127            return new FluentMockServer(new FluentMockServerSettings + 1128            { + 1129                Urls = urls + 1130            }); + 1131        }132133        /// <summary>134        /// Start this FluentMockServer with the admin interface.135        /// </summary>136        /// <param name="port">The port.</param>137        /// <param name="ssl">The SSL support.</param>138        /// <returns>The <see cref="FluentMockServer"/>.</returns>139        [PublicAPI]140        public static FluentMockServer StartWithAdminInterface(int? port = 0, bool ssl = false) + 4141        { + 4142            return new FluentMockServer(new FluentMockServerSettings + 4143            { + 4144                Port = port, + 4145                UseSSL = ssl, + 4146                StartAdminInterface = true + 4147            }); + 4148        }149150        /// <summary>151        /// Start this FluentMockServer with the admin interface.152        /// </summary>153        /// <param name="urls">The urls.</param>154        /// <returns>The <see cref="FluentMockServer"/>.</returns>155        [PublicAPI]156        public static FluentMockServer StartWithAdminInterface(params string[] urls) + 0157        { + 0158            Check.NotNullOrEmpty(urls, nameof(urls));159 + 0160            return new FluentMockServer(new FluentMockServerSettings + 0161            { + 0162                Urls = urls, + 0163                StartAdminInterface = true + 0164            }); + 0165        }166167        /// <summary>168        /// Start this FluentMockServer with the admin interface and read static mappings.169        /// </summary>170        /// <param name="urls">The urls.</param>171        /// <returns>The <see cref="FluentMockServer"/>.</returns>172        [PublicAPI]173        public static FluentMockServer StartWithAdminInterfaceAndReadStaticMappings(params string[] urls) + 0174        { + 0175            Check.NotNullOrEmpty(urls, nameof(urls));176 + 0177            return new FluentMockServer(new FluentMockServerSettings + 0178            { + 0179                Urls = urls, + 0180                StartAdminInterface = true, + 0181                ReadStaticMappings = true + 0182            }); + 0183        }184 + 55185        private FluentMockServer(IFluentMockServerSettings settings) + 55186        { + 55187            settings.Logger = settings.Logger ?? new WireMockConsoleLogger();188 + 55189            _logger = settings.Logger; + 55190            _fileSystemHandler = settings.FileSystemHandler ?? new LocalFileSystemHandler();191 + 55192            _logger.Info("WireMock.Net by Stef Heyenrath (https://github.com/WireMock-Net/WireMock.Net)"); + 55193            _logger.Debug("WireMock.Net server settings {0}", JsonConvert.SerializeObject(settings, Formatting.Indented)194 + 55195            if (settings.Urls != null) + 1196            { + 1197                Urls = settings.Urls.ToArray(); + 1198            }199            else + 54200            { + 54201                int port = settings.Port > 0 ? settings.Port.Value : PortUtils.FindFreeTcpPort(); + 54202                Urls = new[] { $"{(settings.UseSSL == true ? "https" : "http")}://localhost:{port}" }; + 54203            }204 + 55205            _options.PreWireMockMiddlewareInit = settings.PreWireMockMiddlewareInit; + 55206            _options.PostWireMockMiddlewareInit = settings.PostWireMockMiddlewareInit; + 55207            _options.Logger = _logger;208209#if USE_ASPNETCORE + 55210            _httpServer = new AspNetCoreSelfHost(_options, Urls);211#else212            _httpServer = new OwinSelfHost(_options, Urls);213#endif + 55214            Ports = _httpServer.Ports;215 + 55216            _httpServer.StartAsync();  217 - 49218            _httpServer.StartAsync();219 - 49220            using (var ctsStartTimeout = new CancellationTokenSource(settings.StartTimeout)) - 49221            { - 382222                while (!_httpServer.IsStarted) - 333223                {224                    // Throw out exception if service start fails - 333225                    if (_httpServer.RunningException != null) - 0226                    { - 0227                        throw new Exception($"Service start failed with error: {_httpServer.RunningException.Message}", 228                    }229230                    // Respect start timeout setting by throwing TimeoutException - 333231                    if (ctsStartTimeout.IsCancellationRequested) - 0232                    { - 0233                        throw new TimeoutException($"Service start timed out after {TimeSpan.FromMilliseconds(settings.S234                    }235 - 333236                    ctsStartTimeout.Token.WaitHandle.WaitOne(ServerStartDelay); - 333237                } - 49238            }239 - 49240            if (settings.AllowPartialMapping == true) - 0241            { - 0242                AllowPartialMapping(); - 0243            }244 - 49245            if (settings.StartAdminInterface == true) - 8246            { - 8247                if (!string.IsNullOrEmpty(settings.AdminUsername) && !string.IsNullOrEmpty(settings.AdminPassword)) - 0248                { - 0249                    SetBasicAuthentication(settings.AdminUsername, settings.AdminPassword); - 0250                }251 - 8252                InitAdmin(); - 8253            }254 - 49255            if (settings.ReadStaticMappings == true) - 0256            { - 0257                ReadStaticMappings(); - 0258            }259 - 49260            if (settings.WatchStaticMappings == true) - 0261            { - 0262                WatchStaticMappings(); - 0263            }264 - 49265            if (settings.ProxyAndRecordSettings != null) - 0266            { - 0267                InitProxyAndRecord(settings.ProxyAndRecordSettings); - 0268            }269 - 49270            if (settings.MaxRequestLogCount != null) - 0271            { - 0272                SetMaxRequestLogCount(settings.MaxRequestLogCount); - 0273            } - 49274        }275276        /// <summary>277        /// Stop this server.278        /// </summary>279        [PublicAPI]280        public void Stop() - 3281        { - 3282            var result = _httpServer?.StopAsync(); - 3283            result?.Wait(); // wait for stop to actually happen - 3284        }285        #endregion286287        /// <summary>288        /// Adds the catch all mapping.289        /// </summary>290        [PublicAPI]291        public void AddCatchAllMapping() - 0292        { - 0293            Given(Request.Create().WithPath("/*").UsingAnyMethod()) - 0294                .WithGuid(Guid.Parse("90008000-0000-4444-a17e-669cd84f1f05")) - 0295                .AtPriority(1000) - 0296                .RespondWith(new DynamicResponseProvider(request => ResponseMessageBuilder.Create("No matching mapping f - 0297        }298299        /// <summary>300        /// Resets LogEntries and Mappings.301        /// </summary>302        [PublicAPI]303        public void Reset() - 0304        { - 0305            ResetLogEntries();306 - 0307            ResetMappings(); - 0308        }309310        /// <summary>311        /// Resets the Mappings.312        /// </summary>313        [PublicAPI]314        public void ResetMappings() - 10315        { - 66316            foreach (var nonAdmin in _options.Mappings.ToArray().Where(m => !m.Value.IsAdminInterface)) - 12317            { - 12318                _options.Mappings.TryRemove(nonAdmin.Key, out _); - 12319            } - 10320        }321322        /// <summary>323        /// Deletes the mapping.324        /// </summary>325        /// <param name="guid">The unique identifier.</param>326        [PublicAPI]327        public bool DeleteMapping(Guid guid) - 0328        {329            // Check a mapping exists with the same GUID, if so, remove it. - 0330            if (_options.Mappings.ContainsKey(guid)) - 0331            { - 0332                return _options.Mappings.TryRemove(guid, out _);333            }334 - 0335            return false; - 0336        }337338        private bool DeleteMapping(string path) - 0339        {340            // Check a mapping exists with the same path, if so, remove it. - 0341            var mapping = _options.Mappings.ToArray().FirstOrDefault(entry => string.Equals(entry.Value.Path, path, Stri - 0342            return DeleteMapping(mapping.Key); - 0343        }344345        /// <summary>346        /// The add request processing delay.347        /// </summary>348        /// <param name="delay">The delay.</param>349        [PublicAPI]350        public void AddGlobalProcessingDelay(TimeSpan delay) - 1351        { - 1352            _options.RequestProcessingDelay = delay; - 1353        }354355        /// <summary>356        /// Allows the partial mapping.357        /// </summary>358        [PublicAPI]359        public void AllowPartialMapping(bool allow = true) - 0360        { - 0361            _logger.Info("AllowPartialMapping is set to {0}", allow); - 0362            _options.AllowPartialMapping = allow; - 0363        }364365        /// <summary>366        /// Sets the basic authentication.367        /// </summary>368        /// <param name="username">The username.</param>369        /// <param name="password">The password.</param>370        [PublicAPI]371        public void SetBasicAuthentication([NotNull] string username, [NotNull] string password) - 0372        { - 0373            Check.NotNull(username, nameof(username)); - 0374            Check.NotNull(password, nameof(password));375 - 0376            string authorization = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + p - 0377            _options.AuthorizationMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, "^(?i)BASIC " + authorization - 0378        }379380        /// <summary>381        /// Removes the basic authentication.382        /// </summary>383        [PublicAPI]384        public void RemoveBasicAuthentication() - 0385        { - 0386            _options.AuthorizationMatcher = null; - 0387        }388389        /// <summary>390        /// Sets the maximum RequestLog count.391        /// </summary>392        /// <param name="maxRequestLogCount">The maximum RequestLog count.</param>393        [PublicAPI]394        public void SetMaxRequestLogCount([CanBeNull] int? maxRequestLogCount) - 1395        { - 1396            _options.MaxRequestLogCount = maxRequestLogCount; - 1397        }398399        /// <summary>400        /// Sets RequestLog expiration in hours.401        /// </summary>402        /// <param name="requestLogExpirationDuration">The RequestLog expiration in hours.</param>403        [PublicAPI]404        public void SetRequestLogExpirationDuration([CanBeNull] int? requestLogExpirationDuration) - 0405        { - 0406            _options.RequestLogExpirationDuration = requestLogExpirationDuration; - 0407        }408409        /// <summary>410        /// Resets the Scenarios.411        /// </summary>412        [PublicAPI]413        public void ResetScenarios() - 0414        { - 0415            _options.Scenarios.Clear(); - 0416        }417418        /// <summary>419        /// The given.420        /// </summary>421        /// <param name="requestMatcher">The request matcher.</param>422        /// <returns>The <see cref="IRespondWithAProvider"/>.</returns>423        [PublicAPI]424        public IRespondWithAProvider Given(IRequestMatcher requestMatcher) - 205425        { - 205426            return new RespondWithAProvider(RegisterMapping, requestMatcher); - 205427        }428429        private void RegisterMapping(Mapping mapping) - 205430        {431            // Check a mapping exists with the same Guid, if so, replace it. - 205432            if (_options.Mappings.ContainsKey(mapping.Guid)) - 1433            { - 1434                _options.Mappings[mapping.Guid] = mapping; - 1435            }436            else - 204437            { - 204438                _options.Mappings.TryAdd(mapping.Guid, mapping); - 204439            } - 205440        }441    }442} + 55218            using (var ctsStartTimeout = new CancellationTokenSource(settings.StartTimeout)) + 55219            { + 451220                while (!_httpServer.IsStarted) + 396221                {222                    // Throw out exception if service start fails + 396223                    if (_httpServer.RunningException != null) + 0224                    { + 0225                        throw new Exception($"Service start failed with error: {_httpServer.RunningException.Message}", 226                    }227228                    // Respect start timeout setting by throwing TimeoutException + 396229                    if (ctsStartTimeout.IsCancellationRequested) + 0230                    { + 0231                        throw new TimeoutException($"Service start timed out after {TimeSpan.FromMilliseconds(settings.S232                    }233 + 396234                    ctsStartTimeout.Token.WaitHandle.WaitOne(ServerStartDelay); + 396235                } + 55236            }237 + 55238            if (settings.AllowPartialMapping == true) + 0239            { + 0240                AllowPartialMapping(); + 0241            }242 + 55243            if (settings.StartAdminInterface == true) + 11244            { + 11245                if (!string.IsNullOrEmpty(settings.AdminUsername) && !string.IsNullOrEmpty(settings.AdminPassword)) + 1246                { + 1247                    SetBasicAuthentication(settings.AdminUsername, settings.AdminPassword); + 1248                }249 + 11250                InitAdmin(); + 11251            }252 + 55253            if (settings.ReadStaticMappings == true) + 0254            { + 0255                ReadStaticMappings(); + 0256            }257 + 55258            if (settings.WatchStaticMappings == true) + 0259            { + 0260                WatchStaticMappings(); + 0261            }262 + 55263            if (settings.ProxyAndRecordSettings != null) + 2264            { + 2265                InitProxyAndRecord(settings); + 2266            }267 + 55268            if (settings.MaxRequestLogCount != null) + 0269            { + 0270                SetMaxRequestLogCount(settings.MaxRequestLogCount); + 0271            } + 55272        }273274        /// <summary>275        /// Stop this server.276        /// </summary>277        [PublicAPI]278        public void Stop() + 2279        { + 2280            var result = _httpServer?.StopAsync(); + 2281            result?.Wait(); // wait for stop to actually happen + 2282        }283        #endregion284285        /// <summary>286        /// Adds the catch all mapping.287        /// </summary>288        [PublicAPI]289        public void AddCatchAllMapping() + 0290        { + 0291            Given(Request.Create().WithPath("/*").UsingAnyMethod()) + 0292                .WithGuid(Guid.Parse("90008000-0000-4444-a17e-669cd84f1f05")) + 0293                .AtPriority(1000) + 0294                .RespondWith(new DynamicResponseProvider(request => ResponseMessageBuilder.Create("No matching mapping f + 0295        }296297        /// <summary>298        /// Resets LogEntries and Mappings.299        /// </summary>300        [PublicAPI]301        public void Reset() + 0302        { + 0303            ResetLogEntries();304 + 0305            ResetMappings(); + 0306        }307308        /// <summary>309        /// Resets the Mappings.310        /// </summary>311        [PublicAPI]312        public void ResetMappings() + 10313        { + 66314            foreach (var nonAdmin in _options.Mappings.ToArray().Where(m => !m.Value.IsAdminInterface)) + 12315            { + 12316                _options.Mappings.TryRemove(nonAdmin.Key, out _); + 12317            } + 10318        }319320        /// <summary>321        /// Deletes the mapping.322        /// </summary>323        /// <param name="guid">The unique identifier.</param>324        [PublicAPI]325        public bool DeleteMapping(Guid guid) + 0326        {327            // Check a mapping exists with the same GUID, if so, remove it. + 0328            if (_options.Mappings.ContainsKey(guid)) + 0329            { + 0330                return _options.Mappings.TryRemove(guid, out _);331            }332 + 0333            return false; + 0334        }335336        private bool DeleteMapping(string path) + 0337        {338            // Check a mapping exists with the same path, if so, remove it. + 0339            var mapping = _options.Mappings.ToArray().FirstOrDefault(entry => string.Equals(entry.Value.Path, path, Stri + 0340            return DeleteMapping(mapping.Key); + 0341        }342343        /// <summary>344        /// The add request processing delay.345        /// </summary>346        /// <param name="delay">The delay.</param>347        [PublicAPI]348        public void AddGlobalProcessingDelay(TimeSpan delay) + 1349        { + 1350            _options.RequestProcessingDelay = delay; + 1351        }352353        /// <summary>354        /// Allows the partial mapping.355        /// </summary>356        [PublicAPI]357        public void AllowPartialMapping(bool allow = true) + 0358        { + 0359            _logger.Info("AllowPartialMapping is set to {0}", allow); + 0360            _options.AllowPartialMapping = allow; + 0361        }362363        /// <summary>364        /// Sets the basic authentication.365        /// </summary>366        /// <param name="username">The username.</param>367        /// <param name="password">The password.</param>368        [PublicAPI]369        public void SetBasicAuthentication([NotNull] string username, [NotNull] string password) + 3370        { + 3371            Check.NotNull(username, nameof(username)); + 3372            Check.NotNull(password, nameof(password));373 + 3374            string authorization = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + p + 3375            _options.AuthorizationMatcher = new RegexMatcher(MatchBehaviour.AcceptOnMatch, "^(?i)BASIC " + authorization + 3376        }377378        /// <summary>379        /// Removes the basic authentication.380        /// </summary>381        [PublicAPI]382        public void RemoveBasicAuthentication() + 1383        { + 1384            _options.AuthorizationMatcher = null; + 1385        }386387        /// <summary>388        /// Sets the maximum RequestLog count.389        /// </summary>390        /// <param name="maxRequestLogCount">The maximum RequestLog count.</param>391        [PublicAPI]392        public void SetMaxRequestLogCount([CanBeNull] int? maxRequestLogCount) + 1393        { + 1394            _options.MaxRequestLogCount = maxRequestLogCount; + 1395        }396397        /// <summary>398        /// Sets RequestLog expiration in hours.399        /// </summary>400        /// <param name="requestLogExpirationDuration">The RequestLog expiration in hours.</param>401        [PublicAPI]402        public void SetRequestLogExpirationDuration([CanBeNull] int? requestLogExpirationDuration) + 0403        { + 0404            _options.RequestLogExpirationDuration = requestLogExpirationDuration; + 0405        }406407        /// <summary>408        /// Resets the Scenarios.409        /// </summary>410        [PublicAPI]411        public void ResetScenarios() + 0412        { + 0413            _options.Scenarios.Clear(); + 0414        }415416        /// <summary>417        /// The given.418        /// </summary>419        /// <param name="requestMatcher">The request matcher.</param>420        /// <returns>The <see cref="IRespondWithAProvider"/>.</returns>421        [PublicAPI]422        public IRespondWithAProvider Given(IRequestMatcher requestMatcher) + 264423        { + 264424            return new RespondWithAProvider(RegisterMapping, requestMatcher); + 264425        }426427        private void RegisterMapping(Mapping mapping) + 264428        {429            // Check a mapping exists with the same Guid, if so, replace it. + 264430            if (_options.Mappings.ContainsKey(mapping.Guid)) + 1431            { + 1432                _options.Mappings[mapping.Guid] = mapping; + 1433            }434            else + 263435            { + 263436                _options.Mappings.TryAdd(mapping.Guid, mapping); + 263437            } + 264438        }439    }440}

C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Server\FluentMockServer.LogEntries.cs

@@ -1419,72 +1423,72 @@

 86} -

+

Methods/Properties

-.ctor(WireMock.Settings.IFluentMockServerSettings)
-InitAdmin()
-SaveStaticMappings(System.String)
-ReadStaticMappings(System.String)
-WatchStaticMappings(System.String)
-ReadStaticMappingAndAddOrUpdate(System.String)
-InitProxyAndRecord(WireMock.Settings.IProxyAndRecordSettings)
-ProxyAndRecordAsync()
-ToMapping(WireMock.RequestMessage,WireMock.ResponseMessage,System.String[])
-SettingsGet(WireMock.RequestMessage)
-SettingsUpdate(WireMock.RequestMessage)
-MappingGet(WireMock.RequestMessage)
-MappingPut(WireMock.RequestMessage)
-MappingDelete(WireMock.RequestMessage)
-MappingsSave(WireMock.RequestMessage)
-SaveMappingToFile(WireMock.Mapping,System.String)
-SanitizeFileName(System.String,System.Char)
-MappingsGet(WireMock.RequestMessage)
-MappingsPost(WireMock.RequestMessage)
-DeserializeAndAddOrUpdateMapping(WireMock.Admin.Mappings.MappingModel,System.Nullable`1<System.Guid>,System.String)
-MappingsDelete(WireMock.RequestMessage)
-RequestGet(WireMock.RequestMessage)
-RequestDelete(WireMock.RequestMessage)
-RequestsGet(WireMock.RequestMessage)
-RequestsDelete(WireMock.RequestMessage)
-RequestsFind(WireMock.RequestMessage)
-ScenariosGet(WireMock.RequestMessage)
-ScenariosReset(WireMock.RequestMessage)
-InitRequestBuilder(WireMock.Admin.Mappings.RequestModel,System.Boolean)
-InitResponseBuilder(WireMock.Admin.Mappings.ResponseModel)
-ToJson(T,System.Boolean)
-ToEncoding(WireMock.Admin.Mappings.EncodingModel)
-DeserializeObject(WireMock.RequestMessage)
-.ctor(WireMock.Settings.IFluentMockServerSettings)
-IsStarted()
-Ports()
-Urls()
-Mappings()
-Scenarios()
-Dispose()
-Dispose(System.Boolean)
-Start(WireMock.Settings.IFluentMockServerSettings)
-Start(System.Nullable`1<System.Int32>,System.Boolean)
-Start(System.String[])
-StartWithAdminInterface(System.Nullable`1<System.Int32>,System.Boolean)
-StartWithAdminInterface(System.String[])
-StartWithAdminInterfaceAndReadStaticMappings(System.String[])
-Stop()
-AddCatchAllMapping()
-Reset()
-ResetMappings()
-DeleteMapping(System.Guid)
-DeleteMapping(System.String)
-AddGlobalProcessingDelay(System.TimeSpan)
-AllowPartialMapping(System.Boolean)
-SetBasicAuthentication(System.String,System.String)
-RemoveBasicAuthentication()
-SetMaxRequestLogCount(System.Nullable`1<System.Int32>)
-SetRequestLogExpirationDuration(System.Nullable`1<System.Int32>)
-ResetScenarios()
-Given(WireMock.Matchers.Request.IRequestMatcher)
-RegisterMapping(WireMock.Mapping)
+.ctor(WireMock.Settings.IFluentMockServerSettings)
+InitAdmin()
+SaveStaticMappings(System.String)
+ReadStaticMappings(System.String)
+WatchStaticMappings(System.String)
+ReadStaticMappingAndAddOrUpdate(System.String)
+InitProxyAndRecord(WireMock.Settings.IFluentMockServerSettings)
+ProxyAndRecordAsync()
+ToMapping(WireMock.RequestMessage,WireMock.ResponseMessage,System.String[])
+SettingsGet(WireMock.RequestMessage)
+SettingsUpdate(WireMock.RequestMessage)
+MappingGet(WireMock.RequestMessage)
+MappingPut(WireMock.RequestMessage)
+MappingDelete(WireMock.RequestMessage)
+MappingsSave(WireMock.RequestMessage)
+SaveMappingToFile(WireMock.Mapping,System.String)
+SanitizeFileName(System.String,System.Char)
+MappingsGet(WireMock.RequestMessage)
+MappingsPost(WireMock.RequestMessage)
+DeserializeAndAddOrUpdateMapping(WireMock.Admin.Mappings.MappingModel,System.Nullable`1<System.Guid>,System.String)
+MappingsDelete(WireMock.RequestMessage)
+RequestGet(WireMock.RequestMessage)
+RequestDelete(WireMock.RequestMessage)
+RequestsGet(WireMock.RequestMessage)
+RequestsDelete(WireMock.RequestMessage)
+RequestsFind(WireMock.RequestMessage)
+ScenariosGet(WireMock.RequestMessage)
+ScenariosReset(WireMock.RequestMessage)
+InitRequestBuilder(WireMock.Admin.Mappings.RequestModel,System.Boolean)
+InitResponseBuilder(WireMock.Admin.Mappings.ResponseModel)
+ToJson(T,System.Boolean)
+ToEncoding(WireMock.Admin.Mappings.EncodingModel)
+DeserializeObject(WireMock.RequestMessage)
+.ctor(WireMock.Settings.IFluentMockServerSettings)
+IsStarted()
+Ports()
+Urls()
+Mappings()
+Scenarios()
+Dispose()
+Dispose(System.Boolean)
+Start(WireMock.Settings.IFluentMockServerSettings)
+Start(System.Nullable`1<System.Int32>,System.Boolean)
+Start(System.String[])
+StartWithAdminInterface(System.Nullable`1<System.Int32>,System.Boolean)
+StartWithAdminInterface(System.String[])
+StartWithAdminInterfaceAndReadStaticMappings(System.String[])
+Stop()
+AddCatchAllMapping()
+Reset()
+ResetMappings()
+DeleteMapping(System.Guid)
+DeleteMapping(System.String)
+AddGlobalProcessingDelay(System.TimeSpan)
+AllowPartialMapping(System.Boolean)
+SetBasicAuthentication(System.String,System.String)
+RemoveBasicAuthentication()
+SetMaxRequestLogCount(System.Nullable`1<System.Int32>)
+SetRequestLogExpirationDuration(System.Nullable`1<System.Int32>)
+ResetScenarios()
+Given(WireMock.Matchers.Request.IRequestMatcher)
+RegisterMapping(WireMock.Mapping)
add_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler)
remove_LogEntriesChanged(System.Collections.Specialized.NotifyCollectionChangedEventHandler)
LogEntries()
diff --git a/report/coverlet/WireMock.Net_FluentMockServerSettings.htm b/report/coverlet/WireMock.Net_FluentMockServerSettings.htm index 08210e5c2..0b8806b8f 100644 --- a/report/coverlet/WireMock.Net_FluentMockServerSettings.htm +++ b/report/coverlet/WireMock.Net_FluentMockServerSettings.htm @@ -44,81 +44,81 @@

 13    {  14        /// <inheritdoc cref="IFluentMockServerSettings.Port"/>  15        [PublicAPI] - 13416        public int? Port { get; set; } + 14816        public int? Port { get; set; }  17  18        /// <inheritdoc cref="IFluentMockServerSettings.UseSSL"/>  19        [PublicAPI]  20        // ReSharper disable once InconsistentNaming - 13421        public bool? UseSSL { get; set; } + 14921        public bool? UseSSL { get; set; }  22  23        /// <inheritdoc cref="IFluentMockServerSettings.StartAdminInterface"/>  24        [PublicAPI] - 10625        public bool? StartAdminInterface { get; set; } + 12425        public bool? StartAdminInterface { get; set; }  26  27        /// <inheritdoc cref="IFluentMockServerSettings.ReadStaticMappings"/>  28        [PublicAPI] - 9829        public bool? ReadStaticMappings { get; set; } + 11029        public bool? ReadStaticMappings { get; set; }  30  31        /// <inheritdoc cref="IFluentMockServerSettings.WatchStaticMappings"/>  32        [PublicAPI] - 9833        public bool? WatchStaticMappings { get; set; } + 11033        public bool? WatchStaticMappings { get; set; }  34  35        /// <inheritdoc cref="IFluentMockServerSettings.ProxyAndRecordSettings"/>  36        [PublicAPI] - 9837        public IProxyAndRecordSettings ProxyAndRecordSettings { get; set; } + 11637        public IProxyAndRecordSettings ProxyAndRecordSettings { get; set; }  38  39        /// <inheritdoc cref="IFluentMockServerSettings.Urls"/>  40        [PublicAPI] - 10241        public string[] Urls { get; set; } + 11241        public string[] Urls { get; set; }  42  43        /// <inheritdoc cref="IFluentMockServerSettings.StartTimeout"/>  44        [PublicAPI] - 14745        public int StartTimeout { get; set; } = 10000; + 16545        public int StartTimeout { get; set; } = 10000;  46  47        /// <inheritdoc cref="IFluentMockServerSettings.AllowPartialMapping"/>  48        [PublicAPI] - 9849        public bool? AllowPartialMapping { get; set; } + 11049        public bool? AllowPartialMapping { get; set; }  50  51        /// <inheritdoc cref="IFluentMockServerSettings.AdminUsername"/>  52        [PublicAPI] - 5753        public string AdminUsername { get; set; } + 6953        public string AdminUsername { get; set; }  54  55        /// <inheritdoc cref="IFluentMockServerSettings.AdminPassword"/>  56        [PublicAPI] - 4957        public string AdminPassword { get; set; } + 5957        public string AdminPassword { get; set; }  58  59        /// <inheritdoc cref="IFluentMockServerSettings.RequestLogExpirationDuration"/>  60        [PublicAPI] - 4961        public int? RequestLogExpirationDuration { get; set; } + 5561        public int? RequestLogExpirationDuration { get; set; }  62  63        /// <inheritdoc cref="IFluentMockServerSettings.MaxRequestLogCount"/>  64        [PublicAPI] - 9865        public int? MaxRequestLogCount { get; set; } + 11065        public int? MaxRequestLogCount { get; set; }  66  67        /// <inheritdoc cref="IFluentMockServerSettings.PreWireMockMiddlewareInit"/>  68        [PublicAPI]  69        [JsonIgnore] - 4970        public Action<object> PreWireMockMiddlewareInit { get; set; } + 5570        public Action<object> PreWireMockMiddlewareInit { get; set; }  71  72        /// <inheritdoc cref="IFluentMockServerSettings.PostWireMockMiddlewareInit"/>  73        [PublicAPI]  74        [JsonIgnore] - 4975        public Action<object> PostWireMockMiddlewareInit { get; set; } + 5575        public Action<object> PostWireMockMiddlewareInit { get; set; }  76  77        /// <inheritdoc cref="IFluentMockServerSettings.Logger"/>  78        [PublicAPI]  79        [JsonIgnore] - 20180        public IWireMockLogger Logger { get; set; } = new WireMockNullLogger(); + 22580        public IWireMockLogger Logger { get; set; } = new WireMockNullLogger();  81  82        /// <inheritdoc cref="IFluentMockServerSettings.FileSystemHandler"/>  83        [PublicAPI]  84        [JsonIgnore] - 10285        public IFileSystemHandler FileSystemHandler { get; set; } = new LocalFileSystemHandler(); + 11485        public IFileSystemHandler FileSystemHandler { get; set; } = new LocalFileSystemHandler();  86    }  87} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_GlobalExceptionMiddleware.htm b/report/coverlet/WireMock.Net_GlobalExceptionMiddleware.htm index e5c53c732..3418d3102 100644 --- a/report/coverlet/WireMock.Net_GlobalExceptionMiddleware.htm +++ b/report/coverlet/WireMock.Net_GlobalExceptionMiddleware.htm @@ -63,18 +63,18 @@

 23            _options = options;  24        }  25#else - 4926        public GlobalExceptionMiddleware(RequestDelegate next, WireMockMiddlewareOptions options) - 4927        { - 4928            Next = next; - 4929            _options = options; - 4930        } + 5526        public GlobalExceptionMiddleware(RequestDelegate next, WireMockMiddlewareOptions options) + 5527        { + 5528            Next = next; + 5529            _options = options; + 5530        }  31#endif  32  33#if USE_ASPNETCORE  6534        public RequestDelegate Next { get; }  35#endif  36 - 4937        private readonly OwinResponseMapper _responseMapper = new OwinResponseMapper(); + 5537        private readonly OwinResponseMapper _responseMapper = new OwinResponseMapper();  38  39#if !USE_ASPNETCORE  40        public override async Task Invoke(IOwinContext ctx) @@ -96,7 +96,7 @@

 56} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_HandleBarsJsonPath.htm b/report/coverlet/WireMock.Net_HandleBarsJsonPath.htm index e32d34be5..2be2d269e 100644 --- a/report/coverlet/WireMock.Net_HandleBarsJsonPath.htm +++ b/report/coverlet/WireMock.Net_HandleBarsJsonPath.htm @@ -17,11 +17,11 @@

Summary

Class:WireMock.Transformers.HandleBarsJsonPath Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsJsonPath.cs -Covered lines:46 +Covered lines:44 Uncovered lines:1 -Coverable lines:47 -Total lines:75 -Line coverage:97.8% +Coverable lines:45 +Total lines:73 +Line coverage:97.7% Branch coverage:71.4% @@ -62,65 +62,63 @@

 522                }  123                catch (JsonException)  124                { - 125                    // Ignore JsonException and return - 126                    return; - 127                } - 528            });29 - 130            Handlebars.RegisterHelper("JsonPath.SelectTokens", (writer, options, context, arguments) => - 431            { - 432                (JObject valueToProcess, string jsonpath) = ParseArguments(arguments); - 133 - 134                try - 335                { - 336                    var values = valueToProcess.SelectTokens(jsonpath); - 337                    if (values != null) - 338                    { - 1139                        options.Template(writer, values.ToDictionary(value => value.Path, value => value)); - 340                    } - 341                } - 142                catch (JsonException) - 143                { - 144                    // Ignore JsonException and return - 145                    return; - 146                } - 347            }); - 148        }4950        private static (JObject valueToProcess, string jsonpath) ParseArguments(object[] arguments) - 751        { - 1452            Check.Condition(arguments, args => args.Length == 2, nameof(arguments)); - 753            Check.NotNull(arguments[0], "arguments[0]"); - 654            Check.NotNullOrEmpty(arguments[1] as string, "arguments[1]"); + 125                    // Ignore JsonException + 126                } + 527            });28 + 129            Handlebars.RegisterHelper("JsonPath.SelectTokens", (writer, options, context, arguments) => + 430            { + 431                (JObject valueToProcess, string jsonpath) = ParseArguments(arguments); + 132 + 133                try + 334                { + 335                    var values = valueToProcess.SelectTokens(jsonpath); + 336                    if (values != null) + 337                    { + 1138                        options.Template(writer, values.ToDictionary(value => value.Path, value => value)); + 339                    } + 340                } + 141                catch (JsonException) + 142                { + 143                    // Ignore JsonException + 144                } + 345            }); + 146        }4748        private static (JObject valueToProcess, string jsonpath) ParseArguments(object[] arguments) + 749        { + 1450            Check.Condition(arguments, args => args.Length == 2, nameof(arguments)); + 751            Check.NotNull(arguments[0], "arguments[0]"); + 652            Check.NotNullOrEmpty(arguments[1] as string, "arguments[1]");5354            JObject valueToProcess;  5556            JObject valueToProcess;57 - 658            switch (arguments[0])59            {60                case string jsonAsString: - 461                    valueToProcess = JObject.Parse(jsonAsString); - 462                    break;6364                case JObject jsonAsJObject: - 265                    valueToProcess = jsonAsJObject; - 266                    break;6768                default: - 069                    throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' c70            }71 - 672            return (valueToProcess, arguments[1] as string); - 673        }74    }75} + 656            switch (arguments[0])57            {58                case string jsonAsString: + 459                    valueToProcess = JObject.Parse(jsonAsString); + 460                    break;6162                case JObject jsonAsJObject: + 263                    valueToProcess = jsonAsJObject; + 264                    break;6566                default: + 067                    throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' c68            }69 + 670            return (valueToProcess, (string) arguments[1]); + 671        }72    }73} -

+
diff --git a/report/coverlet/WireMock.Net_HandleBarsLinq.htm b/report/coverlet/WireMock.Net_HandleBarsLinq.htm index 85f7fc65f..3282eefe8 100644 --- a/report/coverlet/WireMock.Net_HandleBarsLinq.htm +++ b/report/coverlet/WireMock.Net_HandleBarsLinq.htm @@ -17,10 +17,10 @@

Summary

Class:WireMock.Transformers.HandleBarsLinq Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Transformers\HandleBarsLinq.cs -Covered lines:50 +Covered lines:48 Uncovered lines:0 -Coverable lines:50 -Total lines:88 +Coverable lines:48 +Total lines:86 Line coverage:100% Branch coverage:92.8% @@ -65,77 +65,75 @@

 424                }  225                catch (ParseException)  226                { - 127                    // Ignore ParseException and return - 228                    return; - 129                } - 530            });31 - 132            Handlebars.RegisterHelper("Linq", (writer, options, context, arguments) => - 333            { - 334                (JToken valueToProcess, string linqStatement) = ParseArguments(arguments); - 135 - 136                try - 337                { - 338                    var result = ExecuteDynamicLinq(valueToProcess, linqStatement); - 239                    options.Template(writer, result); - 240                } - 241                catch (ParseException) - 242                { - 143                    // Ignore ParseException and return - 244                    return; - 145                } - 346            }); - 147        }4849        private static dynamic ExecuteDynamicLinq(JToken value, string linqStatement) - 650        {51            // Convert a single object to a Queryable JObject-list with 1 entry. - 652            var queryable1 = new[] { value }.AsQueryable();5354            // Generate the DynamicLinq select statement. - 655            string dynamicSelect = JsonUtils.GenerateDynamicLinqStatement(value);5657            // Execute DynamicLinq Select statement. - 658            var queryable2 = queryable1.Select(dynamicSelect);5960            // Execute the Select(...) method and get first result with FirstOrDefault(). - 661            return queryable2.Select(linqStatement).FirstOrDefault(); - 462        }6364        private static (JToken valueToProcess, string linqStatement) ParseArguments(object[] arguments) - 965        { - 1866            Check.Condition(arguments, args => args.Length == 2, nameof(arguments)); - 867            Check.NotNull(arguments[0], "arguments[0]"); - 768            Check.NotNullOrEmpty(arguments[1] as string, "arguments[1]");6970            JToken valueToProcess; - 771            switch (arguments[0])72            {73                case string jsonAsString: - 174                    valueToProcess = new JValue(jsonAsString); - 175                    break;7677                case JToken jsonAsJObject: - 578                    valueToProcess = jsonAsJObject; - 579                    break;8081                default: - 182                    throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' c83            }84 - 685            return (valueToProcess, arguments[1] as string); - 686        }87    }88} + 127                    // Ignore ParseException + 228                } + 529            });30 + 131            Handlebars.RegisterHelper("Linq", (writer, options, context, arguments) => + 332            { + 333                (JToken valueToProcess, string linqStatement) = ParseArguments(arguments); + 134 + 135                try + 336                { + 337                    var result = ExecuteDynamicLinq(valueToProcess, linqStatement); + 238                    options.Template(writer, result); + 239                } + 240                catch (ParseException) + 241                { + 142                    // Ignore ParseException + 243                } + 344            }); + 145        }4647        private static dynamic ExecuteDynamicLinq(JToken value, string linqStatement) + 648        {49            // Convert a single object to a Queryable JObject-list with 1 entry. + 650            var queryable1 = new[] { value }.AsQueryable();5152            // Generate the DynamicLinq select statement. + 653            string dynamicSelect = JsonUtils.GenerateDynamicLinqStatement(value);5455            // Execute DynamicLinq Select statement. + 656            var queryable2 = queryable1.Select(dynamicSelect);5758            // Execute the Select(...) method and get first result with FirstOrDefault(). + 659            return queryable2.Select(linqStatement).FirstOrDefault(); + 460        }6162        private static (JToken valueToProcess, string linqStatement) ParseArguments(object[] arguments) + 963        { + 1864            Check.Condition(arguments, args => args.Length == 2, nameof(arguments)); + 865            Check.NotNull(arguments[0], "arguments[0]"); + 766            Check.NotNullOrEmpty(arguments[1] as string, "arguments[1]");6768            JToken valueToProcess; + 769            switch (arguments[0])70            {71                case string jsonAsString: + 172                    valueToProcess = new JValue(jsonAsString); + 173                    break;7475                case JToken jsonAsJObject: + 576                    valueToProcess = jsonAsJObject; + 577                    break;7879                default: + 180                    throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' c81            }82 + 683            return (valueToProcess, (string) arguments[1]); + 684        }85    }86} - + diff --git a/report/coverlet/WireMock.Net_HandleBarsRegex.htm b/report/coverlet/WireMock.Net_HandleBarsRegex.htm index 094b21d73..39cb74d00 100644 --- a/report/coverlet/WireMock.Net_HandleBarsRegex.htm +++ b/report/coverlet/WireMock.Net_HandleBarsRegex.htm @@ -42,7 +42,7 @@

 2using System.Linq;  3using System.Text.RegularExpressions;  4using HandlebarsDotNet;5using WireMock.Utils;5using WireMock.Util;  6using WireMock.Validation;  7  8namespace WireMock.Transformers @@ -92,7 +92,7 @@

 1352            {  1353                if (arg is string)  1254                { - 1255                    return arg as string; + 1255                    return (string) arg;  56                }  57                else  158                { @@ -106,7 +106,7 @@

 66} - +

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_HandlebarsHelpers.htm b/report/coverlet/WireMock.Net_HandlebarsHelpers.htm index 6ec8eeeca..f04cfc169 100644 --- a/report/coverlet/WireMock.Net_HandlebarsHelpers.htm +++ b/report/coverlet/WireMock.Net_HandlebarsHelpers.htm @@ -52,7 +52,7 @@

 14} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_HeaderModel.htm b/report/coverlet/WireMock.Net_HeaderModel.htm index 60a69f952..0a772a9cb 100644 --- a/report/coverlet/WireMock.Net_HeaderModel.htm +++ b/report/coverlet/WireMock.Net_HeaderModel.htm @@ -51,7 +51,7 @@

 20} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_HttpClientHelper.htm b/report/coverlet/WireMock.Net_HttpClientHelper.htm index 46152c4af..fda2137a6 100644 --- a/report/coverlet/WireMock.Net_HttpClientHelper.htm +++ b/report/coverlet/WireMock.Net_HttpClientHelper.htm @@ -17,19 +17,19 @@

Summary

Class:WireMock.Http.HttpClientHelper Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Http\HttpClientHelper.cs -Covered lines:0 -Uncovered lines:28 +Covered lines:14 +Uncovered lines:14 Coverable lines:28 Total lines:78 -Line coverage:0% -Branch coverage:0% +Line coverage:50% +Branch coverage:30%

Metrics

- +
MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
CreateHttpClient(...)0000
CreateHttpClient(...)000.7370.75
SendAsync()0000
@@ -51,15 +51,15 @@

 11    internal static class HttpClientHelper  12    {  13        public static HttpClient CreateHttpClient(string clientX509Certificate2ThumbprintOrSubjectName = null) - 014        { + 214        {  15#if NETSTANDARD - 016            var handler = new HttpClientHandler - 017            { - 018                CheckCertificateRevocationList = false, - 019                SslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslPro - 020                ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true, - 021                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate - 022            }; + 216            var handler = new HttpClientHandler + 217            { + 218                CheckCertificateRevocationList = false, + 219                SslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslPro + 220                ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true, + 221                AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate + 222            };  23#elif NET46  24            var handler = new HttpClientHandler  25            { @@ -76,7 +76,7 @@

 36            ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;  37#endif  38 - 039            if (!string.IsNullOrEmpty(clientX509Certificate2ThumbprintOrSubjectName)) + 239            if (!string.IsNullOrEmpty(clientX509Certificate2ThumbprintOrSubjectName))  040            {  041                handler.ClientCertificateOptions = ClientCertificateOption.Manual;  42 @@ -85,17 +85,17 @@

 045            }  46  47            // For proxy we shouldn't follow auto redirects - 048            handler.AllowAutoRedirect = false; + 248            handler.AllowAutoRedirect = false;  49  50            // If UseCookies enabled, httpClient ignores Cookie header - 051            handler.UseCookies = false; + 251            handler.UseCookies = false;  52 - 053            var client = new HttpClient(handler); + 253            var client = new HttpClient(handler);  54#if NET452 || NET46  55            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityPro  56#endif - 057            return client; - 058        } + 257            return client; + 258        }  59  60        public static async Task<ResponseMessage> SendAsync([NotNull] HttpClient client, [NotNull] RequestMessage reques  061        { @@ -118,7 +118,7 @@

 78} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_HttpRequestMessageHelper.htm b/report/coverlet/WireMock.Net_HttpRequestMessageHelper.htm index 314bd9cc1..0e37a448a 100644 --- a/report/coverlet/WireMock.Net_HttpRequestMessageHelper.htm +++ b/report/coverlet/WireMock.Net_HttpRequestMessageHelper.htm @@ -125,7 +125,7 @@

 86} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_JsonMatcher.htm b/report/coverlet/WireMock.Net_JsonMatcher.htm index 798de68ad..424f690ad 100644 --- a/report/coverlet/WireMock.Net_JsonMatcher.htm +++ b/report/coverlet/WireMock.Net_JsonMatcher.htm @@ -148,7 +148,7 @@

 105} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_JsonPathMatcher.htm b/report/coverlet/WireMock.Net_JsonPathMatcher.htm index dd5b4b9d2..2c7761e7b 100644 --- a/report/coverlet/WireMock.Net_JsonPathMatcher.htm +++ b/report/coverlet/WireMock.Net_JsonPathMatcher.htm @@ -146,7 +146,7 @@

 102} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_JsonUtils.htm b/report/coverlet/WireMock.Net_JsonUtils.htm index c4291ae36..e6755514e 100644 --- a/report/coverlet/WireMock.Net_JsonUtils.htm +++ b/report/coverlet/WireMock.Net_JsonUtils.htm @@ -191,7 +191,7 @@

 147} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LinqMatcher.htm b/report/coverlet/WireMock.Net_LinqMatcher.htm index e03bf7053..52601ef99 100644 --- a/report/coverlet/WireMock.Net_LinqMatcher.htm +++ b/report/coverlet/WireMock.Net_LinqMatcher.htm @@ -152,7 +152,7 @@

 107} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LocalFileSystemHandler.htm b/report/coverlet/WireMock.Net_LocalFileSystemHandler.htm index 0ef9bf90d..1153b22ca 100644 --- a/report/coverlet/WireMock.Net_LocalFileSystemHandler.htm +++ b/report/coverlet/WireMock.Net_LocalFileSystemHandler.htm @@ -106,7 +106,7 @@

 62} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogEntry.htm b/report/coverlet/WireMock.Net_LogEntry.htm index 23d17eeb0..b1d4e4541 100644 --- a/report/coverlet/WireMock.Net_LogEntry.htm +++ b/report/coverlet/WireMock.Net_LogEntry.htm @@ -90,7 +90,7 @@

 59} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogEntryMapper.htm b/report/coverlet/WireMock.Net_LogEntryMapper.htm index daf321a45..a4dd9eb78 100644 --- a/report/coverlet/WireMock.Net_LogEntryMapper.htm +++ b/report/coverlet/WireMock.Net_LogEntryMapper.htm @@ -111,7 +111,7 @@

 72} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogEntryModel.htm b/report/coverlet/WireMock.Net_LogEntryModel.htm index 00fc0d65e..52300aac3 100644 --- a/report/coverlet/WireMock.Net_LogEntryModel.htm +++ b/report/coverlet/WireMock.Net_LogEntryModel.htm @@ -71,7 +71,7 @@

 40} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogRequestMatchModel.htm b/report/coverlet/WireMock.Net_LogRequestMatchModel.htm index c08d43adf..c84230542 100644 --- a/report/coverlet/WireMock.Net_LogRequestMatchModel.htm +++ b/report/coverlet/WireMock.Net_LogRequestMatchModel.htm @@ -81,7 +81,7 @@

 50} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogRequestModel.htm b/report/coverlet/WireMock.Net_LogRequestModel.htm index 804ca2aa4..f8f6397ea 100644 --- a/report/coverlet/WireMock.Net_LogRequestModel.htm +++ b/report/coverlet/WireMock.Net_LogRequestModel.htm @@ -114,7 +114,7 @@

 83} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_LogResponseModel.htm b/report/coverlet/WireMock.Net_LogResponseModel.htm index bf3552fd9..95da4da6f 100644 --- a/report/coverlet/WireMock.Net_LogResponseModel.htm +++ b/report/coverlet/WireMock.Net_LogResponseModel.htm @@ -93,7 +93,7 @@

 62} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_Mapping.htm b/report/coverlet/WireMock.Net_Mapping.htm index feafd2bef..db62eab0e 100644 --- a/report/coverlet/WireMock.Net_Mapping.htm +++ b/report/coverlet/WireMock.Net_Mapping.htm @@ -55,7 +55,7 @@

C:\Use  14        /// <summary>  15        /// Gets the unique identifier.  16        /// </summary> - 46917        public Guid Guid { get; } + 58717        public Guid Guid { get; }  18  19        /// <summary>  20        /// Gets the unique title. @@ -65,31 +65,31 @@

C:\Use  24        /// <summary>  25        /// The full filename path for this mapping (only defined for static mappings).  26        /// </summary> - 20627        public string Path { get; set; } + 26527        public string Path { get; set; }  28  29        /// <summary>  30        /// Gets the priority.  31        /// </summary> - 7432        public int Priority { get; } + 13432        public int Priority { get; }  33  34        /// <summary>  35        /// Scenario.  36        /// </summary>  37        [CanBeNull] - 107438        public string Scenario { get; } + 107638        public string Scenario { get; }  39  40        /// <summary>  41        /// Execution state condition for the current mapping.  42        /// </summary>  43        [CanBeNull] - 3644        public string ExecutionConditionState { get; } + 3744        public string ExecutionConditionState { get; }  45  46        /// <summary>  47        /// The next state which will be signaled after the current mapping execution.  48        /// In case the value is null, state will not be changed.  49        /// </summary>  50        [CanBeNull] - 2651        public string NextState { get; } + 2751        public string NextState { get; }  52  53        /// <summary>  54        /// The Request matcher. @@ -104,7 +104,7 @@

C:\Use  63        /// <summary>  64        /// Is State started ?  65        /// </summary> - 666        public bool IsStartState => Scenario == null || Scenario != null && NextState != null && ExecutionConditionState + 766        public bool IsStartState => Scenario == null || Scenario != null && NextState != null && ExecutionConditionState  67  68        /// <summary>  69        /// Initializes a new instance of the <see cref="Mapping"/> class. @@ -118,18 +118,18 @@

C:\Use  77        /// <param name="scenario">The scenario. [Optional]</param>  78        /// <param name="executionConditionState">State in which the current mapping can occur. [Optional]</param>  79        /// <param name="nextState">The next state which will occur after the current mapping execution. [Optional]</par - 20680        public Mapping(Guid guid, [CanBeNull] string title, [CanBeNull] string path, IRequestMatcher requestMatcher, IRe - 20681        { - 20682            Guid = guid; - 20683            Title = title; - 20684            Path = path; - 20685            RequestMatcher = requestMatcher; - 20686            Provider = provider; - 20687            Priority = priority; - 20688            Scenario = scenario; - 20689            ExecutionConditionState = executionConditionState; - 20690            NextState = nextState; - 20691        } + 26580        public Mapping(Guid guid, [CanBeNull] string title, [CanBeNull] string path, IRequestMatcher requestMatcher, IRe + 26581        { + 26582            Guid = guid; + 26583            Title = title; + 26584            Path = path; + 26585            RequestMatcher = requestMatcher; + 26586            Provider = provider; + 26587            Priority = priority; + 26588            Scenario = scenario; + 26589            ExecutionConditionState = executionConditionState; + 26590            NextState = nextState; + 26591        }  92  93        /// <summary>  94        /// The response to. @@ -181,7 +181,7 @@

C:\Use  140} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MappingConverter.htm b/report/coverlet/WireMock.Net_MappingConverter.htm index 0e9a9dbcd..adb84d8d3 100644 --- a/report/coverlet/WireMock.Net_MappingConverter.htm +++ b/report/coverlet/WireMock.Net_MappingConverter.htm @@ -182,7 +182,7 @@

 142} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MappingModel.htm b/report/coverlet/WireMock.Net_MappingModel.htm index 0948a8081..4cd4b023c 100644 --- a/report/coverlet/WireMock.Net_MappingModel.htm +++ b/report/coverlet/WireMock.Net_MappingModel.htm @@ -82,7 +82,7 @@

 51} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MatchBehaviourHelper.htm b/report/coverlet/WireMock.Net_MatchBehaviourHelper.htm index c5624b823..3fac5f46f 100644 --- a/report/coverlet/WireMock.Net_MatchBehaviourHelper.htm +++ b/report/coverlet/WireMock.Net_MatchBehaviourHelper.htm @@ -66,7 +66,7 @@

 27} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MatchScores.htm b/report/coverlet/WireMock.Net_MatchScores.htm index 384caec63..3428a91d6 100644 --- a/report/coverlet/WireMock.Net_MatchScores.htm +++ b/report/coverlet/WireMock.Net_MatchScores.htm @@ -102,7 +102,7 @@

 61} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MatcherMapper.htm b/report/coverlet/WireMock.Net_MatcherMapper.htm index 39dd5c107..0e46e2197 100644 --- a/report/coverlet/WireMock.Net_MatcherMapper.htm +++ b/report/coverlet/WireMock.Net_MatcherMapper.htm @@ -22,14 +22,14 @@

Summary

Coverable lines:46 Total lines:96 Line coverage:93.4% -Branch coverage:86.7% +Branch coverage:85.1%

Metrics

- + @@ -63,7 +63,7 @@

- + @@ -74,7 +74,7 @@

- + @@ -86,7 +86,7 @@

- + @@ -137,7 +137,7 @@

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
Map(...)000.8750.86
Map(...)000.8750.839
Map(...)0011
Map(...)0010.857
 2422            string matcherType = parts.Length > 1 ? parts[1] : null;
 23
 2424            string[] stringPatterns = matcher.Patterns != null ? matcher.Patterns.Cast<string>().ToArray() : new[] { mat
 2425            MatchBehaviour matchBehaviour = matcher.RejectOnMatch == true ? MatchBehaviour.RejectOnMatch : MatchBehaviou
 2425            MatchBehaviour matchBehaviour = matcher.RejectOnMatch == true ? MatchBehaviour.RejectOnMatch : MatchBehaviou
 26
 2427            switch (matcherName)
 28            {
 1133                    return new ExactMatcher(matchBehaviour, stringPatterns);
 34
 35                case "RegexMatcher":
 136                    return new RegexMatcher(matchBehaviour, stringPatterns, matcher.IgnoreCase == true);
 136                    return new RegexMatcher(matchBehaviour, stringPatterns, matcher.IgnoreCase == true);
 37
 38                case "JsonMatcher":
 039                    return new JsonMatcher(matchBehaviour, matcher.Pattern);
 045                    return new XPathMatcher(matchBehaviour, (string)matcher.Pattern);
 46
 47                case "WildcardMatcher":
 548                    return new WildcardMatcher(matchBehaviour, stringPatterns, matcher.IgnoreCase == true);
 548                    return new WildcardMatcher(matchBehaviour, stringPatterns, matcher.IgnoreCase == true);
 49
 50                case "SimMetricsMatcher":
 351                    SimMetricType type = SimMetricType.Levenstein;
 96}
-
+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_MatcherModel.htm b/report/coverlet/WireMock.Net_MatcherModel.htm index 49ee3ed76..a6ee4442a 100644 --- a/report/coverlet/WireMock.Net_MatcherModel.htm +++ b/report/coverlet/WireMock.Net_MatcherModel.htm @@ -64,7 +64,7 @@

 33} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_OwinRequestMapper.htm b/report/coverlet/WireMock.Net_OwinRequestMapper.htm index a9a17c8b9..0e929fee6 100644 --- a/report/coverlet/WireMock.Net_OwinRequestMapper.htm +++ b/report/coverlet/WireMock.Net_OwinRequestMapper.htm @@ -130,7 +130,7 @@

 90} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_OwinResponseMapper.htm b/report/coverlet/WireMock.Net_OwinResponseMapper.htm index 001a98bc2..064101383 100644 --- a/report/coverlet/WireMock.Net_OwinResponseMapper.htm +++ b/report/coverlet/WireMock.Net_OwinResponseMapper.htm @@ -22,7 +22,7 @@

Summary

Coverable lines:47 Total lines:114 Line coverage:89.3% -Branch coverage:80.7% +Branch coverage:82.1%

Metrics

@@ -32,7 +32,7 @@

Metrics

SetResponseHeaders(...)0010.833 .ctor()0010 .cctor()0010 -MapAsync()000.8330.8 +MapAsync()000.8330.818

File(s)

@@ -63,7 +63,7 @@

 21    /// </summary>  22    public class OwinResponseMapper  23    { - 9824        private readonly Encoding _utf8NoBom = new UTF8Encoding(false); + 11024        private readonly Encoding _utf8NoBom = new UTF8Encoding(false);  25  26        // https://msdn.microsoft.com/en-us/library/78h415ay(v=vs.110).aspx  27#if !USE_ASPNETCORE @@ -136,7 +136,7 @@

 094            }  6395            else if (responseMessage.BodyAsJson != null)  1996            { - 1997                Formatting formatting = responseMessage.BodyAsJsonIndented == true ? Formatting.Indented : Formatting.No + 1997                Formatting formatting = responseMessage.BodyAsJsonIndented == true ? Formatting.Indented : Formatting.No  1998                string jsonBody = JsonConvert.SerializeObject(responseMessage.BodyAsJson, new JsonSerializerSettings { F  1999                bytes = (responseMessage.BodyEncoding ?? _utf8NoBom).GetBytes(jsonBody);  19100            } @@ -156,7 +156,7 @@

 114} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ParamModel.htm b/report/coverlet/WireMock.Net_ParamModel.htm index 4e9ab6253..3b2e84f9e 100644 --- a/report/coverlet/WireMock.Net_ParamModel.htm +++ b/report/coverlet/WireMock.Net_ParamModel.htm @@ -49,7 +49,7 @@

 18} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_PathModel.htm b/report/coverlet/WireMock.Net_PathModel.htm index b5e6da1f0..510eaa35b 100644 --- a/report/coverlet/WireMock.Net_PathModel.htm +++ b/report/coverlet/WireMock.Net_PathModel.htm @@ -44,7 +44,7 @@

 13} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_PortUtils.htm b/report/coverlet/WireMock.Net_PortUtils.htm index a535e326c..66abf72db 100644 --- a/report/coverlet/WireMock.Net_PortUtils.htm +++ b/report/coverlet/WireMock.Net_PortUtils.htm @@ -17,12 +17,12 @@

Summary

Class:WireMock.Util.PortUtils Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\PortUtils.cs -Covered lines:20 -Uncovered lines:1 -Coverable lines:21 -Total lines:53 -Line coverage:95.2% -Branch coverage:75% +Covered lines:23 +Uncovered lines:0 +Coverable lines:23 +Total lines:55 +Line coverage:100% +Branch coverage:100%

Metrics

@@ -30,7 +30,7 @@

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage FindFreeTcpPort()0011 -TryExtractProtocolAndPort(...)000.90.5 +TryExtract(...)0011 .cctor()0010 @@ -50,57 +50,59 @@

 9    /// </summary>  10    public static class PortUtils  11    { - 112        private static readonly Regex UrlDetailsRegex = new Regex(@"^(?<proto>\w+)://[^/]+?(?<port>\d+)/?", RegexOptions + 112        private static readonly Regex UrlDetailsRegex = new Regex(@"^((?<proto>\w+)://)(?<host>[^/]+?):(?<port>\d+)\/?$"  13  14        /// <summary>  15        /// Finds a free TCP port.  16        /// </summary>  17        /// <remarks>see http://stackoverflow.com/questions/138043/find-the-next-tcp-port-in-net.</remarks>  18        public static int FindFreeTcpPort() - 4719        { - 4720            TcpListener tcpListener = null; + 5419        { + 5420            TcpListener tcpListener = null;  21            try - 4722            { - 4723                tcpListener = new TcpListener(IPAddress.Loopback, 0); - 4724                tcpListener.Start(); + 5422            { + 5423                tcpListener = new TcpListener(IPAddress.Loopback, 0); + 5424                tcpListener.Start();  25 - 4726                return ((IPEndPoint)tcpListener.LocalEndpoint).Port; + 5426                return ((IPEndPoint)tcpListener.LocalEndpoint).Port;  27            }  28            finally - 4729            { - 4730                tcpListener?.Stop(); - 4731            } - 4732        } + 5429            { + 5430                tcpListener?.Stop(); + 5431            } + 5432        }  33  34        /// <summary>35        /// Extract a proto and port from a URL.35        /// Extract the protocol, host and port from a URL.  36        /// </summary>37        public static bool TryExtractProtocolAndPort(string url, out string proto, out int port) - 9838        { - 9839            proto = null; - 9840            port = 0;41 - 9842            Match m = UrlDetailsRegex.Match(url); - 9843            if (m.Success) - 9844            { - 9845                proto = m.Groups["proto"].Value;46 - 9847                return int.TryParse(m.Groups["port"].Value, out port);48            }49 - 050            return false; - 9851        }52    }53}37        public static bool TryExtract(string url, out string protocol, out string host, out int port) + 11438        { + 11439            protocol = null; + 11440            host = null; + 11441            port = default(int);42 + 11443            Match m = UrlDetailsRegex.Match(url); + 11444            if (m.Success) + 11245            { + 11246                protocol = m.Groups["proto"].Value; + 11247                host = m.Groups["host"].Value;48 + 11249                return int.TryParse(m.Groups["port"].Value, out port);50            }51 + 252            return false; + 11453        }54    }55} -

+
diff --git a/report/coverlet/WireMock.Net_ProxyAndRecordSettings.htm b/report/coverlet/WireMock.Net_ProxyAndRecordSettings.htm index f7e969255..d05124c1f 100644 --- a/report/coverlet/WireMock.Net_ProxyAndRecordSettings.htm +++ b/report/coverlet/WireMock.Net_ProxyAndRecordSettings.htm @@ -17,11 +17,11 @@

Summary

Class:WireMock.Settings.ProxyAndRecordSettings Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Settings\ProxyAndRecordSettings.cs -Covered lines:0 -Uncovered lines:5 +Covered lines:5 +Uncovered lines:0 Coverable lines:5 Total lines:30 -Line coverage:0% +Line coverage:100%

File(s)

@@ -40,28 +40,28 @@

 9    {  10        /// <inheritdoc cref="IProxyAndRecordSettings.Url"/>  11        [PublicAPI] - 012        public string Url { get; set; } + 412        public string Url { get; set; }  13  14        /// <inheritdoc cref="IProxyAndRecordSettings.SaveMapping"/>  15        [PublicAPI] - 016        public bool SaveMapping { get; set; } = true; + 416        public bool SaveMapping { get; set; } = true;  17  18        /// <inheritdoc cref="IProxyAndRecordSettings.SaveMappingToFile"/>  19        [PublicAPI] - 020        public bool SaveMappingToFile { get; set; } = true; + 420        public bool SaveMappingToFile { get; set; } = true;  21  22        /// <inheritdoc cref="IProxyAndRecordSettings.ClientX509Certificate2ThumbprintOrSubjectName"/>  23        [PublicAPI] - 024        public string ClientX509Certificate2ThumbprintOrSubjectName { get; set; } + 424        public string ClientX509Certificate2ThumbprintOrSubjectName { get; set; }  25  26        /// <inheritdoc cref="IProxyAndRecordSettings.BlackListedHeaders"/>  27        [PublicAPI] - 028        public string[] BlackListedHeaders { get; set; } + 228        public string[] BlackListedHeaders { get; set; }  29    }  30} - +

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ProxyAsyncResponseProvider.htm b/report/coverlet/WireMock.Net_ProxyAsyncResponseProvider.htm index a5bc7c19d..c737e9ff3 100644 --- a/report/coverlet/WireMock.Net_ProxyAsyncResponseProvider.htm +++ b/report/coverlet/WireMock.Net_ProxyAsyncResponseProvider.htm @@ -17,11 +17,11 @@

Summary

Class:WireMock.ResponseProviders.ProxyAsyncResponseProvider Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\ResponseProviders\ProxyAsyncResponseProvider.cs -Covered lines:0 -Uncovered lines:10 +Covered lines:7 +Uncovered lines:3 Coverable lines:10 Total lines:28 -Line coverage:0% +Line coverage:70%

Metrics

@@ -29,7 +29,7 @@

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage ProvideResponseAsync(...)0000 -.ctor(...)0000 +.ctor(...)0010

File(s)

@@ -50,14 +50,14 @@

 11        private readonly Func<RequestMessage, IProxyAndRecordSettings, Task<ResponseMessage>> _responseMessageFunc;  12        private readonly IProxyAndRecordSettings _settings;  13 - 014        public ProxyAsyncResponseProvider([NotNull] Func<RequestMessage, IProxyAndRecordSettings, Task<ResponseMessage>> - 015        { - 016            Check.NotNull(responseMessageFunc, nameof(responseMessageFunc)); - 017            Check.NotNull(settings, nameof(settings)); + 214        public ProxyAsyncResponseProvider([NotNull] Func<RequestMessage, IProxyAndRecordSettings, Task<ResponseMessage>> + 215        { + 216            Check.NotNull(responseMessageFunc, nameof(responseMessageFunc)); + 217            Check.NotNull(settings, nameof(settings));  18 - 019            _responseMessageFunc = responseMessageFunc; - 020            _settings = settings; - 021        } + 219            _responseMessageFunc = responseMessageFunc; + 220            _settings = settings; + 221        }  22  23        public Task<ResponseMessage> ProvideResponseAsync(RequestMessage requestMessage)  024        { @@ -67,7 +67,7 @@

 28} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_PublicCertificateHelper.htm b/report/coverlet/WireMock.Net_PublicCertificateHelper.htm index 38c43256f..8484d505a 100644 --- a/report/coverlet/WireMock.Net_PublicCertificateHelper.htm +++ b/report/coverlet/WireMock.Net_PublicCertificateHelper.htm @@ -129,7 +129,7 @@

 91} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RegexMatcher.htm b/report/coverlet/WireMock.Net_RegexMatcher.htm index 55ed70f96..c1f3ee14e 100644 --- a/report/coverlet/WireMock.Net_RegexMatcher.htm +++ b/report/coverlet/WireMock.Net_RegexMatcher.htm @@ -61,7 +61,7 @@

 17        private readonly Regex[] _expressions;  18  19        /// <inheritdoc cref="IMatcher.MatchBehaviour"/> - 38920        public MatchBehaviour MatchBehaviour { get; } + 39020        public MatchBehaviour MatchBehaviour { get; }  21  22        /// <summary>  23        /// Initializes a new instance of the <see cref="RegexMatcher"/> class. @@ -78,9 +78,9 @@

 34        /// <param name="matchBehaviour">The match behaviour.</param>  35        /// <param name="pattern">The pattern.</param>  36        /// <param name="ignoreCase">Ignore the case from the pattern.</param> - 9937        public RegexMatcher(MatchBehaviour matchBehaviour, [NotNull, RegexPattern] string pattern, bool ignoreCase = fal - 9938        { - 9939        } + 11437        public RegexMatcher(MatchBehaviour matchBehaviour, [NotNull, RegexPattern] string pattern, bool ignoreCase = fal + 11438        { + 11439        }  40  41        /// <summary>  42        /// Initializes a new instance of the <see cref="RegexMatcher"/> class. @@ -97,22 +97,22 @@

 53        /// <param name="matchBehaviour">The match behaviour.</param>  54        /// <param name="patterns">The patterns.</param>  55        /// <param name="ignoreCase">Ignore the case from the pattern.</param> - 36656        public RegexMatcher(MatchBehaviour matchBehaviour, [NotNull, RegexPattern] string[] patterns, bool ignoreCase =  - 36657        { - 36658            Check.NotNull(patterns, nameof(patterns)); + 44156        public RegexMatcher(MatchBehaviour matchBehaviour, [NotNull, RegexPattern] string[] patterns, bool ignoreCase =  + 44157        { + 44158            Check.NotNull(patterns, nameof(patterns));  59 - 36660            _patterns = patterns; - 36661            IgnoreCase = ignoreCase; - 36662            MatchBehaviour = matchBehaviour; + 44160            _patterns = patterns; + 44161            IgnoreCase = ignoreCase; + 44162            MatchBehaviour = matchBehaviour;  63 - 36664            RegexOptions options = RegexOptions.Compiled; - 36665            if (ignoreCase) - 4866            { - 4867                options |= RegexOptions.IgnoreCase; - 4868            } + 44164            RegexOptions options = RegexOptions.Compiled; + 44165            if (ignoreCase) + 6466            { + 6467                options |= RegexOptions.IgnoreCase; + 6468            }  69 - 73470            _expressions = patterns.Select(p => new Regex(p, options)).ToArray(); - 36671        } + 88470            _expressions = patterns.Select(p => new Regex(p, options)).ToArray(); + 44171        }  72  73        /// <inheritdoc cref="IStringMatcher.IsMatch"/>  74        public double IsMatch(string input) @@ -135,12 +135,12 @@

 91  92        /// <inheritdoc cref="IStringMatcher.GetPatterns"/>  93        public virtual string[] GetPatterns() - 294        { - 295            return _patterns; - 296        } + 394        { + 395            return _patterns; + 396        }  97  98        /// <inheritdoc cref="IMatcher.Name"/> - 199        public virtual string Name => "RegexMatcher"; + 299        public virtual string Name => "RegexMatcher";  100  101        /// <inheritdoc cref="IIgnoreCaseMatcher.IgnoreCase"/>  3102        public bool IgnoreCase { get; } @@ -148,7 +148,7 @@

 104} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RegexUtils.htm b/report/coverlet/WireMock.Net_RegexUtils.htm index e23177e46..0afb4db0c 100644 --- a/report/coverlet/WireMock.Net_RegexUtils.htm +++ b/report/coverlet/WireMock.Net_RegexUtils.htm @@ -4,7 +4,7 @@ -WireMock.Utils.RegexUtils - Coverage Report +WireMock.Util.RegexUtils - Coverage Report

Summary

@@ -14,7 +14,7 @@

Summary

-Class:WireMock.Utils.RegexUtils +Class:WireMock.Util.RegexUtils Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Util\RegexUtils.cs Covered lines:12 @@ -29,7 +29,7 @@

Metrics

- +
MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
GetNamedGroups(...)0011
GetNamedGroups(...)0011

File(s)

@@ -40,7 +40,7 @@

 1using System.Collections.Generic;  2using System.Text.RegularExpressions;  34namespace WireMock.Utils4namespace WireMock.Util  5{  6    internal static class RegexUtils  7    { @@ -63,7 +63,7 @@

 24} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_Request.htm b/report/coverlet/WireMock.Net_Request.htm index bd7dbe72b..fdff46f97 100644 --- a/report/coverlet/WireMock.Net_Request.htm +++ b/report/coverlet/WireMock.Net_Request.htm @@ -17,12 +17,12 @@

Summary

Class:WireMock.RequestBuilders.Request Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\RequestBuilders\Request.cs -Covered lines:159 -Uncovered lines:55 +Covered lines:208 +Uncovered lines:6 Coverable lines:214 Total lines:418 -Line coverage:74.2% -Branch coverage:87.5% +Line coverage:97.1% +Branch coverage:100%

Metrics

@@ -50,7 +50,7 @@

Metrics

UsingPost(...)0010 UsingPatch(...)0010 UsingPut(...)0010 -UsingAnyMethod()000.6250.75 +UsingAnyMethod()0011 UsingAnyVerb()0000 UsingMethod(...)0010 UsingVerb(...)0000 @@ -62,21 +62,21 @@

Metrics

WithBody(...)0010 WithBody(...)0010 WithBody(...)0010 -WithParam(...)0000 +WithParam(...)0010 WithParam(...)0010 -WithParam(...)0000 +WithParam(...)0010 WithParam(...)0010 -WithParam(...)0000 +WithParam(...)0010 WithParam(...)0010 -WithHeader(...)0000 +WithHeader(...)0010 WithHeader(...)0010 -WithHeader(...)0000 -WithHeader(...)0000 -WithHeader(...)0000 -WithHeader(...)0000 +WithHeader(...)0010 +WithHeader(...)0010 +WithHeader(...)0010 +WithHeader(...)0010 WithCookie(...)0010 -WithCookie(...)0000 -WithCookie(...)0000 +WithCookie(...)0010 +WithCookie(...)0010 .ctor(...)0010 @@ -108,18 +108,18 @@

 21        /// </summary>  22        /// <returns>The <see cref="IRequestBuilder"/>.</returns>  23        public static IRequestBuilder Create() - 25324        { - 25325            return new Request(new List<IRequestMatcher>()); - 25326        } + 32624        { + 32625            return new Request(new List<IRequestMatcher>()); + 32626        }  27  28        /// <summary>  29        /// Initializes a new instance of the <see cref="Request"/> class.  30        /// </summary>  31        /// <param name="requestMatchers">The request matchers.</param> - 25332        private Request(IList<IRequestMatcher> requestMatchers) : base(requestMatchers) - 25333        { - 25334            _requestMatchers = requestMatchers; - 25335        } + 32632        private Request(IList<IRequestMatcher> requestMatchers) : base(requestMatchers) + 32633        { + 32634            _requestMatchers = requestMatchers; + 32635        }  36  37        /// <summary>  38        /// Gets the request message matchers. @@ -176,27 +176,27 @@

 89  90        /// <inheritdoc cref="IUrlAndPathRequestBuilder.WithPath(IStringMatcher[])"/>  91        public IRequestBuilder WithPath(params IStringMatcher[] matchers) - 5292        { - 5293            Check.NotNullOrEmpty(matchers, nameof(matchers)); + 6792        { + 6793            Check.NotNullOrEmpty(matchers, nameof(matchers));  94 - 5295            _requestMatchers.Add(new RequestMessagePathMatcher(matchers)); - 5296            return this; - 5297        } + 6795            _requestMatchers.Add(new RequestMessagePathMatcher(matchers)); + 6796            return this; + 6797        }  98  99        /// <inheritdoc cref="IUrlAndPathRequestBuilder.WithPath(string[])"/>  100        public IRequestBuilder WithPath(params string[] paths) - 166101        { - 166102            return WithPath(MatchBehaviour.AcceptOnMatch, paths); - 166103        } + 210101        { + 210102            return WithPath(MatchBehaviour.AcceptOnMatch, paths); + 210103        }  104  105        /// <inheritdoc cref="IUrlAndPathRequestBuilder.WithPath(MatchBehaviour, string[])"/>  106        public IRequestBuilder WithPath(MatchBehaviour matchBehaviour, params string[] paths) - 166107        { - 166108            Check.NotNullOrEmpty(paths, nameof(paths)); + 210107        { + 210108            Check.NotNullOrEmpty(paths, nameof(paths));  109 - 166110            _requestMatchers.Add(new RequestMessagePathMatcher(matchBehaviour, paths)); - 166111            return this; - 166112        } + 210110            _requestMatchers.Add(new RequestMessagePathMatcher(matchBehaviour, paths)); + 210111            return this; + 210112        }  113  114        /// <inheritdoc cref="IUrlAndPathRequestBuilder.WithPath(Func{string, bool}[])"/>  115        public IRequestBuilder WithPath(params Func<string, bool>[] funcs) @@ -242,57 +242,57 @@

 155  156        /// <inheritdoc cref="IMethodRequestBuilder.UsingDelete(MatchBehaviour)"/>  157        public IRequestBuilder UsingDelete(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) - 41158        { - 41159            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "delete")); - 41160            return this; - 41161        } + 56158        { + 56159            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "DELETE")); + 56160            return this; + 56161        }  162  163        /// <inheritdoc cref="IMethodRequestBuilder.UsingGet(MatchBehaviour)"/>  164        public IRequestBuilder UsingGet(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) - 76165        { - 76166            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "get")); - 76167            return this; - 76168        } + 95165        { + 95166            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "GET")); + 95167            return this; + 95168        }  169  170        /// <inheritdoc cref="IMethodRequestBuilder.UsingHead(MatchBehaviour)"/>  171        public IRequestBuilder UsingHead(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch)  1172        { - 1173            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "head")); + 1173            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "HEAD"));  1174            return this;  1175        }  176  177        /// <inheritdoc cref="IMethodRequestBuilder.UsingPost(MatchBehaviour)"/>  178        public IRequestBuilder UsingPost(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) - 50179        { - 50180            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "post")); - 50181            return this; - 50182        } + 68179        { + 68180            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "POST")); + 68181            return this; + 68182        }  183  184        /// <inheritdoc cref="IMethodRequestBuilder.UsingPatch(MatchBehaviour)"/>  185        public IRequestBuilder UsingPatch(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch)  1186        { - 1187            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "patch")); + 1187            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "PATCH"));  1188            return this;  1189        }  190  191        /// <inheritdoc cref="IMethodRequestBuilder.UsingPut(MatchBehaviour)"/>  192        public IRequestBuilder UsingPut(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) - 11193        { - 11194            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "put")); - 11195            return this; - 11196        } + 14193        { + 14194            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "PUT")); + 14195            return this; + 14196        }  197  198        /// <inheritdoc cref="IMethodRequestBuilder.UsingAnyMethod"/>  199        public IRequestBuilder UsingAnyMethod() - 25200        { - 28201            var matchers = _requestMatchers.Where(m => m is RequestMessageMethodMatcher).ToList(); - 75202            foreach (var matcher in matchers) - 0203            { - 0204                _requestMatchers.Remove(matcher); - 0205            } + 28200        { + 34201            var matchers = _requestMatchers.Where(m => m is RequestMessageMethodMatcher).ToList(); + 86202            foreach (var matcher in matchers) + 1203            { + 1204                _requestMatchers.Remove(matcher); + 1205            }  206 - 25207            return this; - 25208        } + 28207            return this; + 28208        }  209  210        /// <inheritdoc cref="IMethodRequestBuilder.UsingAnyVerb"/>  211        public IRequestBuilder UsingAnyVerb() @@ -302,9 +302,9 @@

 215  216        /// <inheritdoc cref="IMethodRequestBuilder.UsingMethod(string[])"/>  217        public IRequestBuilder UsingMethod(params string[] methods) - 20218        { - 20219            return UsingMethod(MatchBehaviour.AcceptOnMatch, methods); - 20220        } + 23218        { + 23219            return UsingMethod(MatchBehaviour.AcceptOnMatch, methods); + 23220        }  221  222        /// <inheritdoc cref="IMethodRequestBuilder.UsingVerb(string[])"/>  223        public IRequestBuilder UsingVerb(params string[] verbs) @@ -314,12 +314,12 @@

 227  228        /// <inheritdoc cref="IMethodRequestBuilder.UsingMethod(MatchBehaviour, string[])"/>  229        public IRequestBuilder UsingMethod(MatchBehaviour matchBehaviour, params string[] methods) - 20230        { - 20231            Check.NotNullOrEmpty(methods, nameof(methods)); + 23230        { + 23231            Check.NotNullOrEmpty(methods, nameof(methods));  232 - 20233            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, methods)); - 20234            return this; - 20235        } + 23233            _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, methods)); + 23234            return this; + 23235        }  236  237        /// <inheritdoc cref="IBodyRequestBuilder.WithBody(string, MatchBehaviour)"/>  238        public IRequestBuilder WithBody(string body, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) @@ -380,42 +380,42 @@

 293  294        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(string, MatchBehaviour)"/>  295        public IRequestBuilder WithParam(string key, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) - 0296        { - 0297            Check.NotNull(key, nameof(key)); + 1296        { + 1297            Check.NotNull(key, nameof(key));  298 - 0299            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key)); - 0300            return this; - 0301        } + 1299            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key)); + 1300            return this; + 1301        }  302  303        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(string, string[])"/>  304        public IRequestBuilder WithParam(string key, params string[] values) - 2305        { - 2306            return WithParam(key, MatchBehaviour.AcceptOnMatch, values); - 2307        } + 3305        { + 3306            return WithParam(key, MatchBehaviour.AcceptOnMatch, values); + 3307        }  308  309        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(string, IStringMatcher[])"/>  310        public IRequestBuilder WithParam(string key, params IStringMatcher[] matchers) - 0311        { - 0312            return WithParam(key, MatchBehaviour.AcceptOnMatch, matchers); - 0313        } + 1311        { + 1312            return WithParam(key, MatchBehaviour.AcceptOnMatch, matchers); + 1313        }  314  315        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(string, MatchBehaviour, string[])"/>  316        public IRequestBuilder WithParam(string key, MatchBehaviour matchBehaviour, params string[] values) - 2317        { - 2318            Check.NotNull(key, nameof(key)); + 3317        { + 3318            Check.NotNull(key, nameof(key));  319 - 2320            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key, values)); - 2321            return this; - 2322        } + 3320            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key, values)); + 3321            return this; + 3322        }  323  324        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(string, MatchBehaviour, IStringMatcher[])"/>  325        public IRequestBuilder WithParam(string key, MatchBehaviour matchBehaviour, params IStringMatcher[] matchers) - 0326        { - 0327            Check.NotNull(key, nameof(key)); + 2326        { + 2327            Check.NotNull(key, nameof(key));  328 - 0329            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key, matchers)); - 0330            return this; - 0331        } + 2329            _requestMatchers.Add(new RequestMessageParamMatcher(matchBehaviour, key, matchers)); + 2330            return this; + 2331        }  332  333        /// <inheritdoc cref="IParamsRequestBuilder.WithParam(Func{IDictionary{string, WireMockList{string}}, bool}[])"/  334        public IRequestBuilder WithParam(params Func<IDictionary<string, WireMockList<string>>, bool>[] funcs) @@ -428,84 +428,84 @@

 341  342        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(string, string, MatchBehaviour)"/>  343        public IRequestBuilder WithHeader(string name, string pattern, MatchBehaviour matchBehaviour) - 0344        { - 0345            return WithHeader(name, pattern, true, matchBehaviour); - 0346        } + 1344        { + 1345            return WithHeader(name, pattern, true, matchBehaviour); + 1346        }  347  348        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(string, string, bool, MatchBehaviour)"/>  349        public IRequestBuilder WithHeader(string name, string pattern, bool ignoreCase = true, MatchBehaviour matchBehav - 28350        { - 28351            Check.NotNull(name, nameof(name)); - 28352            Check.NotNull(pattern, nameof(pattern)); + 39350        { + 39351            Check.NotNull(name, nameof(name)); + 39352            Check.NotNull(pattern, nameof(pattern));  353 - 28354            _requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, pattern, ignoreCase)); - 28355            return this; - 28356        } + 39354            _requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, pattern, ignoreCase)); + 39355            return this; + 39356        }  357  358        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(string, string[], MatchBehaviour)"/>  359        public IRequestBuilder WithHeader(string name, string[] patterns, MatchBehaviour matchBehaviour) - 0360        { - 0361            return WithHeader(name, patterns, true, matchBehaviour); - 0362        } + 1360        { + 1361            return WithHeader(name, patterns, true, matchBehaviour); + 1362        }  363  364        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(string, string[], bool, MatchBehaviour)"/>  365        public IRequestBuilder WithHeader(string name, string[] patterns, bool ignoreCase = true, MatchBehaviour matchBe - 0366        { - 0367            Check.NotNull(name, nameof(name)); - 0368            Check.NotNull(patterns, nameof(patterns)); + 2366        { + 2367            Check.NotNull(name, nameof(name)); + 2368            Check.NotNull(patterns, nameof(patterns));  369 - 0370            _requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, patterns, ignoreCase)); - 0371            return this; - 0372        } + 2370            _requestMatchers.Add(new RequestMessageHeaderMatcher(matchBehaviour, name, patterns, ignoreCase)); + 2371            return this; + 2372        }  373  374        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(string, IStringMatcher[])"/>  375        public IRequestBuilder WithHeader(string name, params IStringMatcher[] matchers) - 0376        { - 0377            Check.NotNull(name, nameof(name)); - 0378            Check.NotNullOrEmpty(matchers, nameof(matchers)); + 1376        { + 1377            Check.NotNull(name, nameof(name)); + 1378            Check.NotNullOrEmpty(matchers, nameof(matchers));  379 - 0380            _requestMatchers.Add(new RequestMessageHeaderMatcher(name, matchers)); - 0381            return this; - 0382        } + 1380            _requestMatchers.Add(new RequestMessageHeaderMatcher(name, matchers)); + 1381            return this; + 1382        }  383  384        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithHeader(Func{IDictionary{string, string[]}, bool}[])"/  385        public IRequestBuilder WithHeader(params Func<IDictionary<string, string[]>, bool>[] funcs) - 0386        { - 0387            Check.NotNullOrEmpty(funcs, nameof(funcs)); + 1386        { + 1387            Check.NotNullOrEmpty(funcs, nameof(funcs));  388 - 0389            _requestMatchers.Add(new RequestMessageHeaderMatcher(funcs)); - 0390            return this; - 0391        } + 1389            _requestMatchers.Add(new RequestMessageHeaderMatcher(funcs)); + 1390            return this; + 1391        }  392  393        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithCookie(string, string, bool, MatchBehaviour)"/>  394        public IRequestBuilder WithCookie(string name, string pattern, bool ignoreCase = true, MatchBehaviour matchBehav - 1395        { - 1396            _requestMatchers.Add(new RequestMessageCookieMatcher(matchBehaviour, name, pattern, ignoreCase)); - 1397            return this; - 1398        } + 2395        { + 2396            _requestMatchers.Add(new RequestMessageCookieMatcher(matchBehaviour, name, pattern, ignoreCase)); + 2397            return this; + 2398        }  399  400        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithCookie(string, IStringMatcher[])"/>  401        public IRequestBuilder WithCookie(string name, params IStringMatcher[] matchers) - 0402        { - 0403            Check.NotNullOrEmpty(matchers, nameof(matchers)); + 1402        { + 1403            Check.NotNullOrEmpty(matchers, nameof(matchers));  404 - 0405            _requestMatchers.Add(new RequestMessageCookieMatcher(name, matchers)); - 0406            return this; - 0407        } + 1405            _requestMatchers.Add(new RequestMessageCookieMatcher(name, matchers)); + 1406            return this; + 1407        }  408  409        /// <inheritdoc cref="IHeadersAndCookiesRequestBuilder.WithCookie(Func{IDictionary{string, string}, bool}[])"/>  410        public IRequestBuilder WithCookie(params Func<IDictionary<string, string>, bool>[] funcs) - 0411        { - 0412            Check.NotNullOrEmpty(funcs, nameof(funcs)); + 1411        { + 1412            Check.NotNullOrEmpty(funcs, nameof(funcs));  413 - 0414            _requestMatchers.Add(new RequestMessageCookieMatcher(funcs)); - 0415            return this; - 0416        } + 1414            _requestMatchers.Add(new RequestMessageCookieMatcher(funcs)); + 1415            return this; + 1416        }  417    }  418} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMatchResult.htm b/report/coverlet/WireMock.Net_RequestMatchResult.htm index c978e3ea6..9210d8976 100644 --- a/report/coverlet/WireMock.Net_RequestMatchResult.htm +++ b/report/coverlet/WireMock.Net_RequestMatchResult.htm @@ -123,7 +123,7 @@

 82} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessage.htm b/report/coverlet/WireMock.Net_RequestMessage.htm index 52ea64238..dedefdc43 100644 --- a/report/coverlet/WireMock.Net_RequestMessage.htm +++ b/report/coverlet/WireMock.Net_RequestMessage.htm @@ -79,12 +79,12 @@

 38        /// <summary>  39        /// Gets the path (relative).  40        /// </summary> - 67141        public string Path { get; } + 67241        public string Path { get; }  42  43        /// <summary>  44        /// Gets the AbsolutePath.  45        /// </summary> - 27746        public string AbsolutePath { get; } + 27846        public string AbsolutePath { get; }  47  48        /// <summary>  49        /// Gets the path segments. @@ -99,7 +99,7 @@

 58        /// <summary>  59        /// Gets the method.  60        /// </summary> - 37161        public string Method { get; } + 37261        public string Method { get; }  62  63        /// <summary>  64        /// Gets the headers. @@ -119,7 +119,7 @@

 78        /// <summary>  79        /// Gets the raw query.  80        /// </summary> - 20781        public string RawQuery { get; } + 20881        public string RawQuery { get; }  82  83        /// <summary>  84        /// The original body as string, this is defined when Body or BodyAsJson are not null. @@ -129,27 +129,27 @@

 88        /// <summary>  89        /// The body (as JSON object).  90        /// </summary> - 33491        public object BodyAsJson { get; set; } + 33591        public object BodyAsJson { get; set; }  92  93        /// <summary>  94        /// The body (as bytearray).  95        /// </summary> - 29496        public byte[] BodyAsBytes { get; set; } + 29596        public byte[] BodyAsBytes { get; set; }  97  98        /// <summary>  99        /// Gets the Host  100        /// </summary> - 208101        public string Host { get; } + 209101        public string Host { get; }  102  103        /// <summary>  104        /// Gets the protocol  105        /// </summary> - 208106        public string Protocol { get; } + 209106        public string Protocol { get; }  107  108        /// <summary>  109        /// Gets the port  110        /// </summary> - 208111        public int Port { get; } + 209111        public int Port { get; }  112  113        /// <summary>  114        /// Gets the origin @@ -170,43 +170,43 @@

 129        /// <param name="body">The body.</param>  130        /// <param name="headers">The headers.</param>  131        /// <param name="cookies">The cookies.</param> - 207132        public RequestMessage([NotNull] UrlDetails urlDetails, [NotNull] string method, [NotNull] string clientIP, [CanB - 207133        { - 207134            Check.NotNull(urlDetails, nameof(urlDetails)); - 207135            Check.NotNull(method, nameof(method)); - 207136            Check.NotNull(clientIP, nameof(clientIP)); + 208132        public RequestMessage([NotNull] UrlDetails urlDetails, [NotNull] string method, [NotNull] string clientIP, [CanB + 208133        { + 208134            Check.NotNull(urlDetails, nameof(urlDetails)); + 208135            Check.NotNull(method, nameof(method)); + 208136            Check.NotNull(clientIP, nameof(clientIP));  137 - 207138            AbsoluteUrl = urlDetails.AbsoluteUrl.ToString(); - 207139            Url = urlDetails.Url.ToString(); - 207140            Protocol = urlDetails.Url.Scheme; - 207141            Host = urlDetails.Url.Host; - 207142            Port = urlDetails.Url.Port; - 207143            Origin = $"{Protocol}://{Host}:{Port}"; + 208138            AbsoluteUrl = urlDetails.AbsoluteUrl.ToString(); + 208139            Url = urlDetails.Url.ToString(); + 208140            Protocol = urlDetails.Url.Scheme; + 208141            Host = urlDetails.Url.Host; + 208142            Port = urlDetails.Url.Port; + 208143            Origin = $"{Protocol}://{Host}:{Port}";  144 - 207145            AbsolutePath = WebUtility.UrlDecode(urlDetails.AbsoluteUrl.AbsolutePath); - 207146            Path = WebUtility.UrlDecode(urlDetails.Url.AbsolutePath); - 207147            PathSegments = Path.Split('/').Skip(1).ToArray(); - 207148            AbsolutePathSegments = AbsolutePath.Split('/').Skip(1).ToArray(); + 208145            AbsolutePath = WebUtility.UrlDecode(urlDetails.AbsoluteUrl.AbsolutePath); + 208146            Path = WebUtility.UrlDecode(urlDetails.Url.AbsolutePath); + 208147            PathSegments = Path.Split('/').Skip(1).ToArray(); + 208148            AbsolutePathSegments = AbsolutePath.Split('/').Skip(1).ToArray();  149 - 207150            Method = method.ToLower(); - 207151            ClientIP = clientIP; + 208150            Method = method; + 208151            ClientIP = clientIP;  152 - 207153            Body = body?.BodyAsString; - 207154            BodyEncoding = body?.Encoding; - 207155            BodyAsJson = body?.BodyAsJson; - 207156            BodyAsBytes = body?.BodyAsBytes; + 208153            Body = body?.BodyAsString; + 208154            BodyEncoding = body?.Encoding; + 208155            BodyAsJson = body?.BodyAsJson; + 208156            BodyAsBytes = body?.BodyAsBytes;  157 - 445158            Headers = headers?.ToDictionary(header => header.Key, header => new WireMockList<string>(header.Value)); - 207159            Cookies = cookies; - 207160            RawQuery = WebUtility.UrlDecode(urlDetails.Url.Query); - 207161            Query = ParseQuery(RawQuery); - 207162        } + 446158            Headers = headers?.ToDictionary(header => header.Key, header => new WireMockList<string>(header.Value)); + 208159            Cookies = cookies; + 208160            RawQuery = WebUtility.UrlDecode(urlDetails.Url.Query); + 208161            Query = ParseQuery(RawQuery); + 208162        }  163  164        private static IDictionary<string, WireMockList<string>> ParseQuery(string queryString) - 207165        { - 207166            if (string.IsNullOrEmpty(queryString)) - 194167            { - 194168                return null; + 208165        { + 208166            if (string.IsNullOrEmpty(queryString)) + 195167            { + 195168                return null;  169            }  170  13171            if (queryString.StartsWith("?")) @@ -233,7 +233,7 @@

 13192  33193                    return dict;  33194                }); - 207195        } + 208195        }  196  197        /// <summary>  198        /// Get a query parameter. @@ -253,7 +253,7 @@

 212} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageBodyMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageBodyMatcher.htm index a96803dc2..93e64183f 100644 --- a/report/coverlet/WireMock.Net_RequestMessageBodyMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageBodyMatcher.htm @@ -205,7 +205,7 @@

 158} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageClientIPMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageClientIPMatcher.htm index 30bff819b..172d21514 100644 --- a/report/coverlet/WireMock.Net_RequestMessageClientIPMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageClientIPMatcher.htm @@ -118,7 +118,7 @@

 75} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageCompositeMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageCompositeMatcher.htm index 4ecfd0825..e14ed225a 100644 --- a/report/coverlet/WireMock.Net_RequestMessageCompositeMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageCompositeMatcher.htm @@ -65,13 +65,13 @@

 25        /// </summary>  26        /// <param name="requestMatchers">The request matchers.</param>  27        /// <param name="type">The CompositeMatcherType type (Defaults to 'And')</param> - 25628        protected RequestMessageCompositeMatcher([NotNull] IEnumerable<IRequestMatcher> requestMatchers, CompositeMatche - 25629        { - 25630            Check.NotNull(requestMatchers, nameof(requestMatchers)); + 32928        protected RequestMessageCompositeMatcher([NotNull] IEnumerable<IRequestMatcher> requestMatchers, CompositeMatche + 32929        { + 32930            Check.NotNull(requestMatchers, nameof(requestMatchers));  31 - 25632            _type = type; - 25633            RequestMatchers = requestMatchers; - 25634        } + 32932            _type = type; + 32933            RequestMatchers = requestMatchers; + 32934        }  35  36        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>  37        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult) @@ -92,7 +92,7 @@

 52} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageCookieMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageCookieMatcher.htm index 1bf0f0ce8..f3a163122 100644 --- a/report/coverlet/WireMock.Net_RequestMessageCookieMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageCookieMatcher.htm @@ -79,41 +79,41 @@

 36        /// <param name="name">The name.</param>  37        /// <param name="pattern">The pattern.</param>  38        /// <param name="ignoreCase">The ignoreCase.</param> - 939        public RequestMessageCookieMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string patter - 940        { - 941            Check.NotNull(name, nameof(name)); - 942            Check.NotNull(pattern, nameof(pattern)); + 1039        public RequestMessageCookieMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string patter + 1040        { + 1041            Check.NotNull(name, nameof(name)); + 1042            Check.NotNull(pattern, nameof(pattern));  43 - 944            _matchBehaviour = matchBehaviour; - 945            _ignoreCase = ignoreCase; - 946            Name = name; - 947            Matchers = new IStringMatcher[] { new WildcardMatcher(matchBehaviour, pattern, ignoreCase) }; - 948        } + 1044            _matchBehaviour = matchBehaviour; + 1045            _ignoreCase = ignoreCase; + 1046            Name = name; + 1047            Matchers = new IStringMatcher[] { new WildcardMatcher(matchBehaviour, pattern, ignoreCase) }; + 1048        }  49  50        /// <summary>  51        /// Initializes a new instance of the <see cref="RequestMessageCookieMatcher"/> class.  52        /// </summary>  53        /// <param name="name">The name.</param>  54        /// <param name="matchers">The matchers.</param> - 155        public RequestMessageCookieMatcher([NotNull] string name, [NotNull] params IStringMatcher[] matchers) - 156        { - 157            Check.NotNull(name, nameof(name)); - 158            Check.NotNull(matchers, nameof(matchers)); + 255        public RequestMessageCookieMatcher([NotNull] string name, [NotNull] params IStringMatcher[] matchers) + 256        { + 257            Check.NotNull(name, nameof(name)); + 258            Check.NotNull(matchers, nameof(matchers));  59 - 160            Name = name; - 161            Matchers = matchers; - 162        } + 260            Name = name; + 261            Matchers = matchers; + 262        }  63  64        /// <summary>  65        /// Initializes a new instance of the <see cref="RequestMessageCookieMatcher"/> class.  66        /// </summary>  67        /// <param name="funcs">The funcs.</param> - 168        public RequestMessageCookieMatcher([NotNull] params Func<IDictionary<string, string>, bool>[] funcs) - 169        { - 170            Check.NotNull(funcs, nameof(funcs)); + 268        public RequestMessageCookieMatcher([NotNull] params Func<IDictionary<string, string>, bool>[] funcs) + 269        { + 270            Check.NotNull(funcs, nameof(funcs));  71 - 172            Funcs = funcs; - 173        } + 272            Funcs = funcs; + 273        }  74  75        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>  76        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult) @@ -154,7 +154,7 @@

 111} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageHeaderMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageHeaderMatcher.htm index 3ba8f3e4d..5c00f5ae8 100644 --- a/report/coverlet/WireMock.Net_RequestMessageHeaderMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageHeaderMatcher.htm @@ -17,11 +17,11 @@

Summary

Class:WireMock.Matchers.Request.RequestMessageHeaderMatcher Assembly:WireMock.Net File(s):C:\Users\azureuser\Documents\Github\WireMock.Net\src\WireMock.Net\Matchers\Request\RequestMessageHeaderMatcher.cs -Covered lines:43 -Uncovered lines:11 +Covered lines:52 +Uncovered lines:2 Coverable lines:54 Total lines:131 -Line coverage:79.6% +Line coverage:96.2% Branch coverage:90% @@ -32,7 +32,7 @@

Metrics

GetMatchingScore(...)0010 IsMatch(...)000.8820.9 .ctor(...)0010 -.ctor(...)0000 +.ctor(...)0010 .ctor(...)0010 .ctor(...)0010 @@ -82,16 +82,16 @@

 38        /// <param name="pattern">The pattern.</param>  39        /// <param name="ignoreCase">Ignore the case from the pattern.</param>  40        /// <param name="matchBehaviour">The match behaviour.</param> - 3641        public RequestMessageHeaderMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string patter - 3642        { - 3643            Check.NotNull(name, nameof(name)); - 3644            Check.NotNull(pattern, nameof(pattern)); + 4741        public RequestMessageHeaderMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string patter + 4742        { + 4743            Check.NotNull(name, nameof(name)); + 4744            Check.NotNull(pattern, nameof(pattern));  45 - 3646            _matchBehaviour = matchBehaviour; - 3647            _ignoreCase = ignoreCase; - 3648            Name = name; - 3649            Matchers = new IStringMatcher[] { new WildcardMatcher(matchBehaviour, pattern, ignoreCase) }; - 3650        } + 4746            _matchBehaviour = matchBehaviour; + 4747            _ignoreCase = ignoreCase; + 4748            Name = name; + 4749            Matchers = new IStringMatcher[] { new WildcardMatcher(matchBehaviour, pattern, ignoreCase) }; + 4750        }  51  52        /// <summary>  53        /// Initializes a new instance of the <see cref="RequestMessageHeaderMatcher"/> class. @@ -100,41 +100,41 @@

 56        /// <param name="patterns">The patterns.</param>  57        /// <param name="ignoreCase">Ignore the case from the pattern.</param>  58        /// <param name="matchBehaviour">The match behaviour.</param> - 059        public RequestMessageHeaderMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string[] patt - 060        { - 061            Check.NotNull(name, nameof(name)); - 062            Check.NotNull(patterns, nameof(patterns)); + 259        public RequestMessageHeaderMatcher(MatchBehaviour matchBehaviour, [NotNull] string name, [NotNull] string[] patt + 260        { + 261            Check.NotNull(name, nameof(name)); + 262            Check.NotNull(patterns, nameof(patterns));  63 - 064            _matchBehaviour = matchBehaviour; - 065            _ignoreCase = ignoreCase; - 066            Name = name; - 067            Matchers = patterns.Select(pattern => new WildcardMatcher(matchBehaviour, pattern, ignoreCase)).Cast<IString - 068        } + 264            _matchBehaviour = matchBehaviour; + 265            _ignoreCase = ignoreCase; + 266            Name = name; + 667            Matchers = patterns.Select(pattern => new WildcardMatcher(matchBehaviour, pattern, ignoreCase)).Cast<IString + 268        }  69  70        /// <summary>  71        /// Initializes a new instance of the <see cref="RequestMessageHeaderMatcher"/> class.  72        /// </summary>  73        /// <param name="name">The name.</param>  74        /// <param name="matchers">The matchers.</param> - 175        public RequestMessageHeaderMatcher([NotNull] string name, [NotNull] params IStringMatcher[] matchers) - 176        { - 177            Check.NotNull(name, nameof(name)); - 178            Check.NotNull(matchers, nameof(matchers)); + 275        public RequestMessageHeaderMatcher([NotNull] string name, [NotNull] params IStringMatcher[] matchers) + 276        { + 277            Check.NotNull(name, nameof(name)); + 278            Check.NotNull(matchers, nameof(matchers));  79 - 180            Name = name; - 181            Matchers = matchers; - 182        } + 280            Name = name; + 281            Matchers = matchers; + 282        }  83  84        /// <summary>  85        /// Initializes a new instance of the <see cref="RequestMessageHeaderMatcher"/> class.  86        /// </summary>  87        /// <param name="funcs">The funcs.</param> - 188        public RequestMessageHeaderMatcher([NotNull] params Func<IDictionary<string, string[]>, bool>[] funcs) - 189        { - 190            Check.NotNull(funcs, nameof(funcs)); + 288        public RequestMessageHeaderMatcher([NotNull] params Func<IDictionary<string, string[]>, bool>[] funcs) + 289        { + 290            Check.NotNull(funcs, nameof(funcs));  91 - 192            Funcs = funcs; - 193        } + 292            Funcs = funcs; + 293        }  94  95        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>  96        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult) @@ -175,7 +175,7 @@

 131} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageMethodMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageMethodMatcher.htm index 43e6577e3..879695e3a 100644 --- a/report/coverlet/WireMock.Net_RequestMessageMethodMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageMethodMatcher.htm @@ -20,9 +20,8 @@

Summary

Covered lines:14 Uncovered lines:0 Coverable lines:14 -Total lines:44 +Total lines:45 Line coverage:100% -Branch coverage:100%

Metrics

@@ -31,7 +30,7 @@

Metrics

GetMatchingScore(...)0010 IsMatch(...)0010 -.ctor(...)0011 +.ctor(...)0010

File(s)

@@ -39,60 +38,61 @@

#LineLine coverage - 1using System.Linq;2using JetBrains.Annotations;3using WireMock.Validation;45namespace WireMock.Matchers.Request6{7    /// <summary>8    /// The request verb matcher.9    /// </summary>10    internal class RequestMessageMethodMatcher : IRequestMatcher11    {12        private readonly MatchBehaviour _matchBehaviour;1314        /// <summary>15        /// The methods16        /// </summary> - 29217        public string[] Methods { get; }1819        /// <summary>20        /// Initializes a new instance of the <see cref="RequestMessageMethodMatcher"/> class.21        /// </summary>22        /// <param name="matchBehaviour">The match behaviour.</param>23        /// <param name="methods">The methods.</param> - 20024        public RequestMessageMethodMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] methods) - 20025        { - 20026            Check.NotNull(methods, nameof(methods)); - 20027            _matchBehaviour = matchBehaviour;28 - 40829            Methods = methods.Select(v => v.ToLower()).ToArray(); - 20030        }3132        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>33        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult) - 29234        { - 29235            double score = MatchBehaviourHelper.Convert(_matchBehaviour, IsMatch(requestMessage)); - 29236            return requestMatchResult.AddScore(GetType(), score); - 29237        }3839        private double IsMatch(RequestMessage requestMessage) - 29240        { - 29241            return MatchScores.ToScore(Methods.Contains(requestMessage.Method)); - 29242        }43    }44}1using System;2using System.Linq;3using JetBrains.Annotations;4using WireMock.Validation;56namespace WireMock.Matchers.Request7{8    /// <summary>9    /// The request verb matcher.10    /// </summary>11    internal class RequestMessageMethodMatcher : IRequestMatcher12    {13        private readonly MatchBehaviour _matchBehaviour;1415        /// <summary>16        /// The methods17        /// </summary> + 29218        public string[] Methods { get; }1920        /// <summary>21        /// Initializes a new instance of the <see cref="RequestMessageMethodMatcher"/> class.22        /// </summary>23        /// <param name="matchBehaviour">The match behaviour.</param>24        /// <param name="methods">The methods.</param> + 25825        public RequestMessageMethodMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] methods) + 25826        { + 25827            Check.NotNull(methods, nameof(methods)); + 25828            _matchBehaviour = matchBehaviour;29 + 25830            Methods = methods; + 25831        }3233        /// <inheritdoc cref="IRequestMatcher.GetMatchingScore"/>34        public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult requestMatchResult) + 29235        { + 29236            double score = MatchBehaviourHelper.Convert(_matchBehaviour, IsMatch(requestMessage)); + 29237            return requestMatchResult.AddScore(GetType(), score); + 29238        }3940        private double IsMatch(RequestMessage requestMessage) + 29241        { + 29242            return MatchScores.ToScore(Methods.Contains(requestMessage.Method, StringComparer.OrdinalIgnoreCase)); + 29243        }44    }45} -

+
diff --git a/report/coverlet/WireMock.Net_RequestMessageParamMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageParamMatcher.htm index 2b8ab500f..ad48d0b0f 100644 --- a/report/coverlet/WireMock.Net_RequestMessageParamMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageParamMatcher.htm @@ -78,9 +78,9 @@

 34        /// </summary>  35        /// <param name="matchBehaviour">The match behaviour.</param>  36        /// <param name="key">The key.</param> - 237        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key) : this(matchBehaviour, ke - 238        { - 239        } + 337        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key) : this(matchBehaviour, ke + 338        { + 339        }  40  41        /// <summary>  42        /// Initializes a new instance of the <see cref="RequestMessageParamMatcher"/> class. @@ -88,9 +88,9 @@

 44        /// <param name="matchBehaviour">The match behaviour.</param>  45        /// <param name="key">The key.</param>  46        /// <param name="values">The values.</param> - 1547        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key, [CanBeNull] string[] valu - 648        { - 649        } + 1847        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key, [CanBeNull] string[] valu + 748        { + 749        }  50  51        /// <summary>  52        /// Initializes a new instance of the <see cref="RequestMessageParamMatcher"/> class. @@ -98,14 +98,14 @@

 54        /// <param name="matchBehaviour">The match behaviour.</param>  55        /// <param name="key">The key.</param>  56        /// <param name="matchers">The matchers.</param> - 957        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key, [CanBeNull] IStringMatche - 958        { - 959            Check.NotNull(key, nameof(key)); + 1357        public RequestMessageParamMatcher(MatchBehaviour matchBehaviour, [NotNull] string key, [CanBeNull] IStringMatche + 1358        { + 1359            Check.NotNull(key, nameof(key));  60 - 961            _matchBehaviour = matchBehaviour; - 962            Key = key; - 963            Matchers = matchers; - 964        } + 1361            _matchBehaviour = matchBehaviour; + 1362            Key = key; + 1363            Matchers = matchers; + 1364        }  65  66        /// <summary>  67        /// Initializes a new instance of the <see cref="RequestMessageParamMatcher"/> class. @@ -164,7 +164,7 @@

 120} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessagePathMatcher.htm b/report/coverlet/WireMock.Net_RequestMessagePathMatcher.htm index ae3a6c14e..c764d852f 100644 --- a/report/coverlet/WireMock.Net_RequestMessagePathMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessagePathMatcher.htm @@ -69,20 +69,20 @@

 26        /// </summary>  27        /// <param name="matchBehaviour">The match behaviour.</param>  28        /// <param name="paths">The paths.</param> - 33329        public RequestMessagePathMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] paths) : this(paths.Se - 16630        { - 16631        } + 42129        public RequestMessagePathMatcher(MatchBehaviour matchBehaviour, [NotNull] params string[] paths) : this(paths.Se + 21030        { + 21031        }  32  33        /// <summary>  34        /// Initializes a new instance of the <see cref="RequestMessagePathMatcher"/> class.  35        /// </summary>  36        /// <param name="matchers">The matchers.</param> - 21837        public RequestMessagePathMatcher([NotNull] params IStringMatcher[] matchers) - 21838        { - 21839            Check.NotNull(matchers, nameof(matchers)); + 27737        public RequestMessagePathMatcher([NotNull] params IStringMatcher[] matchers) + 27738        { + 27739            Check.NotNull(matchers, nameof(matchers));  40 - 21841            Matchers = matchers; - 21842        } + 27741            Matchers = matchers; + 27742        }  43  44        /// <summary>  45        /// Initializes a new instance of the <see cref="RequestMessagePathMatcher"/> class. @@ -120,7 +120,7 @@

 77} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageScenarioAndStateMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageScenarioAndStateMatcher.htm index 3d2904ebd..e64d21bfd 100644 --- a/report/coverlet/WireMock.Net_RequestMessageScenarioAndStateMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageScenarioAndStateMatcher.htm @@ -87,7 +87,7 @@

 46} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestMessageUrlMatcher.htm b/report/coverlet/WireMock.Net_RequestMessageUrlMatcher.htm index 998cf72dc..8bb546624 100644 --- a/report/coverlet/WireMock.Net_RequestMessageUrlMatcher.htm +++ b/report/coverlet/WireMock.Net_RequestMessageUrlMatcher.htm @@ -118,7 +118,7 @@

 75} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RequestModel.htm b/report/coverlet/WireMock.Net_RequestModel.htm index f063eda99..87ea88ecd 100644 --- a/report/coverlet/WireMock.Net_RequestModel.htm +++ b/report/coverlet/WireMock.Net_RequestModel.htm @@ -81,7 +81,7 @@

 50} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_RespondWithAProvider.htm b/report/coverlet/WireMock.Net_RespondWithAProvider.htm index 3229dd3ac..f15308383 100644 --- a/report/coverlet/WireMock.Net_RespondWithAProvider.htm +++ b/report/coverlet/WireMock.Net_RespondWithAProvider.htm @@ -66,27 +66,27 @@

 18        private readonly RegistrationCallback _registrationCallback;  19        private readonly IRequestMatcher _requestMatcher;  20 - 43521        public Guid Guid { get; private set; } = Guid.NewGuid(); + 55321        public Guid Guid { get; private set; } = Guid.NewGuid();  22  23        /// <summary>  24        /// Initializes a new instance of the <see cref="RespondWithAProvider"/> class.  25        /// </summary>  26        /// <param name="registrationCallback">The registration callback.</param>  27        /// <param name="requestMatcher">The request matcher.</param> - 20528        public RespondWithAProvider(RegistrationCallback registrationCallback, IRequestMatcher requestMatcher) - 20529        { - 20530            _registrationCallback = registrationCallback; - 20531            _requestMatcher = requestMatcher; - 20532        } + 26428        public RespondWithAProvider(RegistrationCallback registrationCallback, IRequestMatcher requestMatcher) + 26429        { + 26430            _registrationCallback = registrationCallback; + 26431            _requestMatcher = requestMatcher; + 26432        }  33  34        /// <summary>  35        /// The respond with.  36        /// </summary>  37        /// <param name="provider">The provider.</param>  38        public void RespondWith(IResponseProvider provider) - 20539        { - 20540            _registrationCallback(new Mapping(Guid, _title, _path, _requestMatcher, provider, _priority, _scenario, _exe - 20541        } + 26439        { + 26440            _registrationCallback(new Mapping(Guid, _title, _path, _requestMatcher, provider, _priority, _scenario, _exe + 26441        }  42  43        /// <see cref="IRespondWithAProvider.WithGuid(string)"/>  44        public IRespondWithAProvider WithGuid(string guid) @@ -120,11 +120,11 @@

 72  73        /// <see cref="IRespondWithAProvider.AtPriority"/>  74        public IRespondWithAProvider AtPriority(int priority) - 1275        { - 1276            _priority = priority; + 22275        { + 22276            _priority = priority;  77 - 1278            return this; - 1279        } + 22278            return this; + 22279        }  80  81        /// <see cref="IRespondWithAProvider.InScenario(string)"/>  82        public IRespondWithAProvider InScenario(string scenario) @@ -163,7 +163,7 @@

 115} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_Response.htm b/report/coverlet/WireMock.Net_Response.htm index 3bcd61e7b..7564e80e8 100644 --- a/report/coverlet/WireMock.Net_Response.htm +++ b/report/coverlet/WireMock.Net_Response.htm @@ -460,7 +460,7 @@

 397} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ResponseMessage.htm b/report/coverlet/WireMock.Net_ResponseMessage.htm index deb9dee0c..b3d5b9761 100644 --- a/report/coverlet/WireMock.Net_ResponseMessage.htm +++ b/report/coverlet/WireMock.Net_ResponseMessage.htm @@ -135,7 +135,7 @@

 95} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ResponseMessageBuilder.htm b/report/coverlet/WireMock.Net_ResponseMessageBuilder.htm index a4c202e7e..9743c4368 100644 --- a/report/coverlet/WireMock.Net_ResponseMessageBuilder.htm +++ b/report/coverlet/WireMock.Net_ResponseMessageBuilder.htm @@ -66,7 +66,7 @@

 26} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ResponseMessageTransformer.htm b/report/coverlet/WireMock.Net_ResponseMessageTransformer.htm index a17500cbd..114b9c8b8 100644 --- a/report/coverlet/WireMock.Net_ResponseMessageTransformer.htm +++ b/report/coverlet/WireMock.Net_ResponseMessageTransformer.htm @@ -178,7 +178,7 @@

 135} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ResponseModel.htm b/report/coverlet/WireMock.Net_ResponseModel.htm index 3d0ab1a4f..dac106d50 100644 --- a/report/coverlet/WireMock.Net_ResponseModel.htm +++ b/report/coverlet/WireMock.Net_ResponseModel.htm @@ -121,7 +121,7 @@

 90} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ScenarioState.htm b/report/coverlet/WireMock.Net_ScenarioState.htm index be7565bb1..b6fb7b98c 100644 --- a/report/coverlet/WireMock.Net_ScenarioState.htm +++ b/report/coverlet/WireMock.Net_ScenarioState.htm @@ -59,7 +59,7 @@

 28} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_ScenarioStateModel.htm b/report/coverlet/WireMock.Net_ScenarioStateModel.htm index ef47229ee..cae6322cc 100644 --- a/report/coverlet/WireMock.Net_ScenarioStateModel.htm +++ b/report/coverlet/WireMock.Net_ScenarioStateModel.htm @@ -59,7 +59,7 @@

 28} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_SettingsModel.htm b/report/coverlet/WireMock.Net_SettingsModel.htm index 9b094dab0..974023692 100644 --- a/report/coverlet/WireMock.Net_SettingsModel.htm +++ b/report/coverlet/WireMock.Net_SettingsModel.htm @@ -59,7 +59,7 @@

 28} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_SimMetricsMatcher.htm b/report/coverlet/WireMock.Net_SimMetricsMatcher.htm index 5a9e03f37..f7c5ade40 100644 --- a/report/coverlet/WireMock.Net_SimMetricsMatcher.htm +++ b/report/coverlet/WireMock.Net_SimMetricsMatcher.htm @@ -170,7 +170,7 @@

 125} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_StatusModel.htm b/report/coverlet/WireMock.Net_StatusModel.htm index 76ea6373d..8b7e68cf9 100644 --- a/report/coverlet/WireMock.Net_StatusModel.htm +++ b/report/coverlet/WireMock.Net_StatusModel.htm @@ -51,7 +51,7 @@

 20} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_UrlDetails.htm b/report/coverlet/WireMock.Net_UrlDetails.htm index 8024ab254..1d626f044 100644 --- a/report/coverlet/WireMock.Net_UrlDetails.htm +++ b/report/coverlet/WireMock.Net_UrlDetails.htm @@ -51,47 +51,47 @@

 11        /// <summary>  12        /// Gets the url (relative).  13        /// </summary> - 124514        public Uri Url { get; } + 125114        public Uri Url { get; }  15  16        /// <summary>  17        /// Gets the AbsoluteUrl.  18        /// </summary> - 41719        public Uri AbsoluteUrl { get; } + 41919        public Uri AbsoluteUrl { get; }  20  21        /// <summary>  22        /// Initializes a new instance of the <see cref="UrlDetails"/> class.  23        /// </summary>  24        /// <param name="url">The URL.</param> - 14025        public UrlDetails(string url) : this(new Uri(url)) - 14026        { - 14027        } + 14125        public UrlDetails(string url) : this(new Uri(url)) + 14126        { + 14127        }  28  29        /// <summary>  30        /// Initializes a new instance of the <see cref="UrlDetails"/> class.  31        /// </summary>  32        /// <param name="url">The URL.</param> - 14033        public UrlDetails(Uri url) : this(url, url) - 14034        { - 14035        } + 14133        public UrlDetails(Uri url) : this(url, url) + 14134        { + 14135        }  36  37        /// <summary>  38        /// Initializes a new instance of the <see cref="UrlDetails"/> class.  39        /// </summary>  40        /// <param name="absoluteUrl">The absolute URL.</param>  41        /// <param name="url">The URL (relative).</param> - 21042        public UrlDetails(Uri absoluteUrl, Uri url) - 21043        { - 21044            Check.NotNull(absoluteUrl, nameof(absoluteUrl)); - 21045            Check.NotNull(url, nameof(url)); + 21142        public UrlDetails(Uri absoluteUrl, Uri url) + 21143        { + 21144            Check.NotNull(absoluteUrl, nameof(absoluteUrl)); + 21145            Check.NotNull(url, nameof(url));  46 - 21047            AbsoluteUrl = absoluteUrl; - 21048            Url = url; - 21049        } + 21147            AbsoluteUrl = absoluteUrl; + 21148            Url = url; + 21149        }  50    }  51} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_UrlModel.htm b/report/coverlet/WireMock.Net_UrlModel.htm index 7f0c4dff7..c8b152720 100644 --- a/report/coverlet/WireMock.Net_UrlModel.htm +++ b/report/coverlet/WireMock.Net_UrlModel.htm @@ -44,7 +44,7 @@

 13} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_UrlUtils.htm b/report/coverlet/WireMock.Net_UrlUtils.htm index af89f85c5..53375d87c 100644 --- a/report/coverlet/WireMock.Net_UrlUtils.htm +++ b/report/coverlet/WireMock.Net_UrlUtils.htm @@ -78,7 +78,7 @@

C  38} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WildcardMatcher.htm b/report/coverlet/WireMock.Net_WildcardMatcher.htm index 05bf07069..893171ff8 100644 --- a/report/coverlet/WireMock.Net_WildcardMatcher.htm +++ b/report/coverlet/WireMock.Net_WildcardMatcher.htm @@ -70,9 +70,9 @@

 27        /// <param name="matchBehaviour">The match behaviour.</param>  28        /// <param name="pattern">The pattern.</param>  29        /// <param name="ignoreCase">IgnoreCase</param> - 21930        public WildcardMatcher(MatchBehaviour matchBehaviour, [NotNull] string pattern, bool ignoreCase = false) : this( - 21931        { - 21932        } + 27930        public WildcardMatcher(MatchBehaviour matchBehaviour, [NotNull] string pattern, bool ignoreCase = false) : this( + 27931        { + 27932        }  33  34        /// <summary>  35        /// Initializes a new instance of the <see cref="WildcardMatcher"/> class. @@ -89,10 +89,10 @@

 46        /// <param name="matchBehaviour">The match behaviour.</param>  47        /// <param name="patterns">The patterns.</param>  48        /// <param name="ignoreCase">IgnoreCase</param> - 51149        public WildcardMatcher(MatchBehaviour matchBehaviour, [NotNull] string[] patterns, bool ignoreCase = false) : ba - 25550        { - 25551            _patterns = patterns; - 25552        } + 63149        public WildcardMatcher(MatchBehaviour matchBehaviour, [NotNull] string[] patterns, bool ignoreCase = false) : ba + 31550        { + 31551            _patterns = patterns; + 31552        }  53  54        /// <inheritdoc cref="IStringMatcher.GetPatterns"/>  55        public override string[] GetPatterns() @@ -106,7 +106,7 @@

 63} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WireMockConsoleLogger.htm b/report/coverlet/WireMock.Net_WireMockConsoleLogger.htm index 7580b9568..ce0760a8a 100644 --- a/report/coverlet/WireMock.Net_WireMockConsoleLogger.htm +++ b/report/coverlet/WireMock.Net_WireMockConsoleLogger.htm @@ -104,7 +104,7 @@

 59} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WireMockList_1.htm b/report/coverlet/WireMock.Net_WireMockList_1.htm index 6e617ba62..6a3eb639d 100644 --- a/report/coverlet/WireMock.Net_WireMockList_1.htm +++ b/report/coverlet/WireMock.Net_WireMockList_1.htm @@ -86,7 +86,7 @@

 44} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WireMockMiddleware.htm b/report/coverlet/WireMock.Net_WireMockMiddleware.htm index fbe554454..a30bbe0f3 100644 --- a/report/coverlet/WireMock.Net_WireMockMiddleware.htm +++ b/report/coverlet/WireMock.Net_WireMockMiddleware.htm @@ -68,8 +68,8 @@

 126        private static readonly Task CompletedTask = Task.FromResult(false);  27        private readonly WireMockMiddlewareOptions _options;  28 - 4929        private readonly OwinRequestMapper _requestMapper = new OwinRequestMapper(); - 4930        private readonly OwinResponseMapper _responseMapper = new OwinResponseMapper(); + 5529        private readonly OwinRequestMapper _requestMapper = new OwinRequestMapper(); + 5530        private readonly OwinResponseMapper _responseMapper = new OwinResponseMapper();  31  32#if !USE_ASPNETCORE  33        public WireMockMiddleware(OwinMiddleware next, WireMockMiddlewareOptions options) : base(next) @@ -77,10 +77,10 @@

 35            _options = options;  36        }  37#else - 4938        public WireMockMiddleware(RequestDelegate next, WireMockMiddlewareOptions options) - 4939        { - 4940            _options = options; - 4941        } + 5538        public WireMockMiddleware(RequestDelegate next, WireMockMiddlewareOptions options) + 5539        { + 5540            _options = options; + 5541        }  42#endif  43  44#if !USE_ASPNETCORE @@ -236,7 +236,7 @@

 194} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WireMockMiddlewareOptions.htm b/report/coverlet/WireMock.Net_WireMockMiddlewareOptions.htm index 411153851..0b4b4d95a 100644 --- a/report/coverlet/WireMock.Net_WireMockMiddlewareOptions.htm +++ b/report/coverlet/WireMock.Net_WireMockMiddlewareOptions.htm @@ -45,19 +45,19 @@

 14{  15    internal class WireMockMiddlewareOptions  16    { - 17717        public IWireMockLogger Logger { get; set; } + 18917        public IWireMockLogger Logger { get; set; }  18  4619        public TimeSpan? RequestProcessingDelay { get; set; }  20 - 821        public IStringMatcher AuthorizationMatcher { get; set; } + 1821        public IStringMatcher AuthorizationMatcher { get; set; }  22  6623        public bool AllowPartialMapping { get; set; }  24 - 62625        public ConcurrentDictionary<Guid, Mapping> Mappings { get; } = new ConcurrentDictionary<Guid, Mapping>(); + 75325        public ConcurrentDictionary<Guid, Mapping> Mappings { get; } = new ConcurrentDictionary<Guid, Mapping>();  26 - 18227        public ConcurrentDictionary<string, ScenarioState> Scenarios { get; } = new ConcurrentDictionary<string, Scenari + 18827        public ConcurrentDictionary<string, ScenarioState> Scenarios { get; } = new ConcurrentDictionary<string, Scenari  28 - 13429        public ObservableCollection<LogEntry> LogEntries { get; } = new ConcurentObservableCollection<LogEntry>(); + 14029        public ObservableCollection<LogEntry> LogEntries { get; } = new ConcurentObservableCollection<LogEntry>();  30  6831        public int? RequestLogExpirationDuration { get; set; }  32 @@ -68,15 +68,15 @@

 37  38        public Action<IAppBuilder> PostWireMockMiddlewareInit { get; set; }  39#else - 9840        public Action<IApplicationBuilder> PreWireMockMiddlewareInit { get; set; } + 11040        public Action<IApplicationBuilder> PreWireMockMiddlewareInit { get; set; }  41 - 9842        public Action<IApplicationBuilder> PostWireMockMiddlewareInit { get; set; } + 11042        public Action<IApplicationBuilder> PostWireMockMiddlewareInit { get; set; }  43#endif  44    }  45} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_WireMockNullLogger.htm b/report/coverlet/WireMock.Net_WireMockNullLogger.htm index a73d72858..c97f38643 100644 --- a/report/coverlet/WireMock.Net_WireMockNullLogger.htm +++ b/report/coverlet/WireMock.Net_WireMockNullLogger.htm @@ -52,15 +52,15 @@

 10    {  11        /// <see cref="IWireMockLogger.Debug"/>  12        public void Debug(string formatString, params object[] args) - 4813        { + 5413        {  14            // Log nothing - 4815        } + 5415        }  16  17        /// <see cref="IWireMockLogger.Info"/>  18        public void Info(string formatString, params object[] args) - 10319        { + 11519        {  20            // Log nothing - 10321        } + 11521        }  22  23        /// <see cref="IWireMockLogger.Warn"/>  24        public void Warn(string formatString, params object[] args) @@ -83,7 +83,7 @@

 41} -

+

Methods/Properties

diff --git a/report/coverlet/WireMock.Net_XPathMatcher.htm b/report/coverlet/WireMock.Net_XPathMatcher.htm index fccb871c2..a77e2298e 100644 --- a/report/coverlet/WireMock.Net_XPathMatcher.htm +++ b/report/coverlet/WireMock.Net_XPathMatcher.htm @@ -119,7 +119,7 @@

 77} -

+

Methods/Properties

diff --git a/report/coverlet/combined.js b/report/coverlet/combined.js index a7e4c6e85..99f538be8 100644 --- a/report/coverlet/combined.js +++ b/report/coverlet/combined.js @@ -345,7 +345,7 @@ var assemblies = [ { "name": "WireMock.Admin.Scenarios.ScenarioStateModel", "reportPath": "WireMock.Net_ScenarioStateModel.htm", "coveredLines": 0, "uncoveredLines": 4, "coverableLines": 4, "totalLines": 28, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Admin.Settings.SettingsModel", "reportPath": "WireMock.Net_SettingsModel.htm", "coveredLines": 4, "uncoveredLines": 0, "coverableLines": 4, "totalLines": 28, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Handlers.LocalFileSystemHandler", "reportPath": "WireMock.Net_LocalFileSystemHandler.htm", "coveredLines": 20, "uncoveredLines": 5, "coverableLines": 25, "totalLines": 62, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Http.HttpClientHelper", "reportPath": "WireMock.Net_HttpClientHelper.htm", "coveredLines": 0, "uncoveredLines": 28, "coverableLines": 28, "totalLines": 78, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 10, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Http.HttpClientHelper", "reportPath": "WireMock.Net_HttpClientHelper.htm", "coveredLines": 14, "uncoveredLines": 14, "coverableLines": 28, "totalLines": 78, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 3, "totalBranches": 10, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Http.HttpRequestMessageHelper", "reportPath": "WireMock.Net_HttpRequestMessageHelper.htm", "coveredLines": 50, "uncoveredLines": 5, "coverableLines": 55, "totalLines": 86, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 34, "totalBranches": 36, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.HttpsCertificate.ClientCertificateHelper", "reportPath": "WireMock.Net_ClientCertificateHelper.htm", "coveredLines": 0, "uncoveredLines": 17, "coverableLines": 17, "totalLines": 42, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.HttpsCertificate.PublicCertificateHelper", "reportPath": "WireMock.Net_PublicCertificateHelper.htm", "coveredLines": 0, "uncoveredLines": 4, "coverableLines": 4, "totalLines": 91, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, @@ -366,8 +366,8 @@ var assemblies = [ { "name": "WireMock.Matchers.Request.RequestMessageClientIPMatcher", "reportPath": "WireMock.Net_RequestMessageClientIPMatcher.htm", "coveredLines": 27, "uncoveredLines": 1, "coverableLines": 28, "totalLines": 75, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 6, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Matchers.Request.RequestMessageCompositeMatcher", "reportPath": "WireMock.Net_RequestMessageCompositeMatcher.htm", "coveredLines": 16, "uncoveredLines": 0, "coverableLines": 16, "totalLines": 52, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Matchers.Request.RequestMessageCookieMatcher", "reportPath": "WireMock.Net_RequestMessageCookieMatcher.htm", "coveredLines": 43, "uncoveredLines": 2, "coverableLines": 45, "totalLines": 111, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 9, "totalBranches": 10, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Matchers.Request.RequestMessageHeaderMatcher", "reportPath": "WireMock.Net_RequestMessageHeaderMatcher.htm", "coveredLines": 43, "uncoveredLines": 11, "coverableLines": 54, "totalLines": 131, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 9, "totalBranches": 10, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Matchers.Request.RequestMessageMethodMatcher", "reportPath": "WireMock.Net_RequestMessageMethodMatcher.htm", "coveredLines": 14, "uncoveredLines": 0, "coverableLines": 14, "totalLines": 44, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 2, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Matchers.Request.RequestMessageHeaderMatcher", "reportPath": "WireMock.Net_RequestMessageHeaderMatcher.htm", "coveredLines": 52, "uncoveredLines": 2, "coverableLines": 54, "totalLines": 131, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 9, "totalBranches": 10, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Matchers.Request.RequestMessageMethodMatcher", "reportPath": "WireMock.Net_RequestMessageMethodMatcher.htm", "coveredLines": 14, "uncoveredLines": 0, "coverableLines": 14, "totalLines": 45, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Matchers.Request.RequestMessageParamMatcher", "reportPath": "WireMock.Net_RequestMessageParamMatcher.htm", "coveredLines": 46, "uncoveredLines": 1, "coverableLines": 47, "totalLines": 120, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 17, "totalBranches": 20, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Matchers.Request.RequestMessagePathMatcher", "reportPath": "WireMock.Net_RequestMessagePathMatcher.htm", "coveredLines": 27, "uncoveredLines": 1, "coverableLines": 28, "totalLines": 77, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 6, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher", "reportPath": "WireMock.Net_RequestMessageScenarioAndStateMatcher.htm", "coveredLines": 12, "uncoveredLines": 0, "coverableLines": 12, "totalLines": 46, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 2, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, @@ -379,28 +379,28 @@ var assemblies = [ { "name": "WireMock.Owin.AspNetCoreSelfHost", "reportPath": "WireMock.Net_AspNetCoreSelfHost.htm", "coveredLines": 81, "uncoveredLines": 5, "coverableLines": 86, "totalLines": 148, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 3, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Owin.GlobalExceptionMiddleware", "reportPath": "WireMock.Net_GlobalExceptionMiddleware.htm", "coveredLines": 12, "uncoveredLines": 5, "coverableLines": 17, "totalLines": 56, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 7, "totalBranches": 12, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Owin.OwinRequestMapper", "reportPath": "WireMock.Net_OwinRequestMapper.htm", "coveredLines": 28, "uncoveredLines": 7, "coverableLines": 35, "totalLines": 90, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 10, "totalBranches": 16, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Owin.OwinResponseMapper", "reportPath": "WireMock.Net_OwinResponseMapper.htm", "coveredLines": 42, "uncoveredLines": 5, "coverableLines": 47, "totalLines": 114, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 21, "totalBranches": 26, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Owin.OwinResponseMapper", "reportPath": "WireMock.Net_OwinResponseMapper.htm", "coveredLines": 42, "uncoveredLines": 5, "coverableLines": 47, "totalLines": 114, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 23, "totalBranches": 28, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Owin.WireMockMiddleware", "reportPath": "WireMock.Net_WireMockMiddleware.htm", "coveredLines": 90, "uncoveredLines": 34, "coverableLines": 124, "totalLines": 194, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 62, "totalBranches": 96, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Owin.WireMockMiddlewareOptions", "reportPath": "WireMock.Net_WireMockMiddlewareOptions.htm", "coveredLines": 11, "uncoveredLines": 0, "coverableLines": 11, "totalLines": 45, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.RequestBuilders.Request", "reportPath": "WireMock.Net_Request.htm", "coveredLines": 159, "uncoveredLines": 55, "coverableLines": 214, "totalLines": 418, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 7, "totalBranches": 8, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.RequestBuilders.Request", "reportPath": "WireMock.Net_Request.htm", "coveredLines": 208, "uncoveredLines": 6, "coverableLines": 214, "totalLines": 418, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 8, "totalBranches": 8, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.RequestMessage", "reportPath": "WireMock.Net_RequestMessage.htm", "coveredLines": 81, "uncoveredLines": 0, "coverableLines": 81, "totalLines": 212, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 23, "totalBranches": 24, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ResponseBuilders.Response", "reportPath": "WireMock.Net_Response.htm", "coveredLines": 152, "uncoveredLines": 31, "coverableLines": 183, "totalLines": 397, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 37, "totalBranches": 44, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ResponseMessage", "reportPath": "WireMock.Net_ResponseMessage.htm", "coveredLines": 18, "uncoveredLines": 3, "coverableLines": 21, "totalLines": 95, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 1, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ResponseMessageBuilder", "reportPath": "WireMock.Net_ResponseMessageBuilder.htm", "coveredLines": 11, "uncoveredLines": 0, "coverableLines": 11, "totalLines": 26, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 1, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ResponseProviders.DynamicAsyncResponseProvider", "reportPath": "WireMock.Net_DynamicAsyncResponseProvider.htm", "coveredLines": 0, "uncoveredLines": 8, "coverableLines": 8, "totalLines": 24, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ResponseProviders.DynamicResponseProvider", "reportPath": "WireMock.Net_DynamicResponseProvider.htm", "coveredLines": 8, "uncoveredLines": 0, "coverableLines": 8, "totalLines": 24, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.ResponseProviders.ProxyAsyncResponseProvider", "reportPath": "WireMock.Net_ProxyAsyncResponseProvider.htm", "coveredLines": 0, "uncoveredLines": 10, "coverableLines": 10, "totalLines": 28, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.ResponseProviders.ProxyAsyncResponseProvider", "reportPath": "WireMock.Net_ProxyAsyncResponseProvider.htm", "coveredLines": 7, "uncoveredLines": 3, "coverableLines": 10, "totalLines": 28, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.ScenarioState", "reportPath": "WireMock.Net_ScenarioState.htm", "coveredLines": 4, "uncoveredLines": 0, "coverableLines": 4, "totalLines": 28, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Serialization.LogEntryMapper", "reportPath": "WireMock.Net_LogEntryMapper.htm", "coveredLines": 60, "uncoveredLines": 0, "coverableLines": 60, "totalLines": 72, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 8, "totalBranches": 8, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Serialization.MappingConverter", "reportPath": "WireMock.Net_MappingConverter.htm", "coveredLines": 87, "uncoveredLines": 29, "coverableLines": 116, "totalLines": 142, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 34, "totalBranches": 70, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Serialization.MatcherMapper", "reportPath": "WireMock.Net_MatcherMapper.htm", "coveredLines": 43, "uncoveredLines": 3, "coverableLines": 46, "totalLines": 96, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 59, "totalBranches": 68, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Server.FluentMockServer", "reportPath": "WireMock.Net_FluentMockServer.htm", "coveredLines": 375, "uncoveredLines": 352, "coverableLines": 727, "totalLines": 1307, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 135, "totalBranches": 240, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Serialization.MatcherMapper", "reportPath": "WireMock.Net_MatcherMapper.htm", "coveredLines": 43, "uncoveredLines": 3, "coverableLines": 46, "totalLines": 96, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 63, "totalBranches": 74, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Server.FluentMockServer", "reportPath": "WireMock.Net_FluentMockServer.htm", "coveredLines": 399, "uncoveredLines": 333, "coverableLines": 732, "totalLines": 1311, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 151, "totalBranches": 260, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Server.RespondWithAProvider", "reportPath": "WireMock.Net_RespondWithAProvider.htm", "coveredLines": 42, "uncoveredLines": 4, "coverableLines": 46, "totalLines": 115, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 2, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Settings.FluentMockServerSettings", "reportPath": "WireMock.Net_FluentMockServerSettings.htm", "coveredLines": 17, "uncoveredLines": 0, "coverableLines": 17, "totalLines": 87, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Settings.ProxyAndRecordSettings", "reportPath": "WireMock.Net_ProxyAndRecordSettings.htm", "coveredLines": 0, "uncoveredLines": 5, "coverableLines": 5, "totalLines": 30, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Settings.ProxyAndRecordSettings", "reportPath": "WireMock.Net_ProxyAndRecordSettings.htm", "coveredLines": 5, "uncoveredLines": 0, "coverableLines": 5, "totalLines": 30, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Transformers.HandlebarsHelpers", "reportPath": "WireMock.Net_HandlebarsHelpers.htm", "coveredLines": 5, "uncoveredLines": 0, "coverableLines": 5, "totalLines": 14, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Transformers.HandleBarsJsonPath", "reportPath": "WireMock.Net_HandleBarsJsonPath.htm", "coveredLines": 46, "uncoveredLines": 1, "coverableLines": 47, "totalLines": 75, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 10, "totalBranches": 14, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Transformers.HandleBarsLinq", "reportPath": "WireMock.Net_HandleBarsLinq.htm", "coveredLines": 50, "uncoveredLines": 0, "coverableLines": 50, "totalLines": 88, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 13, "totalBranches": 14, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Transformers.HandleBarsJsonPath", "reportPath": "WireMock.Net_HandleBarsJsonPath.htm", "coveredLines": 44, "uncoveredLines": 1, "coverableLines": 45, "totalLines": 73, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 10, "totalBranches": 14, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Transformers.HandleBarsLinq", "reportPath": "WireMock.Net_HandleBarsLinq.htm", "coveredLines": 48, "uncoveredLines": 0, "coverableLines": 48, "totalLines": 86, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 13, "totalBranches": 14, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Transformers.HandleBarsRegex", "reportPath": "WireMock.Net_HandleBarsRegex.htm", "coveredLines": 43, "uncoveredLines": 0, "coverableLines": 43, "totalLines": 66, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 11, "totalBranches": 12, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Transformers.ResponseMessageTransformer", "reportPath": "WireMock.Net_ResponseMessageTransformer.htm", "coveredLines": 78, "uncoveredLines": 4, "coverableLines": 82, "totalLines": 135, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 26, "totalBranches": 28, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Util.BodyData", "reportPath": "WireMock.Net_BodyData.htm", "coveredLines": 4, "uncoveredLines": 0, "coverableLines": 4, "totalLines": 30, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, @@ -410,10 +410,10 @@ var assemblies = [ { "name": "WireMock.Util.EnhancedFileSystemWatcher", "reportPath": "WireMock.Net_EnhancedFileSystemWatcher.htm", "coveredLines": 0, "uncoveredLines": 87, "coverableLines": 87, "totalLines": 254, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 26, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Util.FileHelper", "reportPath": "WireMock.Net_FileHelper.htm", "coveredLines": 14, "uncoveredLines": 0, "coverableLines": 14, "totalLines": 34, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 2, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Util.JsonUtils", "reportPath": "WireMock.Net_JsonUtils.htm", "coveredLines": 84, "uncoveredLines": 0, "coverableLines": 84, "totalLines": 147, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 33, "totalBranches": 33, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Util.PortUtils", "reportPath": "WireMock.Net_PortUtils.htm", "coveredLines": 20, "uncoveredLines": 1, "coverableLines": 21, "totalLines": 53, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 3, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Util.PortUtils", "reportPath": "WireMock.Net_PortUtils.htm", "coveredLines": 23, "uncoveredLines": 0, "coverableLines": 23, "totalLines": 55, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, + { "name": "WireMock.Util.RegexUtils", "reportPath": "WireMock.Net_RegexUtils.htm", "coveredLines": 12, "uncoveredLines": 0, "coverableLines": 12, "totalLines": 24, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Util.UrlUtils", "reportPath": "WireMock.Net_UrlUtils.htm", "coveredLines": 15, "uncoveredLines": 0, "coverableLines": 15, "totalLines": 38, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Util.WireMockList`1", "reportPath": "WireMock.Net_WireMockList_1.htm", "coveredLines": 9, "uncoveredLines": 3, "coverableLines": 12, "totalLines": 44, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 1, "totalBranches": 2, "lineCoverageHistory": [], "branchCoverageHistory": [] }, - { "name": "WireMock.Utils.RegexUtils", "reportPath": "WireMock.Net_RegexUtils.htm", "coveredLines": 12, "uncoveredLines": 0, "coverableLines": 12, "totalLines": 24, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 4, "totalBranches": 4, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Validation.Check", "reportPath": "WireMock.Net_Check.htm", "coveredLines": 39, "uncoveredLines": 32, "coverableLines": 71, "totalLines": 139, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 13, "totalBranches": 24, "lineCoverageHistory": [], "branchCoverageHistory": [] }, { "name": "WireMock.Validation.CoreStrings", "reportPath": "WireMock.Net_CoreStrings.htm", "coveredLines": 0, "uncoveredLines": 12, "coverableLines": 12, "totalLines": 41, "coverageType": "LineCoverage", "methodCoverage": "-", "coveredBranches": 0, "totalBranches": 0, "lineCoverageHistory": [], "branchCoverageHistory": [] }, ]}, diff --git a/report/coverlet/index.htm b/report/coverlet/index.htm index 93f65f5d8..ce4334b73 100644 --- a/report/coverlet/index.htm +++ b/report/coverlet/index.htm @@ -14,17 +14,17 @@

Summary

-Generated on:2018-09-13 - 10:10:03 +Generated on:2018-09-21 - 14:00:17 Parser:OpenCoverParser Assemblies:2 Classes:93 Files:95 -Covered lines:2632 -Uncovered lines:988 -Coverable lines:3620 -Total lines:8545 -Line coverage:72.7% -Branch coverage:66.4% +Covered lines:2739 +Uncovered lines:884 +Coverable lines:3623 +Total lines:8548 +Line coverage:75.6% +Branch coverage:67.1%

Coverage

@@ -46,7 +46,7 @@

Coverage

NameCoveredUncoveredCoverableTotalLine coverageBranch coverage -WireMock.Net26328863518837274.8%
  
67.8%
  
+WireMock.Net27397823521837577.7%
  
68.5%
  
WireMock.Admin.Mappings.BodyModel10113100%
 
 
WireMock.Admin.Mappings.ClientIPModel011130%
 
 
WireMock.Admin.Mappings.CookieModel022200%
 
 
@@ -67,7 +67,7 @@

Coverage

WireMock.Admin.Scenarios.ScenarioStateModel044280%
 
 
WireMock.Admin.Settings.SettingsModel40428100%
 
 
WireMock.Handlers.LocalFileSystemHandler205256280%
  
 
-WireMock.Http.HttpClientHelper02828780%
 
0%
 
+WireMock.Http.HttpClientHelper1414287850%
  
30%
  
WireMock.Http.HttpRequestMessageHelper505558690.9%
  
94.4%
  
WireMock.HttpsCertificate.ClientCertificateHelper01717420%
 
0%
 
WireMock.HttpsCertificate.PublicCertificateHelper044910%
 
 
@@ -88,8 +88,8 @@

Coverage

WireMock.Matchers.Request.RequestMessageClientIPMatcher271287596.4%
  
66.6%
  
WireMock.Matchers.Request.RequestMessageCompositeMatcher1601652100%
 
100%
 
WireMock.Matchers.Request.RequestMessageCookieMatcher4324511195.5%
  
90%
  
-WireMock.Matchers.Request.RequestMessageHeaderMatcher43115413179.6%
  
90%
  
-WireMock.Matchers.Request.RequestMessageMethodMatcher1401444100%
 
100%
 
+WireMock.Matchers.Request.RequestMessageHeaderMatcher5225413196.2%
  
90%
  
+WireMock.Matchers.Request.RequestMessageMethodMatcher1401445100%
 
 
WireMock.Matchers.Request.RequestMessageParamMatcher4614712097.8%
  
85%
  
WireMock.Matchers.Request.RequestMessagePathMatcher271287796.4%
  
66.6%
  
WireMock.Matchers.Request.RequestMessageScenarioAndStateMatcher1201246100%
 
100%
 
@@ -101,28 +101,28 @@

Coverage

WireMock.Owin.AspNetCoreSelfHost8158614894.1%
  
75%
  
WireMock.Owin.GlobalExceptionMiddleware125175670.5%
  
58.3%
  
WireMock.Owin.OwinRequestMapper287359080%
  
62.5%
  
-WireMock.Owin.OwinResponseMapper4254711489.3%
  
80.7%
  
+WireMock.Owin.OwinResponseMapper4254711489.3%
  
82.1%
  
WireMock.Owin.WireMockMiddleware903412419472.5%
  
64.5%
  
WireMock.Owin.WireMockMiddlewareOptions1101145100%
 
 
-WireMock.RequestBuilders.Request1595521441874.2%
  
87.5%
  
+WireMock.RequestBuilders.Request208621441897.1%
  
100%
 
WireMock.RequestMessage81081212100%
 
95.8%
  
WireMock.ResponseBuilders.Response1523118339783%
  
84%
  
WireMock.ResponseMessage183219585.7%
  
50%
  
WireMock.ResponseMessageBuilder1101126100%
 
50%
  
WireMock.ResponseProviders.DynamicAsyncResponseProvider088240%
 
 
WireMock.ResponseProviders.DynamicResponseProvider80824100%
 
 
-WireMock.ResponseProviders.ProxyAsyncResponseProvider01010280%
 
 
+WireMock.ResponseProviders.ProxyAsyncResponseProvider73102870%
  
 
WireMock.ScenarioState40428100%
 
 
WireMock.Serialization.LogEntryMapper6006072100%
 
100%
 
WireMock.Serialization.MappingConverter872911614275%
  
48.5%
  
-WireMock.Serialization.MatcherMapper433469693.4%
  
86.7%
  
-WireMock.Server.FluentMockServer375352727130751.5%
  
56.2%
  
+WireMock.Serialization.MatcherMapper433469693.4%
  
85.1%
  
+WireMock.Server.FluentMockServer399333732131154.5%
  
58%
  
WireMock.Server.RespondWithAProvider4244611591.3%
  
50%
  
WireMock.Settings.FluentMockServerSettings1701787100%
 
 
-WireMock.Settings.ProxyAndRecordSettings055300%
 
 
+WireMock.Settings.ProxyAndRecordSettings50530100%
 
 
WireMock.Transformers.HandlebarsHelpers50514100%
 
 
-WireMock.Transformers.HandleBarsJsonPath461477597.8%
  
71.4%
  
-WireMock.Transformers.HandleBarsLinq5005088100%
 
92.8%
  
+WireMock.Transformers.HandleBarsJsonPath441457397.7%
  
71.4%
  
+WireMock.Transformers.HandleBarsLinq4804886100%
 
92.8%
  
WireMock.Transformers.HandleBarsRegex4304366100%
 
91.6%
  
WireMock.Transformers.ResponseMessageTransformer7848213595.1%
  
92.8%
  
WireMock.Util.BodyData40430100%
 
 
@@ -132,10 +132,10 @@

Coverage

WireMock.Util.EnhancedFileSystemWatcher087872540%
 
0%
 
WireMock.Util.FileHelper1401434100%
 
100%
 
WireMock.Util.JsonUtils84084147100%
 
100%
 
-WireMock.Util.PortUtils201215395.2%
  
75%
  
+WireMock.Util.PortUtils2302355100%
 
100%
 
+WireMock.Util.RegexUtils1201224100%
 
100%
 
WireMock.Util.UrlUtils1501538100%
 
100%
 
WireMock.Util.WireMockList`193124475%
  
50%
  
-WireMock.Utils.RegexUtils1201224100%
 
100%
 
WireMock.Validation.Check39327113954.9%
  
54.1%
  
WireMock.Validation.CoreStrings01212410%
 
 
WireMock.Net.StandAlone01021021730%
 
0%
 
@@ -143,6 +143,6 @@

Coverage

WireMock.Net.StandAlone.StandAloneApp04848900%
 
0%
 
-
+ \ No newline at end of file diff --git a/report/run-coverlet-local.cmd b/report/run-coverlet-local.cmd index 2016c5e27..62a564fb8 100644 --- a/report/run-coverlet-local.cmd +++ b/report/run-coverlet-local.cmd @@ -1,4 +1,4 @@ -dotnet test ..\test\WireMock.Net.Tests\WireMock.Net.Tests.csproj -c Debug -f netcoreapp2.1 /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput="../../report/" +dotnet test ..\test\WireMock.Net.Tests\WireMock.Net.Tests.csproj -c Debug -f netcoreapp2.1 /p:CollectCoverage=true /p:CoverletOutputFormat=\"opencover,lcov\" /p:CoverletOutput="../../report/" %USERPROFILE%\.nuget\packages\ReportGenerator\3.1.2\tools\ReportGenerator.exe -reports:"coverage.opencover.xml" -targetdir:"coverlet" diff --git a/src/WireMock.Net/Matchers/Request/RequestMessageMethodMatcher.cs b/src/WireMock.Net/Matchers/Request/RequestMessageMethodMatcher.cs index 59fec1d4b..3ea3ff3d7 100644 --- a/src/WireMock.Net/Matchers/Request/RequestMessageMethodMatcher.cs +++ b/src/WireMock.Net/Matchers/Request/RequestMessageMethodMatcher.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using JetBrains.Annotations; using WireMock.Validation; @@ -26,7 +27,7 @@ public RequestMessageMethodMatcher(MatchBehaviour matchBehaviour, [NotNull] para Check.NotNull(methods, nameof(methods)); _matchBehaviour = matchBehaviour; - Methods = methods.Select(v => v.ToLower()).ToArray(); + Methods = methods; } /// @@ -38,7 +39,7 @@ public double GetMatchingScore(RequestMessage requestMessage, RequestMatchResult private double IsMatch(RequestMessage requestMessage) { - return MatchScores.ToScore(Methods.Contains(requestMessage.Method)); + return MatchScores.ToScore(Methods.Contains(requestMessage.Method, StringComparer.OrdinalIgnoreCase)); } } } \ No newline at end of file diff --git a/src/WireMock.Net/Owin/AspNetCoreSelfHost.cs b/src/WireMock.Net/Owin/AspNetCoreSelfHost.cs index ff3eb8e02..8e69624a9 100644 --- a/src/WireMock.Net/Owin/AspNetCoreSelfHost.cs +++ b/src/WireMock.Net/Owin/AspNetCoreSelfHost.cs @@ -43,7 +43,7 @@ public AspNetCoreSelfHost([NotNull] WireMockMiddlewareOptions options, [NotNull] { Urls.Add(uriPrefix); - PortUtils.TryExtractProtocolAndPort(uriPrefix, out string host, out int port); + PortUtils.TryExtract(uriPrefix, out string protocol, out string host, out int port); Ports.Add(port); } @@ -75,13 +75,13 @@ public Task StartAsync() // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x foreach (string url in _urls.Where(u => u.StartsWith("http://", StringComparison.OrdinalIgnoreCase))) { - PortUtils.TryExtractProtocolAndPort(url, out string host, out int port); + PortUtils.TryExtract(url, out string protocol, out string host, out int port); options.Listen(System.Net.IPAddress.Any, port); } foreach (string url in _urls.Where(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase))) { - PortUtils.TryExtractProtocolAndPort(url, out string host, out int port); + PortUtils.TryExtract(url, out string protocol, out string host, out int port); options.Listen(System.Net.IPAddress.Any, port, listenOptions => { listenOptions.UseHttps(PublicCertificateHelper.GetX509Certificate2()); diff --git a/src/WireMock.Net/Owin/OwinSelfHost.cs b/src/WireMock.Net/Owin/OwinSelfHost.cs index 8710926b3..26a2a61b2 100644 --- a/src/WireMock.Net/Owin/OwinSelfHost.cs +++ b/src/WireMock.Net/Owin/OwinSelfHost.cs @@ -31,7 +31,7 @@ public OwinSelfHost([NotNull] WireMockMiddlewareOptions options, [NotNull] param { Urls.Add(uriPrefix); - PortUtils.TryExtractProtocolAndPort(uriPrefix, out string host, out int port); + PortUtils.TryExtract(uriPrefix, out string protocol, out string host, out int port); Ports.Add(port); } diff --git a/src/WireMock.Net/RequestBuilders/IMethodRequestBuilder.cs b/src/WireMock.Net/RequestBuilders/IMethodRequestBuilder.cs index 93d90d246..88ffa710e 100644 --- a/src/WireMock.Net/RequestBuilders/IMethodRequestBuilder.cs +++ b/src/WireMock.Net/RequestBuilders/IMethodRequestBuilder.cs @@ -10,42 +10,42 @@ namespace WireMock.RequestBuilders public interface IMethodRequestBuilder : IHeadersAndCookiesRequestBuilder { /// - /// UsingDelete: add HTTP Method matching on `delete` and matchBehaviour (optional). + /// UsingDelete: add HTTP Method matching on `DELETE` and matchBehaviour (optional). /// /// The match behaviour. /// The . IRequestBuilder UsingDelete(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch); /// - /// UsingGet: add HTTP Method matching on `get` and matchBehaviour (optional). + /// UsingGet: add HTTP Method matching on `GET` and matchBehaviour (optional). /// /// The match behaviour. /// The . IRequestBuilder UsingGet(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch); /// - /// Add HTTP Method matching on `head` and matchBehaviour (optional). + /// Add HTTP Method matching on `HEAD` and matchBehaviour (optional). /// /// The match behaviour. /// The . IRequestBuilder UsingHead(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch); /// - /// UsingPost: add HTTP Method matching on `post` and matchBehaviour (optional). + /// UsingPost: add HTTP Method matching on `POST` and matchBehaviour (optional). /// /// The match behaviour. /// The . IRequestBuilder UsingPost(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch); /// - /// UsingPatch: add HTTP Method matching on `patch` and matchBehaviour (optional). + /// UsingPatch: add HTTP Method matching on `PATCH` and matchBehaviour (optional). /// /// The match behaviour. /// The . IRequestBuilder UsingPatch(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch); /// - /// UsingPut: add HTTP Method matching on `put` and matchBehaviour (optional). + /// UsingPut: add HTTP Method matching on `PUT` and matchBehaviour (optional). /// /// The match behaviour. /// The . @@ -68,21 +68,21 @@ public interface IMethodRequestBuilder : IHeadersAndCookiesRequestBuilder /// UsingMethod: add HTTP Method matching on any methods and matchBehaviour. ///

/// The match behaviour. - /// The methods. + /// The method or methods. /// The . IRequestBuilder UsingMethod(MatchBehaviour matchBehaviour, [NotNull] params string[] methods); /// /// UsingMethod: add HTTP Method matching on any methods. /// - /// The methods. + /// The method or methods. /// The . IRequestBuilder UsingMethod([NotNull] params string[] methods); /// /// UsingVerb: add HTTP Method matching on any methods. /// - /// The methods. + /// The method or methods. /// The . [Obsolete("Use the method UsingMethod(...).")] IRequestBuilder UsingVerb([NotNull] params string[] verbs); diff --git a/src/WireMock.Net/RequestBuilders/Request.cs b/src/WireMock.Net/RequestBuilders/Request.cs index 787c2179a..cd32f1217 100644 --- a/src/WireMock.Net/RequestBuilders/Request.cs +++ b/src/WireMock.Net/RequestBuilders/Request.cs @@ -156,42 +156,42 @@ public IRequestBuilder WithUrl(params Func[] funcs) /// public IRequestBuilder UsingDelete(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "delete")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "DELETE")); return this; } /// public IRequestBuilder UsingGet(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "get")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "GET")); return this; } /// public IRequestBuilder UsingHead(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "head")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "HEAD")); return this; } /// public IRequestBuilder UsingPost(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "post")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "POST")); return this; } /// public IRequestBuilder UsingPatch(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "patch")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "PATCH")); return this; } /// public IRequestBuilder UsingPut(MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch) { - _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "put")); + _requestMatchers.Add(new RequestMessageMethodMatcher(matchBehaviour, "PUT")); return this; } diff --git a/src/WireMock.Net/RequestMessage.cs b/src/WireMock.Net/RequestMessage.cs index f60f520fb..8b36290db 100644 --- a/src/WireMock.Net/RequestMessage.cs +++ b/src/WireMock.Net/RequestMessage.cs @@ -147,7 +147,7 @@ public RequestMessage([NotNull] UrlDetails urlDetails, [NotNull] string method, PathSegments = Path.Split('/').Skip(1).ToArray(); AbsolutePathSegments = AbsolutePath.Split('/').Skip(1).ToArray(); - Method = method.ToLower(); + Method = method; ClientIP = clientIP; Body = body?.BodyAsString; diff --git a/src/WireMock.Net/Server/FluentMockServer.Admin.cs b/src/WireMock.Net/Server/FluentMockServer.Admin.cs index c987878c0..7133e84f6 100644 --- a/src/WireMock.Net/Server/FluentMockServer.Admin.cs +++ b/src/WireMock.Net/Server/FluentMockServer.Admin.cs @@ -30,8 +30,10 @@ namespace WireMock.Server ///
public partial class FluentMockServer { + private const int EnhancedFileSystemWatcherTimeoutMs = 1000; + private const int AdminPriority = int.MinValue; + private const int ProxyPriority = 1000; private const string ContentTypeJson = "application/json"; - private const string AdminMappings = "/__admin/mappings"; private const string AdminRequests = "/__admin/requests"; private const string AdminSettings = "/__admin/settings"; @@ -56,48 +58,45 @@ public partial class FluentMockServer private void InitAdmin() { // __admin/settings - Given(Request.Create().WithPath(AdminSettings).UsingGet()).RespondWith(new DynamicResponseProvider(SettingsGet)); - Given(Request.Create().WithPath(AdminSettings).UsingMethod("PUT", "POST").WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).RespondWith(new DynamicResponseProvider(SettingsUpdate)); - + Given(Request.Create().WithPath(AdminSettings).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(SettingsGet)); + Given(Request.Create().WithPath(AdminSettings).UsingMethod("PUT", "POST").WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(SettingsUpdate)); // __admin/mappings - Given(Request.Create().WithPath(AdminMappings).UsingGet()).RespondWith(new DynamicResponseProvider(MappingsGet)); - Given(Request.Create().WithPath(AdminMappings).UsingPost().WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).RespondWith(new DynamicResponseProvider(MappingsPost)); - Given(Request.Create().WithPath(AdminMappings).UsingDelete()).RespondWith(new DynamicResponseProvider(MappingsDelete)); + Given(Request.Create().WithPath(AdminMappings).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingsGet)); + Given(Request.Create().WithPath(AdminMappings).UsingPost().WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingsPost)); + Given(Request.Create().WithPath(AdminMappings).UsingDelete()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingsDelete)); // __admin/mappings/reset - Given(Request.Create().WithPath(AdminMappings + "/reset").UsingPost()).RespondWith(new DynamicResponseProvider(MappingsDelete)); + Given(Request.Create().WithPath(AdminMappings + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingsDelete)); // __admin/mappings/{guid} - Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingGet()).RespondWith(new DynamicResponseProvider(MappingGet)); - Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingPut().WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).RespondWith(new DynamicResponseProvider(MappingPut)); - Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingDelete()).RespondWith(new DynamicResponseProvider(MappingDelete)); + Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingGet)); + Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingPut().WithHeader(HttpKnownHeaderNames.ContentType, ContentTypeJson)).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingPut)); + Given(Request.Create().WithPath(_adminMappingsGuidPathMatcher).UsingDelete()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingDelete)); // __admin/mappings/save - Given(Request.Create().WithPath(AdminMappings + "/save").UsingPost()).RespondWith(new DynamicResponseProvider(MappingsSave)); - + Given(Request.Create().WithPath(AdminMappings + "/save").UsingPost()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(MappingsSave)); // __admin/requests - Given(Request.Create().WithPath(AdminRequests).UsingGet()).RespondWith(new DynamicResponseProvider(RequestsGet)); - Given(Request.Create().WithPath(AdminRequests).UsingDelete()).RespondWith(new DynamicResponseProvider(RequestsDelete)); + Given(Request.Create().WithPath(AdminRequests).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestsGet)); + Given(Request.Create().WithPath(AdminRequests).UsingDelete()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestsDelete)); // __admin/requests/reset - Given(Request.Create().WithPath(AdminRequests + "/reset").UsingPost()).RespondWith(new DynamicResponseProvider(RequestsDelete)); + Given(Request.Create().WithPath(AdminRequests + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestsDelete)); // __admin/request/{guid} - Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingGet()).RespondWith(new DynamicResponseProvider(RequestGet)); - Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingDelete()).RespondWith(new DynamicResponseProvider(RequestDelete)); + Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestGet)); + Given(Request.Create().WithPath(_adminRequestsGuidPathMatcher).UsingDelete()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestDelete)); // __admin/requests/find - Given(Request.Create().WithPath(AdminRequests + "/find").UsingPost()).RespondWith(new DynamicResponseProvider(RequestsFind)); - + Given(Request.Create().WithPath(AdminRequests + "/find").UsingPost()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(RequestsFind)); // __admin/scenarios - Given(Request.Create().WithPath(AdminScenarios).UsingGet()).RespondWith(new DynamicResponseProvider(ScenariosGet)); - Given(Request.Create().WithPath(AdminScenarios).UsingDelete()).RespondWith(new DynamicResponseProvider(ScenariosReset)); + Given(Request.Create().WithPath(AdminScenarios).UsingGet()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(ScenariosGet)); + Given(Request.Create().WithPath(AdminScenarios).UsingDelete()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(ScenariosReset)); // __admin/scenarios/reset - Given(Request.Create().WithPath(AdminScenarios + "/reset").UsingPost()).RespondWith(new DynamicResponseProvider(ScenariosReset)); + Given(Request.Create().WithPath(AdminScenarios + "/reset").UsingPost()).AtPriority(AdminPriority).RespondWith(new DynamicResponseProvider(ScenariosReset)); } #endregion @@ -167,7 +166,7 @@ public void WatchStaticMappings([CanBeNull] string folder = null) _logger.Info("Watching folder '{0}' for new, updated and deleted MappingFiles.", folder); - var watcher = new EnhancedFileSystemWatcher(folder, "*.json", 1000); + var watcher = new EnhancedFileSystemWatcher(folder, "*.json", EnhancedFileSystemWatcherTimeoutMs); watcher.Created += (sender, args) => { _logger.Info("New MappingFile created : '{0}'", args.FullPath); @@ -222,10 +221,17 @@ public void ReadStaticMappingAndAddOrUpdate([NotNull] string path) #region Proxy and Record private HttpClient _httpClientForProxy; - private void InitProxyAndRecord(IProxyAndRecordSettings settings) + private void InitProxyAndRecord(IFluentMockServerSettings settings) { - _httpClientForProxy = HttpClientHelper.CreateHttpClient(settings.ClientX509Certificate2ThumbprintOrSubjectName); - Given(Request.Create().WithPath("/*").UsingAnyMethod()).RespondWith(new ProxyAsyncResponseProvider(ProxyAndRecordAsync, settings)); + _httpClientForProxy = HttpClientHelper.CreateHttpClient(settings.ProxyAndRecordSettings.ClientX509Certificate2ThumbprintOrSubjectName); + + var respondProvider = Given(Request.Create().WithPath("/*").UsingAnyMethod()); + if (settings.StartAdminInterface == true) + { + respondProvider.AtPriority(ProxyPriority); + } + + respondProvider.RespondWith(new ProxyAsyncResponseProvider(ProxyAndRecordAsync, settings.ProxyAndRecordSettings)); } private async Task ProxyAndRecordAsync(RequestMessage requestMessage, IProxyAndRecordSettings settings) diff --git a/src/WireMock.Net/Server/FluentMockServer.cs b/src/WireMock.Net/Server/FluentMockServer.cs index 146c8da70..2010037e8 100644 --- a/src/WireMock.Net/Server/FluentMockServer.cs +++ b/src/WireMock.Net/Server/FluentMockServer.cs @@ -5,10 +5,8 @@ using System.Linq; using System.Text; using System.Threading; -using System.Threading.Tasks; using Newtonsoft.Json; using WireMock.Handlers; -using WireMock.Http; using WireMock.Logging; using WireMock.Matchers; using WireMock.Matchers.Request; @@ -264,7 +262,7 @@ private FluentMockServer(IFluentMockServerSettings settings) if (settings.ProxyAndRecordSettings != null) { - InitProxyAndRecord(settings.ProxyAndRecordSettings); + InitProxyAndRecord(settings); } if (settings.MaxRequestLogCount != null) diff --git a/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs b/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs index b83a20b4d..0ba42401d 100644 --- a/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs +++ b/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs @@ -22,8 +22,7 @@ public static void Register() } catch (JsonException) { - // Ignore JsonException and return - return; + // Ignore JsonException } }); @@ -41,8 +40,7 @@ public static void Register() } catch (JsonException) { - // Ignore JsonException and return - return; + // Ignore JsonException } }); } @@ -69,7 +67,7 @@ private static (JObject valueToProcess, string jsonpath) ParseArguments(object[] throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' cannot be used in Handlebars JsonPath."); } - return (valueToProcess, arguments[1] as string); + return (valueToProcess, (string) arguments[1]); } } } \ No newline at end of file diff --git a/src/WireMock.Net/Transformers/HandleBarsLinq.cs b/src/WireMock.Net/Transformers/HandleBarsLinq.cs index 305cdb5df..b11f56d64 100644 --- a/src/WireMock.Net/Transformers/HandleBarsLinq.cs +++ b/src/WireMock.Net/Transformers/HandleBarsLinq.cs @@ -24,8 +24,7 @@ public static void Register() } catch (ParseException) { - // Ignore ParseException and return - return; + // Ignore ParseException } }); @@ -40,8 +39,7 @@ public static void Register() } catch (ParseException) { - // Ignore ParseException and return - return; + // Ignore ParseException } }); } @@ -82,7 +80,7 @@ private static (JToken valueToProcess, string linqStatement) ParseArguments(obje throw new NotSupportedException($"The value '{arguments[0]}' with type '{arguments[0]?.GetType()}' cannot be used in Handlebars Linq."); } - return (valueToProcess, arguments[1] as string); + return (valueToProcess, (string) arguments[1]); } } } \ No newline at end of file diff --git a/src/WireMock.Net/Transformers/HandleBarsRegex.cs b/src/WireMock.Net/Transformers/HandleBarsRegex.cs index 3351e14d0..05f9300d1 100644 --- a/src/WireMock.Net/Transformers/HandleBarsRegex.cs +++ b/src/WireMock.Net/Transformers/HandleBarsRegex.cs @@ -2,7 +2,7 @@ using System.Linq; using System.Text.RegularExpressions; using HandlebarsDotNet; -using WireMock.Utils; +using WireMock.Util; using WireMock.Validation; namespace WireMock.Transformers @@ -52,7 +52,7 @@ string ParseAsString(object arg) { if (arg is string) { - return arg as string; + return (string) arg; } else { diff --git a/src/WireMock.Net/Util/PortUtils.cs b/src/WireMock.Net/Util/PortUtils.cs index 65861313c..83ffe39f6 100644 --- a/src/WireMock.Net/Util/PortUtils.cs +++ b/src/WireMock.Net/Util/PortUtils.cs @@ -9,7 +9,7 @@ namespace WireMock.Util ///
public static class PortUtils { - private static readonly Regex UrlDetailsRegex = new Regex(@"^(?\w+)://[^/]+?(?\d+)/?", RegexOptions.Compiled); + private static readonly Regex UrlDetailsRegex = new Regex(@"^((?\w+)://)(?[^/]+?):(?\d+)\/?$", RegexOptions.Compiled); /// /// Finds a free TCP port. @@ -32,17 +32,19 @@ public static int FindFreeTcpPort() } /// - /// Extract a proto and port from a URL. + /// Extract the protocol, host and port from a URL. /// - public static bool TryExtractProtocolAndPort(string url, out string proto, out int port) + public static bool TryExtract(string url, out string protocol, out string host, out int port) { - proto = null; - port = 0; + protocol = null; + host = null; + port = default(int); Match m = UrlDetailsRegex.Match(url); if (m.Success) { - proto = m.Groups["proto"].Value; + protocol = m.Groups["proto"].Value; + host = m.Groups["host"].Value; return int.TryParse(m.Groups["port"].Value, out port); } diff --git a/src/WireMock.Net/Util/RegexUtils.cs b/src/WireMock.Net/Util/RegexUtils.cs index 1d567238c..bbd12fe8d 100644 --- a/src/WireMock.Net/Util/RegexUtils.cs +++ b/src/WireMock.Net/Util/RegexUtils.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Text.RegularExpressions; -namespace WireMock.Utils +namespace WireMock.Util { internal static class RegexUtils { diff --git a/test/WireMock.Net.Tests/FluentMockServerAdminRestClientTests.cs b/test/WireMock.Net.Tests/FluentMockServerAdminRestClientTests.cs index 6e09cc6a2..490aecc14 100644 --- a/test/WireMock.Net.Tests/FluentMockServerAdminRestClientTests.cs +++ b/test/WireMock.Net.Tests/FluentMockServerAdminRestClientTests.cs @@ -104,12 +104,12 @@ public async Task IFluentMockServerAdmin_FindRequestsAsync() var api = RestClient.For(serverUrl); // when - var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "get" } }); + var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "GET" } }); // then Check.That(requests).HasSize(1); var requestLogged = requests.First(); - Check.That(requestLogged.Request.Method).IsEqualTo("get"); + Check.That(requestLogged.Request.Method).IsEqualTo("GET"); Check.That(requestLogged.Request.Body).IsNull(); Check.That(requestLogged.Request.Path).IsEqualTo("/foo"); } @@ -133,7 +133,7 @@ public async Task IFluentMockServerAdmin_GetRequestsAsync() // then Check.That(requests).HasSize(1); var requestLogged = requests.First(); - Check.That(requestLogged.Request.Method).IsEqualTo("get"); + Check.That(requestLogged.Request.Method).IsEqualTo("GET"); Check.That(requestLogged.Request.Body).IsNull(); Check.That(requestLogged.Request.Path).IsEqualTo("/foo"); } @@ -168,7 +168,7 @@ public async Task IFluentMockServerAdmin_GetRequestsAsync_JsonApi() // then Check.That(requests).HasSize(1); var requestLogged = requests.First(); - Check.That(requestLogged.Request.Method).IsEqualTo("post"); + Check.That(requestLogged.Request.Method).IsEqualTo("POST"); Check.That(requestLogged.Request.Body).IsNotNull(); Check.That(requestLogged.Request.Body).Contains("T000001"); } @@ -202,7 +202,7 @@ public async Task IFluentMockServerAdmin_GetRequestsAsync_Json() // then Check.That(requests).HasSize(1); var requestLogged = requests.First(); - Check.That(requestLogged.Request.Method).IsEqualTo("post"); + Check.That(requestLogged.Request.Method).IsEqualTo("POST"); Check.That(requestLogged.Request.Body).IsNotNull(); Check.That(requestLogged.Request.Body).Contains("T000001"); } diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs index 6abc8ff63..ec481a7f4 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs @@ -318,7 +318,7 @@ public async Task FluentMockServer_Admin_Requests_Get() // then Check.That(_server.LogEntries).HasSize(1); var requestLogged = _server.LogEntries.First(); - Check.That(requestLogged.RequestMessage.Method).IsEqualTo("get"); + Check.That(requestLogged.RequestMessage.Method).IsEqualTo("GET"); Check.That(requestLogged.RequestMessage.BodyAsBytes).IsNull(); } diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Authentication.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Authentication.cs new file mode 100644 index 000000000..e6485ff36 --- /dev/null +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Authentication.cs @@ -0,0 +1,43 @@ +using System.Linq; +using NFluent; +using WireMock.Matchers; +using WireMock.Owin; +using WireMock.Server; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class FluentMockServerAuthenticationTests + { + [Fact] + public void FluentMockServer_Authentication_SetBasicAuthentication() + { + // Assign + var server = FluentMockServer.Start(); + + // Act + server.SetBasicAuthentication("x", "y"); + + // Assert + var options = server.GetPrivateFieldValue("_options"); + Check.That(options.AuthorizationMatcher.Name).IsEqualTo("RegexMatcher"); + Check.That(options.AuthorizationMatcher.MatchBehaviour).IsEqualTo(MatchBehaviour.AcceptOnMatch); + Check.That(options.AuthorizationMatcher.GetPatterns()).ContainsExactly("^(?i)BASIC eDp5$"); + } + + [Fact] + public void FluentMockServer_Authentication_RemoveBasicAuthentication() + { + // Assign + var server = FluentMockServer.Start(); + server.SetBasicAuthentication("x", "y"); + + // Act + server.RemoveBasicAuthentication(); + + // Assert + var options = server.GetPrivateFieldValue("_options"); + Check.That(options.AuthorizationMatcher).IsNull(); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Proxy.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Proxy.cs index b01e1f9e8..d487ef984 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.Proxy.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Proxy.cs @@ -290,6 +290,52 @@ public async Task FluentMockServer_Proxy_Should_set_BodyAsJson_in_proxied_respon Check.That(response.Content.Headers.GetValues("Content-Type")).ContainsExactly("application/json; charset=utf-8"); } + [Fact] + public async Task FluentMockServer_Proxy_Should_Not_overrule_AdminMappings() + { + // Assign + string path = $"/prx_{Guid.NewGuid().ToString()}"; + var serverForProxyForwarding = FluentMockServer.Start(); + serverForProxyForwarding + .Given(Request.Create().WithPath(path)) + .RespondWith(Response.Create().WithBody("ok")); + + var server = FluentMockServer.Start(new FluentMockServerSettings + { + StartAdminInterface = true, + ReadStaticMappings = false, + ProxyAndRecordSettings = new ProxyAndRecordSettings + { + Url = serverForProxyForwarding.Urls[0], + SaveMapping = false, + SaveMappingToFile = false + } + }); + + // Act 1 + var requestMessage1 = new HttpRequestMessage + { + Method = HttpMethod.Get, + RequestUri = new Uri($"{server.Urls[0]}{path}") + }; + var response1 = await new HttpClient().SendAsync(requestMessage1); + + // Assert 1 + string content1 = await response1.Content.ReadAsStringAsync(); + Check.That(content1).IsEqualTo("ok"); + + // Act 2 + var requestMessage2 = new HttpRequestMessage + { + Method = HttpMethod.Get, + RequestUri = new Uri($"{server.Urls[0]}/__admin/mappings") + }; + var response2 = await new HttpClient().SendAsync(requestMessage2); + + // Assert 2 + string content2 = await response2.Content.ReadAsStringAsync(); + Check.That(content2).IsEqualTo("[]"); + } #endif } } \ No newline at end of file diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Settings.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Settings.cs new file mode 100644 index 000000000..355ff620e --- /dev/null +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Settings.cs @@ -0,0 +1,97 @@ +using System.Linq; +using NFluent; +using WireMock.Owin; +using WireMock.Server; +using WireMock.Settings; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class FluentMockServerSettingsTests + { + [Fact] + public void FluentMockServer_FluentMockServerSettings_StartAdminInterfaceTrue_BasicAuthenticationIsSet() + { + // Assign and Act + var server = FluentMockServer.Start(new FluentMockServerSettings + { + StartAdminInterface = true, + AdminUsername = "u", + AdminPassword = "p" + }); + + // Assert + var options = server.GetPrivateFieldValue("_options"); + Check.That(options.AuthorizationMatcher).IsNotNull(); + } + + [Fact] + public void FluentMockServer_FluentMockServerSettings_StartAdminInterfaceFalse_BasicAuthenticationIsNotSet() + { + // Assign and Act + var server = FluentMockServer.Start(new FluentMockServerSettings + { + StartAdminInterface = false, + AdminUsername = "u", + AdminPassword = "p" + }); + + // Assert + var options = server.GetPrivateFieldValue("_options"); + Check.That(options.AuthorizationMatcher).IsNull(); + } + + [Fact] + public void FluentMockServer_FluentMockServerSettings_PriorityFromAllAdminMappingsIsLow_When_StartAdminInterface_IsTrue() + { + // Assign and Act + var server = FluentMockServer.Start(new FluentMockServerSettings + { + StartAdminInterface = true + }); + + // Assert + var mappings = server.Mappings; + Check.That(mappings.Count()).IsEqualTo(19); + Check.That(mappings.All(m => m.Priority == int.MinValue)).IsTrue(); + } + + [Fact] + public void FluentMockServer_FluentMockServerSettings_ProxyAndRecordSettings_ProxyPriority_Is1000_When_StartAdminInterface_IsTrue() + { + // Assign and Act + var server = FluentMockServer.Start(new FluentMockServerSettings + { + StartAdminInterface = true, + ProxyAndRecordSettings = new ProxyAndRecordSettings + { + Url = "www.google.com" + } + }); + + // Assert + var mappings = server.Mappings; + Check.That(mappings.Count()).IsEqualTo(20); + Check.That(mappings.Count(m => m.Priority == int.MinValue)).IsEqualTo(19); + Check.That(mappings.Count(m => m.Priority == 1000)).IsEqualTo(1); + } + + [Fact] + public void FluentMockServer_FluentMockServerSettings_ProxyAndRecordSettings_ProxyPriority_Is0_When_StartAdminInterface_IsFalse() + { + // Assign and Act + var server = FluentMockServer.Start(new FluentMockServerSettings + { + ProxyAndRecordSettings = new ProxyAndRecordSettings + { + Url = "www.google.com" + } + }); + + // Assert + var mappings = server.Mappings.ToArray(); + Check.That(mappings.Count()).IsEqualTo(1); + Check.That(mappings[0].Priority).IsEqualTo(0); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.cs b/test/WireMock.Net.Tests/FluentMockServerTests.cs index 5af0f4c6e..959417bdd 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.cs @@ -30,7 +30,7 @@ public async Task FluentMockServer_Should_respond_to_request_methodPatch() .RespondWith(Response.Create().WithBody("hello patch")); // when - var msg = new HttpRequestMessage(new HttpMethod("patch"), new Uri("http://localhost:" + _server.Ports[0] + path)) + var msg = new HttpRequestMessage(new HttpMethod("PATCH"), new Uri("http://localhost:" + _server.Ports[0] + path)) { Content = new StringContent("{\"data\": {\"attr\":\"value\"}}") }; @@ -43,7 +43,7 @@ public async Task FluentMockServer_Should_respond_to_request_methodPatch() Check.That(_server.LogEntries).HasSize(1); var requestLogged = _server.LogEntries.First(); - Check.That(requestLogged.RequestMessage.Method).IsEqualTo("patch"); + Check.That(requestLogged.RequestMessage.Method).IsEqualTo("PATCH"); Check.That(requestLogged.RequestMessage.Body).IsNotNull(); Check.That(requestLogged.RequestMessage.Body).IsEqualTo("{\"data\": {\"attr\":\"value\"}}"); } diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderUsingMethodTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderUsingMethodTests.cs new file mode 100644 index 000000000..183e9b8d5 --- /dev/null +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderUsingMethodTests.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; +using NFluent; +using WireMock.Matchers; +using WireMock.Matchers.Request; +using WireMock.Models; +using WireMock.RequestBuilders; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class RequestBuilderUsingMethodTests + { + [Fact] + public void RequestBuilder_UsingAnyMethod_ClearsAllOtherMatches() + { + // Assign + var requestBuilder = (Request)Request.Create().UsingGet(); + + // Assert 1 + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageMethodMatcher)); + + // Act + requestBuilder.UsingAnyMethod(); + + // Assert 2 + matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(0); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithCookieTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithCookieTests.cs new file mode 100644 index 000000000..ada5eb53d --- /dev/null +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithCookieTests.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; +using NFluent; +using WireMock.Matchers; +using WireMock.Matchers.Request; +using WireMock.Models; +using WireMock.RequestBuilders; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class RequestBuilderWithCookieTests + { + [Fact] + public void RequestBuilder_WithCookie_String_String_Bool_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithCookie("c", "t", true, MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageCookieMatcher)); + } + + [Fact] + public void RequestBuilder_WithCookie_String_IExactMatcher() + { + // Act + var requestBuilder = (Request)Request.Create().WithCookie("c", new ExactMatcher("v")); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageCookieMatcher)); + } + + [Fact] + public void RequestBuilder_WithCookie_FuncIDictionary() + { + // Act + var requestBuilder = (Request)Request.Create().WithCookie((IDictionary x) => true); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageCookieMatcher)); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithHeaderTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithHeaderTests.cs new file mode 100644 index 000000000..2725218da --- /dev/null +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithHeaderTests.cs @@ -0,0 +1,86 @@ +using System.Collections.Generic; +using NFluent; +using WireMock.Matchers; +using WireMock.Matchers.Request; +using WireMock.Models; +using WireMock.RequestBuilders; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class RequestBuilderWithHeaderTests + { + [Fact] + public void RequestBuilder_WithHeader_String_String_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader("h", "t", MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + + [Fact] + public void RequestBuilder_WithHeader_String_String_Bool_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader("h", "t", true, MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + + [Fact] + public void RequestBuilder_WithHeader_String_Strings_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader("h", new[] { "t1", "t2" }, MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + + [Fact] + public void RequestBuilder_WithHeader_String_Strings_Bool_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader("h", new[] { "t1", "t2" }, true, MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + + [Fact] + public void RequestBuilder_WithHeader_String_IExactMatcher() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader("h", new ExactMatcher("v")); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + + [Fact] + public void RequestBuilder_WithHeader_FuncIDictionary() + { + // Act + var requestBuilder = (Request)Request.Create().WithHeader((IDictionary x) => true); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageHeaderMatcher)); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithParamTests.cs b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithParamTests.cs new file mode 100644 index 000000000..053bcd393 --- /dev/null +++ b/test/WireMock.Net.Tests/RequestBuilders/RequestBuilderWithParamTests.cs @@ -0,0 +1,62 @@ +using System.Collections.Generic; +using NFluent; +using WireMock.Matchers; +using WireMock.Matchers.Request; +using WireMock.Models; +using WireMock.RequestBuilders; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests +{ + public class RequestBuilderWithParamTests + { + [Fact] + public void RequestBuilder_WithParam_String_MatchBehaviour() + { + // Act + var requestBuilder = (Request)Request.Create().WithParam("p", MatchBehaviour.AcceptOnMatch); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageParamMatcher)); + } + + [Fact] + public void RequestBuilder_WithParam_String_Strings() + { + // Act + var requestBuilder = (Request)Request.Create().WithParam("p", new[] { "v1", "v2" }); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageParamMatcher)); + } + + [Fact] + public void RequestBuilder_WithParam_String_IExactMatcher() + { + // Act + var requestBuilder = (Request)Request.Create().WithParam("p", new ExactMatcher("v")); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageParamMatcher)); + } + + [Fact] + public void RequestBuilder_WithParam_String_MatchBehaviour_IExactMatcher() + { + // Act + var requestBuilder = (Request)Request.Create().WithParam("p", MatchBehaviour.AcceptOnMatch, new ExactMatcher("v")); + + // Assert + var matchers = requestBuilder.GetPrivateFieldValue>("_requestMatchers"); + Check.That(matchers.Count()).IsEqualTo(1); + Check.That(matchers[0]).IsInstanceOfType(typeof(RequestMessageParamMatcher)); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/RequestMessageTests.cs b/test/WireMock.Net.Tests/RequestMessageTests.cs index 7c60d1ae9..045e192c8 100644 --- a/test/WireMock.Net.Tests/RequestMessageTests.cs +++ b/test/WireMock.Net.Tests/RequestMessageTests.cs @@ -10,6 +10,16 @@ public class RequestMessageTests { private const string ClientIp = "::1"; + [Fact] + public void RequestMessage_Method_Should_BeSame() + { + // given + var request = new RequestMessage(new UrlDetails("http://localhost/foo"), "posT", ClientIp); + + // then + Check.That(request.Method).IsEqualTo("posT"); + } + [Fact] public void RequestMessage_ParseQuery_NoKeys() { diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseCreateTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseCreateTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseCreateTests.cs diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithBodyTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithBodyTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithBodyTests.cs diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsJsonPathTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsJsonPathTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsJsonPathTests.cs diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsLinqTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsLinqTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsLinqTests.cs diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsRegexTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsRegexTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRegexTests.cs diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsTests.cs similarity index 99% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsTests.cs index d41455781..91192d1e7 100644 --- a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHandlebarsTests.cs +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsTests.cs @@ -51,7 +51,7 @@ public async Task Response_ProvideResponse_Handlebars_UrlPathVerb() { BodyAsString = "whatever" }; - var request = new RequestMessage(new UrlDetails("http://localhost/foo"), "POST", ClientIp, body); + var request = new RequestMessage(new UrlDetails("http://localhost/foo"), "POSt", ClientIp, body); var response = Response.Create() .WithBody("test {{request.url}} {{request.path}} {{request.method}}") @@ -61,7 +61,7 @@ public async Task Response_ProvideResponse_Handlebars_UrlPathVerb() var responseMessage = await response.ProvideResponseAsync(request); // Assert - Check.That(responseMessage.Body).Equals("test http://localhost/foo /foo post"); + Check.That(responseMessage.Body).Equals("test http://localhost/foo /foo POSt"); } [Fact] diff --git a/test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHeadersTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs similarity index 100% rename from test/WireMock.Net.Tests/ResponseBuilderTests/ResponseWithHeadersTests.cs rename to test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHeadersTests.cs diff --git a/test/WireMock.Net.Tests/TestUtils.cs b/test/WireMock.Net.Tests/TestUtils.cs new file mode 100644 index 000000000..5cd05a107 --- /dev/null +++ b/test/WireMock.Net.Tests/TestUtils.cs @@ -0,0 +1,14 @@ +using System.Reflection; + +namespace WireMock.Net.Tests +{ + public static class TestUtils + { + public static T GetPrivateFieldValue(this object obj, string fieldName) + { + var field = obj.GetType().GetTypeInfo().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Instance); + + return (T)field.GetValue(obj); + } + } +} \ No newline at end of file diff --git a/test/WireMock.Net.Tests/Util/PortUtilsTests.cs b/test/WireMock.Net.Tests/Util/PortUtilsTests.cs new file mode 100644 index 000000000..27f10df8f --- /dev/null +++ b/test/WireMock.Net.Tests/Util/PortUtilsTests.cs @@ -0,0 +1,73 @@ +using NFluent; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests.Util +{ + public class PortUtilsTests + { + [Fact] + public void PortUtils_TryExtract_InvalidUrl_Returns_False() + { + // Assign + string url = "test"; + + // Act + bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port); + + // Assert + Check.That(result).IsFalse(); + Check.That(proto).IsNull(); + Check.That(host).IsNull(); + Check.That(port).IsEqualTo(default(int)); + } + + [Fact] + public void PortUtils_TryExtract_UrlIsMissingPort_Returns_False() + { + // Assign + string url = "http://0.0.0.0"; + + // Act + bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port); + + // Assert + Check.That(result).IsFalse(); + Check.That(proto).IsNull(); + Check.That(host).IsNull(); + Check.That(port).IsEqualTo(default(int)); + } + + [Fact] + public void PortUtils_TryExtract_ValidUrl1_Returns_True() + { + // Assign + string url = "https://wiremock.net:5000"; + + // Act + bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port); + + // Assert + Check.That(result).IsTrue(); + Check.That(proto).IsEqualTo("https"); + Check.That(host).IsEqualTo("wiremock.net"); + Check.That(port).IsEqualTo(5000); + } + + [Fact] + public void PortUtils_TryExtract_ValidUrl2_Returns_True() + { + // Assign + string url = "https://0.0.0.0:5000"; + + // Act + bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port); + + // Assert + Check.That(result).IsTrue(); + Check.That(proto).IsEqualTo("https"); + Check.That(host).IsEqualTo("0.0.0.0"); + Check.That(port).IsEqualTo(5000); + } + } +} \ No newline at end of file