私のOWINミドルウェアはこんな感じです。(フレームワークは 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
呼び出しの前に応答ヘッダーまたはステータスを設定すると、設定したヘッダーとステータスを含む応答がクライアントに返されます。これらを設定する正しい方法は何ですか?