私のスリム3アプリケーションでは、自分のレスポンスにカスタムヘッダを追加するミドルウェアを定義しました。ミドルウェアは、インデックスルーティング機能が呼び出される前にと呼ばれます。例外がスローされた場合、エラーハンドラ関数が呼び出されますが、その関数に渡される$ responseオブジェクトは、新しいレスポンスオブジェクトであり、ミドルウェアでカスタマイズされたものではありません。言い換えれば、私の応答で私はカスタムヘッダーを持っていません。スリムフレームワーク3 - レスポンスオブジェクト
この動作は正しいですか?
# Middleware
$app->add(function ($request, $response, $next) {
$response = $response->withHeader('MyCustomHeader', 'MyCustomValue');
return $next($request, $response);
});
# Error handling
$container['errorHandler'] = function ($container) {
return function ($request, $response, $exception) use ($container) {
return $response->write('ERROR');
};
};
# Index
$app->get('/index', function(Request $request, Response $response) {
throw new exception();
return $response->write('OK');
});