Cast async Tasks to Delegate and let the framework handle awaiting it

This commit is contained in:
2024-10-18 13:18:45 +02:00
parent 8789f994bf
commit ecee8433a0
2 changed files with 4 additions and 4 deletions
@@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>0.8.17</Version>
<Version>0.8.18</Version>
<LangVersion>latest</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Alexandru Macocian</Authors>
@@ -262,11 +262,11 @@ public class UseRoutesGenerator : IIncrementalGenerator
return returnTypeSymbol?.ToDisplayString() switch
{
"System.Threading.Tasks.Task<Microsoft.AspNetCore.Http.IResult>" => @$"
builder.Map{type}(""{pattern}"", async (HttpContext httpContext, {classDeclarationSyntax.Identifier} route{(parameters.Length > 0 ? $", {parameters}" : "")}) =>
builder.Map{type}(""{pattern}"", (Delegate)((HttpContext httpContext, {classDeclarationSyntax.Identifier} route{(parameters.Length > 0 ? $", {parameters}" : "")}) =>
{{
var cancellationToken = httpContext.RequestAborted;
return await route.{methodDeclarationSyntax.Identifier}({variables});
}}){routeFilterSb};",
return route.{methodDeclarationSyntax.Identifier}({variables});
}})){routeFilterSb};",
"Microsoft.AspNetCore.Http.IResult" => @$"
builder.Map{type}(""{pattern}"", (HttpContext httpContext, {classDeclarationSyntax.Identifier} route{(parameters.Length > 0 ? $", {parameters}" : "")}) =>
{{