diff --git a/src/Microsoft.OpenApi.Workbench/MainModel.cs b/src/Microsoft.OpenApi.Workbench/MainModel.cs index d518645a5..2fdaf0e1c 100644 --- a/src/Microsoft.OpenApi.Workbench/MainModel.cs +++ b/src/Microsoft.OpenApi.Workbench/MainModel.cs @@ -49,7 +49,7 @@ public class MainModel : INotifyPropertyChanged /// private OpenApiSpecVersion _version = OpenApiSpecVersion.OpenApi3_0; - private HttpClient _httpClient = new(); + private static readonly HttpClient _httpClient = new(); public string Input { @@ -166,31 +166,31 @@ public OpenApiSpecVersion Version public bool IsYaml { get => Format == OpenApiFormat.Yaml; - set => Format = OpenApiFormat.Yaml; + set => Format = value ? OpenApiFormat.Yaml : Format; } public bool IsJson { get => Format == OpenApiFormat.Json; - set => Format = OpenApiFormat.Json; + set => Format = value ? OpenApiFormat.Json : Format; } public bool IsV2_0 { get => Version == OpenApiSpecVersion.OpenApi2_0; - set => Version = OpenApiSpecVersion.OpenApi2_0; + set => Version = value ? OpenApiSpecVersion.OpenApi2_0 : Version; } public bool IsV3_0 { get => Version == OpenApiSpecVersion.OpenApi3_0; - set => Version = OpenApiSpecVersion.OpenApi3_0; + set => Version = value ? OpenApiSpecVersion.OpenApi3_0 : Version; } public bool IsV3_1 { get => Version == OpenApiSpecVersion.OpenApi3_1; - set => Version = OpenApiSpecVersion.OpenApi3_1; + set => Version = value ? OpenApiSpecVersion.OpenApi3_1 : Version; } /// @@ -219,14 +219,8 @@ internal async Task ParseDocumentAsync() { if (!string.IsNullOrWhiteSpace(_inputFile)) { - if (_inputFile.StartsWith("http")) - { - stream = await _httpClient.GetStreamAsync(_inputFile); - } - else - { - stream = new FileStream(_inputFile, FileMode.Open); - } + stream = _inputFile.StartsWith("http") ? await _httpClient.GetStreamAsync(_inputFile) + : new FileStream(_inputFile, FileMode.Open); } else { @@ -245,20 +239,13 @@ internal async Task ParseDocumentAsync() ReferenceResolution = ResolveExternal ? ReferenceResolutionSetting.ResolveAllReferences : ReferenceResolutionSetting.ResolveLocalReferences, RuleSet = ValidationRuleSet.GetDefaultRuleSet() }; - if (ResolveExternal) + if (ResolveExternal && !string.IsNullOrWhiteSpace(_inputFile)) { - if (_inputFile.StartsWith("http")) - { - settings.BaseUrl = new(_inputFile); - } - else - { - settings.BaseUrl = new("file://" + Path.GetDirectoryName(_inputFile) + "/"); - } + settings.BaseUrl = _inputFile.StartsWith("http") ? new(_inputFile) + : new("file://" + Path.GetDirectoryName(_inputFile) + "/"); } - var format = OpenApiModelFactory.GetFormat(_inputFile); - var readResult = await OpenApiDocument.LoadAsync(stream, format); + var readResult = await OpenApiDocument.LoadAsync(stream, Format.GetDisplayName()); var document = readResult.OpenApiDocument; var context = readResult.OpenApiDiagnostic; @@ -306,7 +293,6 @@ internal async Task ParseDocumentAsync() stream.Close(); await stream.DisposeAsync(); } - } } @@ -332,7 +318,7 @@ private string WriteContents(OpenApiDocument document) return new StreamReader(outputStream).ReadToEnd(); } - private MemoryStream CreateStream(string text) + private static MemoryStream CreateStream(string text) { var stream = new MemoryStream(); var writer = new StreamWriter(stream); diff --git a/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj b/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj index 3210463df..ab6c09b54 100644 --- a/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj +++ b/src/Microsoft.OpenApi.Workbench/Microsoft.OpenApi.Workbench.csproj @@ -6,6 +6,7 @@ true true true + NU1903 diff --git a/test/Microsoft.OpenApi.Trimming.Tests/Microsoft.OpenApi.Trimming.Tests.csproj b/test/Microsoft.OpenApi.Trimming.Tests/Microsoft.OpenApi.Trimming.Tests.csproj index 3e6daf74c..08f51d715 100644 --- a/test/Microsoft.OpenApi.Trimming.Tests/Microsoft.OpenApi.Trimming.Tests.csproj +++ b/test/Microsoft.OpenApi.Trimming.Tests/Microsoft.OpenApi.Trimming.Tests.csproj @@ -7,6 +7,7 @@ true false true + NU1903 false