mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-06-28 12:56:32 +02:00
fix findings
This commit is contained in:
@@ -276,7 +276,7 @@ public static class WireMockServerSettingsParser
|
|||||||
var defaultJsonBodyTransformer = parser.GetStringValue(nameof(WireMockServerSettings.DefaultJsonBodyTransformer));
|
var defaultJsonBodyTransformer = parser.GetStringValue(nameof(WireMockServerSettings.DefaultJsonBodyTransformer));
|
||||||
settings.DefaultJsonBodyTransformer = defaultJsonBodyTransformer switch
|
settings.DefaultJsonBodyTransformer = defaultJsonBodyTransformer switch
|
||||||
{
|
{
|
||||||
nameof(SystemTextJsonBodyTransformer) => new SystemTextJsonBodyTransformer(),
|
nameof(SystemTextJsonBodyTransformer) => new SystemTextJsonBodyTransformer(settings),
|
||||||
_ => new NewtonsoftJsonBodyTransformer(settings),
|
_ => new NewtonsoftJsonBodyTransformer(settings),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ public class NewtonsoftJsonBodyTransformer(WireMockServerSettings settings) : IJ
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
settings.Logger.Warn("Failed to parse string ''{0}'' as JSON. Returning the original string value.", stringValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using System.Text.Json.Nodes;
|
|||||||
using HandlebarsDotNet.Helpers.Models;
|
using HandlebarsDotNet.Helpers.Models;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using JsonConverter.System.Text.Json;
|
using JsonConverter.System.Text.Json;
|
||||||
|
using WireMock.Settings;
|
||||||
using WireMock.Types;
|
using WireMock.Types;
|
||||||
using WireMock.Util;
|
using WireMock.Util;
|
||||||
|
|
||||||
@@ -15,7 +16,7 @@ namespace WireMock.Transformers;
|
|||||||
/// JSON body transformer implementation based on System.Text.Json.
|
/// JSON body transformer implementation based on System.Text.Json.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[PublicAPI]
|
[PublicAPI]
|
||||||
public class SystemTextJsonBodyTransformer() : IJsonBodyTransformer
|
public class SystemTextJsonBodyTransformer(WireMockServerSettings settings) : IJsonBodyTransformer
|
||||||
{
|
{
|
||||||
private static readonly SystemTextJsonConverter _jsonConverter = new();
|
private static readonly SystemTextJsonConverter _jsonConverter = new();
|
||||||
|
|
||||||
@@ -85,7 +86,7 @@ public class SystemTextJsonBodyTransformer() : IJsonBodyTransformer
|
|||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
// Ignore and return as string.
|
settings.Logger.Warn("Failed to parse string ''{0}'' as JSON. Returning the original string value.", stringValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,15 +19,17 @@ public class JsonBodyTransformerTests
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
var settings = new WireMockServerSettings();
|
||||||
|
|
||||||
return
|
return
|
||||||
[
|
[
|
||||||
new JsonBodyTransformerTestContext(
|
new JsonBodyTransformerTestContext(
|
||||||
() => new NewtonsoftJsonBodyTransformer(new WireMockServerSettings()),
|
() => new NewtonsoftJsonBodyTransformer(settings),
|
||||||
JObject.Parse,
|
JObject.Parse,
|
||||||
body => ((JToken)body).ToString(Formatting.None)),
|
body => ((JToken)body).ToString(Formatting.None)),
|
||||||
|
|
||||||
new JsonBodyTransformerTestContext(
|
new JsonBodyTransformerTestContext(
|
||||||
() => new SystemTextJsonBodyTransformer(),
|
() => new SystemTextJsonBodyTransformer(settings),
|
||||||
json => JsonNode.Parse(json)!,
|
json => JsonNode.Parse(json)!,
|
||||||
body => ((JsonNode)body).ToJsonString())
|
body => ((JsonNode)body).ToJsonString())
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user