| File: Transformers\TypeBasedTransforrmerExtensions.cs | Web Access |
| Project: src\aspnetcore\src\OpenApi\src\Microsoft.AspNetCore.OpenApi.csproj (Microsoft.AspNetCore.OpenApi) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.OpenApi; internal static class TypeBasedTransformerExtensions { /// <summary> /// Supports disposing of factory-based transformers that implement <see cref="IDisposable"/> or <see cref="IAsyncDisposable"/> /// after a given OpenAPI document generation request has been completed. /// </summary> /// <remarks> /// This method is intended to be invoked on <see cref="TypeBasedOpenApiOperationTransformer" /> and <see cref="TypeBasedOpenApiSchemaTransformer" />. /// instances which can be invoked multiple times within the same document generation request. /// </remarks> public static async Task FinalizeTransformer<ITransformer>(this ITransformer transformer) { if (transformer is IAsyncDisposable asyncDisposable) { await asyncDisposable.DisposeAsync(); } else if (transformer is IDisposable disposable) { disposable.Dispose(); } } }