Мое промежуточное ПО OWIN выглядит так. (Framework - это веб-API ASP.NET).
public class MyMiddleware : OwinMiddleware
{
public MyMiddleware(OwinMiddleware next) : base(next) { }
public override async Task Invoke(OwinRequest request, OwinResponse response)
{
var header = request.GetHeader("X-Whatever-Header");
await Next.Invoke(request, response);
response.SetHeader("X-MyResponse-Header", "Some Value");
response.StatusCode = 403;
}
}
Вопросы:
Рекомендуется ли использовать
OwinMiddleware
? Я вижу, что в исходном коде Katana некоторые классы промежуточного программного обеспечения являются производными отOwinMiddleware
, а некоторые - нет.Я могу видеть заголовки запросов. Установка заголовка ответа или кода состояния после
Next.Invoke
в моем промежуточном программном обеспечении не влияет на ответ, возвращаемый клиенту. Но если я устанавливаю заголовок ответа или статус перед вызовомNext.Invoke
, ответ с заголовками и статусом, который я установил, возвращается клиенту. Как правильно их настроить?