From cda0ffa36c5a63a090b9a6d42db156fc870417d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cezary=20Pi=C4=85tek?= Date: Sat, 15 Jul 2023 18:40:18 +0200 Subject: [PATCH] Fix request body presentation --- .../ViewModels/MainWindowViewModel.cs | 22 +++++++++++-------- .../ViewModels/MatchDetailsViewModel.cs | 7 +++++- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/WireMockInspector/ViewModels/MainWindowViewModel.cs b/src/WireMockInspector/ViewModels/MainWindowViewModel.cs index 27901e4..f3c66e7 100644 --- a/src/WireMockInspector/ViewModels/MainWindowViewModel.cs +++ b/src/WireMockInspector/ViewModels/MainWindowViewModel.cs @@ -574,14 +574,7 @@ private static MappingDetails GetMappingDetails(RequestViewModel req, MappingMod Matched = isPerfectMatch, ActualValue = new MarkdownActualValue { - Value = req.Raw.Response?.DetectedBodyType.ToString() switch - { - "String" or "FormUrlEncoded" => WrapBodyInMarkdown( req.Raw.Response.Body?? string.Empty), - "Json" => new Markdown("json",req.Raw.Response.BodyAsJson?.ToString() ?? string.Empty), - "Bytes" => new Markdown("plaintext", req.Raw.Response.BodyAsBytes?.ToString()?? string.Empty), - "File" => new Markdown("plaintext","[FileContent]"), - _ => new Markdown("plaintext","[FileContent]"), - } + Value = GetActualForRequestBody(req) }, Expectations = expectations.Response switch { @@ -589,13 +582,24 @@ private static MappingDetails GetMappingDetails(RequestViewModel req, MappingMod {BodyAsJson: {} bodyAsJson} => new Markdown("json", bodyAsJson.ToString()!), {BodyAsBytes: {} bodyAsBytes} => new Markdown("plaintext", bodyAsBytes.ToString()?? string.Empty), {BodyAsFile: {} bodyAsFile} => new Markdown("plaintext",bodyAsFile), - _ => new Markdown("plaintext","[FileContent]") + _ => new Markdown("plaintext",string.Empty) } } } }; } + private static Markdown GetActualForRequestBody(RequestViewModel req) + { + return req.Raw.Response?.DetectedBodyType.ToString() switch + { + "Json" => new Markdown("json",req.Raw.Response.BodyAsJson?.ToString() ?? string.Empty), + "Bytes" => new Markdown("plaintext", req.Raw.Response.BodyAsBytes?.ToString()?? string.Empty), + "File" => new Markdown("plaintext",req.Raw.Response.BodyAsFile?.ToString() ?? string.Empty), + _ => WrapBodyInMarkdown( req.Raw.Response?.Body?? string.Empty), + }; + } + private static Markdown WrapBodyInMarkdown(string bodyResponse) { var cleanBody = bodyResponse.Trim(); diff --git a/src/WireMockInspector/ViewModels/MatchDetailsViewModel.cs b/src/WireMockInspector/ViewModels/MatchDetailsViewModel.cs index 4486ea9..9fc528e 100644 --- a/src/WireMockInspector/ViewModels/MatchDetailsViewModel.cs +++ b/src/WireMockInspector/ViewModels/MatchDetailsViewModel.cs @@ -133,7 +133,12 @@ public record Markdown(string lang, string rawValue) { public string AsMarkdownSyntax() { - return $"```{lang}\r\n{rawValue}\r\n```"; + if (string.IsNullOrWhiteSpace(rawValue) == false) + { + return $"```{lang}\r\n{rawValue}\r\n```"; + } + + return string.Empty; } public override string ToString() => AsMarkdownSyntax();