Я пытаюсь выяснить, как я могу вернуть неверный запрос при вызове по HTTP-соединению, а не по https. Единственный способ выяснить, как это сделать, - написать промежуточное программное обеспечение и проверить каждый запрос следующим образом:
public class HttpRequestInterceptor
{
private readonly RequestDelegate _next;
public HttpRequestInterceptor(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
var scheme = context.Request.Scheme;
if (scheme.Equals("http", StringComparison.InvariantCultureIgnoreCase))
{
context.Response.StatusCode = 400;
context.Response.ContentType = "application/json";
await context.Response.WriteAsync("{\"result:\" \"Bad Request\"}", Encoding.UTF8);
return;
}
await _next.Invoke(context);
}
}
Есть ли лучший способ сделать это? Может быть встроенный способ через рамки?