Skip to content

Commit 47bfb6f

Browse files
committed
Move code block to a reusable method to avoid duplication
1 parent 93ba1c1 commit 47bfb6f

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public static async Task<ReadResult> LoadAsync(TextReader input, string format =
9292
public static async Task<ReadResult> ParseAsync(string input,
9393
OpenApiReaderSettings settings = null)
9494
{
95-
var format = input.StartsWith("{") || input.StartsWith("[") ? OpenApiConstants.Json : OpenApiConstants.Yaml;
95+
var format = InspectInputFormat(input);
9696
settings ??= new OpenApiReaderSettings();
9797
using var reader = new StringReader(input);
9898
return await LoadAsync(reader, format, settings);
@@ -109,7 +109,7 @@ public static async Task<ReadFragmentResult<T>> ParseAsync<T>(string input,
109109
OpenApiSpecVersion version,
110110
OpenApiReaderSettings settings = null) where T : IOpenApiElement
111111
{
112-
var format = input.StartsWith("{") || input.StartsWith("[") ? OpenApiConstants.Json : OpenApiConstants.Yaml;
112+
var format = InspectInputFormat(input);
113113
settings ??= new OpenApiReaderSettings();
114114
using var reader = new StringReader(input);
115115
return await LoadAsync<T>(reader, version, format, settings);
@@ -305,6 +305,11 @@ private static string InspectTextReaderFormat(TextReader reader)
305305
{
306306
// Read the first line or a few characters from the input
307307
var input = reader.ReadLine().Trim();
308+
return InspectInputFormat(input);
309+
}
310+
311+
private static string InspectInputFormat(string input)
312+
{
308313
return input.StartsWith("{") || input.StartsWith("[") ? OpenApiConstants.Json : OpenApiConstants.Yaml;
309314
}
310315

0 commit comments

Comments
 (0)