Ändern des Antwortobjekts aus der OWIN Middleware
Meine OWIN Middleware ist so. (Framework ist die 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;
}
}
Fragen:
Ist es die empfohlene Praxis abzuleitenOwinMiddleware
? Ich sehe, dass in der Katana-Quelle einige der Middleware-Klassen von stammenOwinMiddleware
und manche nicht.
Ich kann die Anforderungsheader in Ordnung sehen. Einstellen des Antwortheaders oder des Statuscodes nachNext.Invoke
in meiner Middleware hat keine Auswirkung auf die an den Client zurückgesendete Antwort. Aber wenn ich den Antwortheader oder den Status vor dem setzeNext.Invoke
call, die Antwort mit Headern und der von mir gesetzte Status werden an den Client zurückgesendet. Wie können diese richtig eingestellt werden?