@@ -112,7 +112,7 @@ CancellationToken cancellationToken
112
112
{
113
113
stream = await GetStream ( openapi , logger , cancellationToken ) ;
114
114
stopwatch . Restart ( ) ;
115
- var result = await ParseOpenApi ( openapi , logger , stream ) ;
115
+ var result = await ParseOpenApi ( openapi , inlineExternal , logger , stream ) ;
116
116
document = result . OpenApiDocument ;
117
117
118
118
openApiFormat = format ?? GetOpenApiFormat ( openapi , logger ) ;
@@ -238,7 +238,7 @@ public static async Task ValidateOpenApiDocument(
238
238
}
239
239
using var stream = await GetStream ( openapi , logger , cancellationToken ) ;
240
240
241
- var result = await ParseOpenApi ( openapi , logger , stream ) ;
241
+ var result = await ParseOpenApi ( openapi , false , logger , stream ) ;
242
242
243
243
using ( logger . BeginScope ( "Calculating statistics" ) )
244
244
{
@@ -256,7 +256,7 @@ public static async Task ValidateOpenApiDocument(
256
256
}
257
257
}
258
258
259
- private static async Task < ReadResult > ParseOpenApi ( string openApiFile , ILogger < OpenApiService > logger , Stream stream )
259
+ private static async Task < ReadResult > ParseOpenApi ( string openApiFile , bool inlineExternal , ILogger < OpenApiService > logger , Stream stream )
260
260
{
261
261
ReadResult result ;
262
262
Stopwatch stopwatch = Stopwatch . StartNew ( ) ;
@@ -266,7 +266,9 @@ private static async Task<ReadResult> ParseOpenApi(string openApiFile, ILogger<O
266
266
267
267
result = await new OpenApiStreamReader ( new OpenApiReaderSettings
268
268
{
269
- RuleSet = ValidationRuleSet . GetDefaultRuleSet ( )
269
+ RuleSet = ValidationRuleSet . GetDefaultRuleSet ( ) ,
270
+ LoadExternalRefs = inlineExternal ,
271
+ BaseUrl = openApiFile . StartsWith ( "http" ) ? new Uri ( openApiFile ) : new Uri ( "file:" + new FileInfo ( openApiFile ) . DirectoryName + "\\ " )
270
272
}
271
273
) . ReadAsync ( stream ) ;
272
274
@@ -515,7 +517,7 @@ internal static async Task ShowOpenApiDocument(string openapi, FileInfo output,
515
517
}
516
518
using var stream = await GetStream ( openapi , logger , cancellationToken ) ;
517
519
518
- var result = await ParseOpenApi ( openapi , logger , stream ) ;
520
+ var result = await ParseOpenApi ( openapi , false , logger , stream ) ;
519
521
520
522
using ( logger . BeginScope ( "Creating diagram" ) )
521
523
{
0 commit comments