Skip to content

Commit cecf011

Browse files
committed
code cleanup
1 parent 8bbb3dd commit cecf011

File tree

4 files changed

+18
-22
lines changed

4 files changed

+18
-22
lines changed

src/Microsoft.OpenApi.Readers/OpenApiYamlReader.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class OpenApiYamlReader : IOpenApiReader
2323

2424
/// <inheritdoc/>
2525
public async Task<ReadResult> ReadAsync(Stream input,
26-
OpenApiReaderSettings settings = null,
26+
OpenApiReaderSettings settings,
2727
CancellationToken cancellationToken = default)
2828
{
2929
if (input is MemoryStream memoryStream)
@@ -41,14 +41,14 @@ public async Task<ReadResult> ReadAsync(Stream input,
4141

4242
/// <inheritdoc/>
4343
public ReadResult Read(MemoryStream input,
44-
OpenApiReaderSettings settings = null)
44+
OpenApiReaderSettings settings)
4545
{
4646
JsonNode jsonNode;
4747

4848
// Parse the YAML text in the TextReader into a sequence of JsonNodes
4949
try
5050
{
51-
using var stream = new StreamReader(input, default, true, -1, settings?.LeaveStreamOpen);
51+
using var stream = new StreamReader(input, default, true, -1, settings.LeaveStreamOpen);
5252
jsonNode = LoadJsonNodesFromYamlDocument(stream);
5353
}
5454
catch (JsonException ex)

src/Microsoft.OpenApi/Interfaces/IOpenApiReader.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ public interface IOpenApiReader
2121
/// <param name="settings"> The OpenApi reader settings.</param>
2222
/// <param name="cancellationToken">Propagates notification that an operation should be cancelled.</param>
2323
/// <returns></returns>
24-
Task<ReadResult> ReadAsync(Stream input, OpenApiReaderSettings settings = null, CancellationToken cancellationToken = default);
24+
Task<ReadResult> ReadAsync(Stream input, OpenApiReaderSettings settings, CancellationToken cancellationToken = default);
2525

2626
/// <summary>
2727
/// Provides a synchronous method to read the input memory stream and parse it into an Open API document.
2828
/// </summary>
2929
/// <param name="input"></param>
3030
/// <param name="settings"></param>
3131
/// <returns></returns>
32-
ReadResult Read(MemoryStream input, OpenApiReaderSettings settings = null);
32+
ReadResult Read(MemoryStream input, OpenApiReaderSettings settings);
3333

3434
/// <summary>
3535
/// Parses the JsonNode input into an Open API document.

src/Microsoft.OpenApi/Reader/OpenApiJsonReader.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public ReadResult Read(MemoryStream input,
6161
/// <param name="cancellationToken">Propagates notifications that operations should be cancelled.</param>
6262
/// <returns></returns>
6363
public async Task<ReadResult> ReadAsync(Stream input,
64-
OpenApiReaderSettings settings = null,
64+
OpenApiReaderSettings settings,
6565
CancellationToken cancellationToken = default)
6666
{
6767
JsonNode jsonNode;
@@ -94,8 +94,8 @@ public async Task<ReadResult> ReadAsync(Stream input,
9494
/// <param name="format">The OpenAPI format.</param>
9595
/// <returns></returns>
9696
public ReadResult Read(JsonNode jsonNode,
97-
OpenApiReaderSettings settings,
98-
string format = null)
97+
OpenApiReaderSettings settings,
98+
string format = null)
9999
{
100100
var diagnostic = new OpenApiDiagnostic();
101101
var context = new ParsingContext(diagnostic)

src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -149,18 +149,14 @@ public static async Task<ReadResult> LoadAsync(Stream input, string format = nul
149149
preparedStream.Position = 0;
150150
}
151151

152-
try
152+
// Use StreamReader to process the prepared stream (buffered for YAML, direct for JSON)
153+
var result = await InternalLoadAsync(preparedStream, format, settings, cancellationToken);
154+
if (!settings.LeaveStreamOpen)
153155
{
154-
// Use StreamReader to process the prepared stream (buffered for YAML, direct for JSON)
155-
return await InternalLoadAsync(preparedStream, format, settings, cancellationToken);
156-
}
157-
finally
158-
{
159-
if (!settings.LeaveStreamOpen)
160-
{
161-
input.Dispose();
162-
}
156+
input.Dispose();
163157
}
158+
159+
return result;
164160
}
165161

166162
/// <summary>
@@ -204,13 +200,13 @@ public static T Parse<T>(string input,
204200
return Load<T>(stream, version, format, out diagnostic, settings);
205201
}
206202

207-
private static async Task<ReadResult> InternalLoadAsync(Stream input, string format, OpenApiReaderSettings settings = null, CancellationToken cancellationToken = default)
203+
private static async Task<ReadResult> InternalLoadAsync(Stream input, string format, OpenApiReaderSettings settings, CancellationToken cancellationToken = default)
208204
{
209205
Utils.CheckArgumentNull(format, nameof(format));
210206
var reader = OpenApiReaderRegistry.GetReader(format);
211207
var readResult = await reader.ReadAsync(input, settings, cancellationToken);
212208

213-
if (settings is not null && settings.LoadExternalRefs)
209+
if (settings.LoadExternalRefs)
214210
{
215211
var diagnosticExternalRefs = await LoadExternalRefsAsync(readResult.OpenApiDocument, cancellationToken, settings, format);
216212
// Merge diagnostics of external reference
@@ -236,10 +232,10 @@ private static async Task<OpenApiDiagnostic> LoadExternalRefsAsync(OpenApiDocume
236232
return await workspaceLoader.LoadAsync(new OpenApiReference() { ExternalResource = "/" }, document, format ?? OpenApiConstants.Json, null, cancellationToken);
237233
}
238234

239-
private static ReadResult InternalLoad(MemoryStream input, string format, OpenApiReaderSettings settings = null)
235+
private static ReadResult InternalLoad(MemoryStream input, string format, OpenApiReaderSettings settings)
240236
{
241237
Utils.CheckArgumentNull(format, nameof(format));
242-
if (settings is not null && settings.LoadExternalRefs)
238+
if (settings.LoadExternalRefs)
243239
{
244240
throw new InvalidOperationException("Loading external references are not supported when using synchronous methods.");
245241
}

0 commit comments

Comments
 (0)