-
Notifications
You must be signed in to change notification settings - Fork 268
Closed
Description
Suggestion to update to something like the following code in OpenApiModelFactory
public static async Task<ReadResult> LoadAsync(Stream input, string format, OpenApiReaderSettings settings = null, CancellationToken cancellationToken = default)
{
Utils.CheckArgumentNull(format, nameof(format));
settings ??= new OpenApiReaderSettings();
Stream preparedStream;
if (input is MemoryStream || format == "json") // Added test for json format
{
preparedStream = input;
}
else
{
// Buffer stream so that OpenApiTextReaderReader can process it synchronously
// YamlDocument doesn't support async reading.
preparedStream = new MemoryStream();
await input.CopyToAsync(preparedStream, 81920, cancellationToken);
preparedStream.Position = 0;
}
// Allow StreamReader to read directly from FileStream or NetworkStream
using var reader = new StreamReader(preparedStream, default, true, -1, settings.LeaveStreamOpen);
return await LoadAsync(reader, format, settings, cancellationToken);
}
Metadata
Metadata
Assignees
Labels
No labels