Skip to content

Commit

Permalink
Dispose readers.
Browse files Browse the repository at this point in the history
  • Loading branch information
danielcweber committed Nov 7, 2023
1 parent f6f831c commit 6ea1c20
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/Support.NewtonsoftJson/Extensions/TransformerExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,21 @@ public static ITransformer UseNewtonsoftJson(this ITransformer transformer)
{
var stream = default(Stream?);

if (MemoryMarshal.TryGetArray(memory, out var segment))
stream = new MemoryStream(segment.Array!, segment.Offset, segment.Count);
if (MemoryMarshal.TryGetArray(memory, out var segment) && segment is { Array: { } array })
stream = new MemoryStream(array, segment.Offset, segment.Count);
else
stream = new MemoryStream(memory.ToArray());

return JToken.ReadFrom(
new JsonTextReader(new StreamReader(stream))
using (stream)
{
using (var streamReader = new StreamReader(stream))
{
DateParseHandling = DateParseHandling.None
});
using (var jsonTextReader = new JsonTextReader(streamReader) { DateParseHandling = DateParseHandling.None })
{
return JToken.ReadFrom(jsonTextReader);
}
}
}
}))
.Add(new ResponseMessageConverterFactory())
.Add(new DictionaryConverterFactory())
Expand Down

0 comments on commit 6ea1c20

Please sign in to comment.