NetCoreUsefullEndpoints–part 6–passing to .NET 7
So .NET 7 has appeared and I decided to pass NetCoreUsefullEndpoints to .NET 7 .
Also, for RateLimiter , I have considered that is good to know if the request is local or remote … so I decided to add connection ( remote IP, local IP, and more details) to the nuget package.
So I have created for .NET 6 this :
So , first things first : modify the version from 6.2022.1203.1551 to 7.2022.1203.1551 ( my versioning scheme is .NETCore version compliant of the package.year.MMdd.HHmm – pretty stable and easy to decide what package you should add)
Then I want to profit to show in swagger the return type with TypedResults – so , as an example , I have modified from
route.MapGet(“api/usefull/httpContext/Connection”, (HttpContext httpContext) =>
{
var con = httpContext.Connection;
if (con == null)
{
return Results.NoContent();
}
var conSerialize = new
{
LocalIpAddress = con.LocalIpAddress?.ToString(),
RemoteIpAddress = con.RemoteIpAddress?.ToString(),
con.RemotePort,
con.LocalPort,
con.ClientCertificate,
con.Id
};
return Results.Ok(conSerialize);})
to
route.MapGet(“api/usefull/httpContext/Connection”,
Results<NoContent, Ok<object>>
(HttpContext httpContext) =>
{
var con = httpContext.Connection;
if (con == null)
{
return TypedResults.NoContent();
}
var conSerialize = new
{
LocalIpAddress = con.LocalIpAddress?.ToString(),
RemoteIpAddress = con.RemoteIpAddress?.ToString(),
con.RemotePort,
con.LocalPort,
con.ClientCertificate,
con.Id
};
return TypedResults.Ok((object)conSerialize);
})
As you see , a pretty easy modification – indicating the INesteHttpResult Results<NoContent, Ok<object>> ( so the swagger understand the 2 different return types ) and returning TypedResults instead of Results
Also the github ci must add the .NET Core and Azure App Service should be going to .NET 7 STS
Leave a Reply