Изменение объекта ответа из OWIN Middleware
Мое промежуточное программное обеспечение OWIN таково. (Framework - это ASP.NET Web API).
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
вызов, ответ с заголовками и установленным мною статусом возвращается клиенту. Как правильно их настроить?