diff --git a/src/Elastic.Transport/Components/Serialization/IJsonSerializerOptionsProvider.cs b/src/Elastic.Transport/Components/Serialization/IJsonSerializerOptionsProvider.cs
index 1660828..10ec20e 100644
--- a/src/Elastic.Transport/Components/Serialization/IJsonSerializerOptionsProvider.cs
+++ b/src/Elastic.Transport/Components/Serialization/IJsonSerializerOptionsProvider.cs
@@ -17,9 +17,10 @@ public interface IJsonSerializerOptionsProvider
///
JsonSerializerOptions CreateJsonSerializerOptions();
}
+
///
/// Default implementation of specialized in providing more converters and
-/// altering the shared used by and its derrived classes
+/// altering the shared used by and its derived classes
///
public class TransportSerializerOptionsProvider : IJsonSerializerOptionsProvider
{
@@ -31,6 +32,7 @@ public class TransportSerializerOptionsProvider : IJsonSerializerOptionsProvider
public JsonSerializerOptions? CreateJsonSerializerOptions()
{
var options = new JsonSerializerOptions();
+
foreach (var converter in _bakedInConverters ?? [])
options.Converters.Add(converter);
@@ -57,4 +59,3 @@ public TransportSerializerOptionsProvider(
_mutateOptions = mutateOptions;
}
}
-
diff --git a/src/Elastic.Transport/Components/Serialization/SystemTextJsonSerializer.cs b/src/Elastic.Transport/Components/Serialization/SystemTextJsonSerializer.cs
index 6e9a5c0..0a713dd 100644
--- a/src/Elastic.Transport/Components/Serialization/SystemTextJsonSerializer.cs
+++ b/src/Elastic.Transport/Components/Serialization/SystemTextJsonSerializer.cs
@@ -27,11 +27,12 @@ public abstract class SystemTextJsonSerializer : Serializer
///
protected SystemTextJsonSerializer(IJsonSerializerOptionsProvider? provider = null)
{
-
provider ??= new TransportSerializerOptionsProvider();
_options = provider.CreateJsonSerializerOptions();
- _indentedOptions = provider.CreateJsonSerializerOptions();
- _indentedOptions.WriteIndented = true;
+ _indentedOptions = new JsonSerializerOptions(_options)
+ {
+ WriteIndented = true
+ };
}
#region Serializer
@@ -93,7 +94,6 @@ public override Task SerializeAsync(T data, Stream stream,
protected internal JsonSerializerOptions? GetJsonSerializerOptions(SerializationFormatting formatting = SerializationFormatting.None) =>
formatting is SerializationFormatting.None ? _options : _indentedOptions;
-
private static bool TryReturnDefault(Stream? stream, out T deserialize)
{
deserialize = default;