1111using System . Security ;
1212using System . Text ;
1313using System . Text . Json ;
14+ using System . Threading . Tasks ;
1415using Microsoft . Extensions . Logging ;
1516using Microsoft . OpenApi . Extensions ;
1617using Microsoft . OpenApi . Models ;
@@ -23,7 +24,7 @@ namespace Microsoft.OpenApi.Hidi
2324{
2425 public class OpenApiService
2526 {
26- public static void ProcessOpenApiDocument (
27+ public static async void ProcessOpenApiDocument (
2728 string openapi ,
2829 FileInfo output ,
2930 OpenApiSpecVersion ? version ,
@@ -74,7 +75,7 @@ public static void ProcessOpenApiDocument(
7475 return ;
7576 }
7677
77- var stream = GetStream ( openapi , logger ) ;
78+ var stream = await GetStream ( openapi , logger ) ;
7879
7980 // Parsing OpenAPI file
8081 var stopwatch = new Stopwatch ( ) ;
@@ -130,7 +131,7 @@ public static void ProcessOpenApiDocument(
130131 }
131132 if ( ! string . IsNullOrEmpty ( filterbycollection ) )
132133 {
133- var fileStream = GetStream ( filterbycollection , logger ) ;
134+ var fileStream = await GetStream ( filterbycollection , logger ) ;
134135 var requestUrls = ParseJsonCollectionFile ( fileStream , logger ) ;
135136
136137 logger . LogTrace ( "Creating predicate based on the paths and Http methods defined in the Postman collection." ) ;
@@ -169,7 +170,7 @@ public static void ProcessOpenApiDocument(
169170 textWriter . Flush ( ) ;
170171 }
171172
172- private static Stream GetStream ( string input , ILogger logger )
173+ private static async Task < Stream > GetStream ( string input , ILogger logger )
173174 {
174175 var stopwatch = new Stopwatch ( ) ;
175176 stopwatch . Start ( ) ;
@@ -179,14 +180,15 @@ private static Stream GetStream(string input, ILogger logger)
179180 {
180181 try
181182 {
182- var httpClient = new HttpClient ( new HttpClientHandler ( )
183+ using var httpClientHandler = new HttpClientHandler ( )
183184 {
184185 SslProtocols = System . Security . Authentication . SslProtocols . Tls12 ,
185- } )
186+ } ;
187+ using var httpClient = new HttpClient ( httpClientHandler )
186188 {
187189 DefaultRequestVersion = HttpVersion . Version20
188190 } ;
189- stream = httpClient . GetStreamAsync ( input ) . Result ;
191+ stream = await httpClient . GetStreamAsync ( input ) ;
190192 }
191193 catch ( HttpRequestException ex )
192194 {
@@ -250,14 +252,14 @@ public static Dictionary<string, List<string>> ParseJsonCollectionFile(Stream st
250252 return requestUrls ;
251253 }
252254
253- internal static void ValidateOpenApiDocument ( string openapi , LogLevel loglevel )
255+ internal static async void ValidateOpenApiDocument ( string openapi , LogLevel loglevel )
254256 {
255257 if ( string . IsNullOrEmpty ( openapi ) )
256258 {
257259 throw new ArgumentNullException ( nameof ( openapi ) ) ;
258260 }
259261 var logger = ConfigureLoggerInstance ( loglevel ) ;
260- var stream = GetStream ( openapi , logger ) ;
262+ var stream = await GetStream ( openapi , logger ) ;
261263
262264 OpenApiDocument document ;
263265 logger . LogTrace ( "Parsing the OpenApi file" ) ;
0 commit comments