Alterando o Objeto de Resposta do OWIN Middleware
Meu middleware OWIN é assim. (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;
}
}
Questões:
É a prática recomendada para derivar deOwinMiddleware
? Eu vejo que na fonte de Katana, algumas das classes de middleware derivamOwinMiddleware
e alguns não.
Eu posso ver os cabeçalhos da solicitação bem. Configurando o cabeçalho de resposta ou o código de status apósNext.Invoke
no meu middleware não tem efeito sobre a resposta retornada para o cliente. Mas se eu definir o cabeçalho de resposta ou status antes doNext.Invoke
chamada, a resposta com cabeçalhos e o status que eu configuro são retornados para o cliente. Qual é o caminho certo para defini-las?