@@ -31,11 +31,12 @@ static OpenApiModelFactory()
3131 /// </summary>
3232 /// <param name="url">The path to the OpenAPI file</param>
3333 /// <param name="settings"> The OpenApi reader settings.</param>
34+ /// <param name="cancellationToken"></param>
3435 /// <returns></returns>
35- public static async Task < ReadResult > LoadAsync ( string url , OpenApiReaderSettings settings = null )
36+ public static async Task < ReadResult > LoadAsync ( string url , OpenApiReaderSettings settings = null , CancellationToken cancellationToken = default )
3637 {
3738 var format = await GetFormatAsync ( url ) ;
38- var stream = await GetStreamAsync ( url ) ;
39+ var stream = await GetStreamAsync ( url , cancellationToken ) ;
3940 return await LoadAsync ( stream , format , settings ) ;
4041 }
4142
@@ -132,13 +133,17 @@ public static async Task<ReadFragmentResult> ParseAsync<T>(string input,
132133 /// <param name="url">The path to the OpenAPI file</param>
133134 /// <param name="version">Version of the OpenAPI specification that the fragment conforms to.</param>
134135 /// <param name="settings">The OpenApiReader settings.</param>
136+ /// <param name="cancellationToken"></param>
135137 /// <returns>Instance of newly created IOpenApiElement.</returns>
136138 /// <returns>The OpenAPI element.</returns>
137- public static async Task < ReadFragmentResult > LoadAsync < T > ( string url , OpenApiSpecVersion version , OpenApiReaderSettings settings = null ) where T : IOpenApiElement
139+ public static async Task < ReadFragmentResult > LoadAsync < T > ( string url ,
140+ OpenApiSpecVersion version ,
141+ OpenApiReaderSettings settings = null ,
142+ CancellationToken cancellationToken = default ) where T : IOpenApiElement
138143 {
139144 var format = await GetFormatAsync ( url ) ;
140145 settings ??= new OpenApiReaderSettings ( ) ;
141- var stream = await GetStreamAsync ( url ) ;
146+ var stream = await GetStreamAsync ( url , cancellationToken ) ;
142147 return await LoadAsync < T > ( stream , version , format , settings ) ;
143148 }
144149
@@ -278,7 +283,7 @@ private static string InspectTextReaderFormat(TextReader reader)
278283 return input . StartsWith ( "{" ) || input . StartsWith ( "[" ) ? OpenApiConstants . Json : OpenApiConstants . Yaml ;
279284 }
280285
281- private static async Task < Stream > GetStreamAsync ( string url )
286+ private static async Task < Stream > GetStreamAsync ( string url , CancellationToken cancellationToken = default )
282287 {
283288 Stream stream ;
284289 if ( url . StartsWith ( "http" , StringComparison . OrdinalIgnoreCase ) || url . StartsWith ( "https" , StringComparison . OrdinalIgnoreCase ) )
0 commit comments