From d04b22b8ec84869a5a9f5cea99c87bd933ca6b39 Mon Sep 17 00:00:00 2001 From: Maggiekimani1 Date: Tue, 8 Oct 2024 17:16:01 +0300 Subject: [PATCH] Remove threading package and disable warnings --- .../Microsoft.OpenApi.csproj | 5 ++- .../Reader/OpenApiModelFactory.cs | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj index d8f9a5e93..b6ccd1796 100644 --- a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj +++ b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj @@ -21,9 +21,8 @@ true - - - + + diff --git a/src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs b/src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs index 9b904b847..f2bd6d3bc 100644 --- a/src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs +++ b/src/Microsoft.OpenApi/Reader/OpenApiModelFactory.cs @@ -10,7 +10,6 @@ using System.Threading.Tasks; using Microsoft.OpenApi.Interfaces; using Microsoft.OpenApi.Models; -using Microsoft.VisualStudio.Threading; namespace Microsoft.OpenApi.Reader { @@ -20,8 +19,6 @@ namespace Microsoft.OpenApi.Reader public static class OpenApiModelFactory { private static readonly HttpClient _httpClient = new(); - private static readonly JoinableTaskContext _joinableTaskContext = new(); - private static readonly JoinableTaskFactory _joinableTaskFactory = new(_joinableTaskContext); static OpenApiModelFactory() { @@ -36,7 +33,9 @@ static OpenApiModelFactory() /// An OpenAPI document instance. public static ReadResult Load(string url, OpenApiReaderSettings settings = null) { - return _joinableTaskFactory.Run(async () => await LoadAsync(url, settings)); +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + return LoadAsync(url, settings).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits } /// @@ -52,9 +51,10 @@ public static ReadResult Load(Stream stream, { settings ??= new OpenApiReaderSettings(); - // Run the async method synchronously using JoinableTaskFactory - var result = _joinableTaskFactory.Run(async () => await LoadAsync(stream, format, settings)); - +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + var result = LoadAsync(stream, format, settings).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits + if (!settings.LeaveStreamOpen) { stream.Dispose(); @@ -74,8 +74,9 @@ public static ReadResult Load(TextReader input, string format, OpenApiReaderSettings settings = null) { - // Run the async method synchronously using JoinableTaskFactory - var result = _joinableTaskFactory.Run(async () => await LoadAsync(input, format, settings)); +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + var result = LoadAsync(input, format, settings).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits return result; } @@ -153,7 +154,9 @@ public static ReadResult Parse(string input, settings ??= new OpenApiReaderSettings(); using var reader = new StringReader(input); - return _joinableTaskFactory.Run(async () => await ParseAsync(input, reader, format, settings)); +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + return ParseAsync(input, reader, format, settings).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits } /// @@ -208,7 +211,9 @@ public static T Load(string url, OpenApiSpecVersion version, out OpenApiDiagn var format = GetFormat(url); settings ??= new OpenApiReaderSettings(); - var stream = _joinableTaskFactory.Run(async () => await GetStreamAsync(url)); +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + var stream = GetStreamAsync(url).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits return Load(stream, version, format, out diagnostic, settings); } @@ -253,7 +258,10 @@ private static string GetContentType(string url) { if (!string.IsNullOrEmpty(url)) { - var response = _joinableTaskFactory.Run(async () => await _httpClient.GetAsync(url)); +#pragma warning disable VSTHRD002 // Avoid problematic synchronous waits + var response = _httpClient.GetAsync(url).GetAwaiter().GetResult(); +#pragma warning restore VSTHRD002 // Avoid problematic synchronous waits + var mediaType = response.Content.Headers.ContentType.MediaType; return mediaType.Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).First(); }