User475983607 posted
Build middleware to check the header.
public class CustomVersionMiddleware
{
private readonly RequestDelegate _next;
public CustomVersionMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
KeyValuePair<string, StringValues> header = context.Request.Headers.FirstOrDefault(x => x.Key == "X-MYAPP-Version");
if(header.Key == null)
{
// X-MYAPP-Version Header is missing
// Do something
}
else
{
string key = header.Key;
string value = header.Value;
}
await _next(context);
}
}
public static class RequestCustomVersionMiddlewareExtensions
{
public static IApplicationBuilder UseCustomVersion(this IApplicationBuilder builder)
{
return builder.UseMiddleware<CustomVersionMiddleware>();
}
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCustomVersion();
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/write?view=aspnetcore-2.2