11
11
using System . Security ;
12
12
using System . Text ;
13
13
using System . Text . Json ;
14
+ using System . Threading . Tasks ;
14
15
using Microsoft . Extensions . Logging ;
15
16
using Microsoft . OpenApi . Extensions ;
16
17
using Microsoft . OpenApi . Models ;
@@ -23,7 +24,7 @@ namespace Microsoft.OpenApi.Hidi
23
24
{
24
25
public class OpenApiService
25
26
{
26
- public static void ProcessOpenApiDocument (
27
+ public static async void ProcessOpenApiDocument (
27
28
string openapi ,
28
29
FileInfo output ,
29
30
OpenApiSpecVersion ? version ,
@@ -74,7 +75,7 @@ public static void ProcessOpenApiDocument(
74
75
return ;
75
76
}
76
77
77
- var stream = GetStream ( openapi , logger ) ;
78
+ var stream = await GetStream ( openapi , logger ) ;
78
79
79
80
// Parsing OpenAPI file
80
81
var stopwatch = new Stopwatch ( ) ;
@@ -130,7 +131,7 @@ public static void ProcessOpenApiDocument(
130
131
}
131
132
if ( ! string . IsNullOrEmpty ( filterbycollection ) )
132
133
{
133
- var fileStream = GetStream ( filterbycollection , logger ) ;
134
+ var fileStream = await GetStream ( filterbycollection , logger ) ;
134
135
var requestUrls = ParseJsonCollectionFile ( fileStream , logger ) ;
135
136
136
137
logger . LogTrace ( "Creating predicate based on the paths and Http methods defined in the Postman collection." ) ;
@@ -169,7 +170,7 @@ public static void ProcessOpenApiDocument(
169
170
textWriter . Flush ( ) ;
170
171
}
171
172
172
- private static Stream GetStream ( string input , ILogger logger )
173
+ private static async Task < Stream > GetStream ( string input , ILogger logger )
173
174
{
174
175
var stopwatch = new Stopwatch ( ) ;
175
176
stopwatch . Start ( ) ;
@@ -179,14 +180,15 @@ private static Stream GetStream(string input, ILogger logger)
179
180
{
180
181
try
181
182
{
182
- var httpClient = new HttpClient ( new HttpClientHandler ( )
183
+ using var httpClientHandler = new HttpClientHandler ( )
183
184
{
184
185
SslProtocols = System . Security . Authentication . SslProtocols . Tls12 ,
185
- } )
186
+ } ;
187
+ using var httpClient = new HttpClient ( httpClientHandler )
186
188
{
187
189
DefaultRequestVersion = HttpVersion . Version20
188
190
} ;
189
- stream = httpClient . GetStreamAsync ( input ) . Result ;
191
+ stream = await httpClient . GetStreamAsync ( input ) ;
190
192
}
191
193
catch ( HttpRequestException ex )
192
194
{
@@ -250,14 +252,14 @@ public static Dictionary<string, List<string>> ParseJsonCollectionFile(Stream st
250
252
return requestUrls ;
251
253
}
252
254
253
- internal static void ValidateOpenApiDocument ( string openapi , LogLevel loglevel )
255
+ internal static async void ValidateOpenApiDocument ( string openapi , LogLevel loglevel )
254
256
{
255
257
if ( string . IsNullOrEmpty ( openapi ) )
256
258
{
257
259
throw new ArgumentNullException ( nameof ( openapi ) ) ;
258
260
}
259
261
var logger = ConfigureLoggerInstance ( loglevel ) ;
260
- var stream = GetStream ( openapi , logger ) ;
262
+ var stream = await GetStream ( openapi , logger ) ;
261
263
262
264
OpenApiDocument document ;
263
265
logger . LogTrace ( "Parsing the OpenApi file" ) ;
0 commit comments