So let’s start the implementation for user / error / environment.
The only difficulty resides in the fact that IEndpointRouteBuilder is not defined into a usual library,but the dll csproj must contain
	<ItemGroup>
		<FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
Otherwise,it is work as usual. For example,for seeing a user
 public static void MapUser(this IEndpointRouteBuilder route)
{
    ArgumentNullException.ThrowIfNull(route);
    route.MapGet("api/usefull/user/",(HttpContext httpContext) =>
    {
        return Results.Ok(httpContext.User?.Identity?.Name);
    }).RequiresAuthorization();
}
More difficult was for Environment – that is a Static class. Hopefully,there is a NUGET for this – https://www.nuget.org/packages/rscg_static – that allows to generate an interface from a static class. So I have added this
	<ItemGroup>
		<FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
And code for generating the interface
public partial class Helper
{
    public partial ISystem_Environment FromStaticEnvironment();
}
So,when I want to get the values from Environment,I use this
public static void MapUsefullEnvironment(this IEndpointRouteBuilder route,string? corsPolicy = null,string[]? authorization = null)
{
    ArgumentNullException.ThrowIfNull(route);
    var rh=route.MapGet("api/usefull/environment/",(HttpContext httpContext) =>
    {
        return Results.Ok(new Helper().FromStaticEnvironment());
    });
    rh.AddDefault(corsPolicy,authorization);
}
You can see
- 
as Swagger at https://netcoreusefullendpoints.azurewebsites.net/swagger
 - 
As BlocklyAutomation at https://netcoreusefullendpoints.azurewebsites.net/BlocklyAutomation
 - 
As package at https://www.nuget.org/packages/NetCoreUsefullEndpoints
 
Leave a Reply