Я пытаюсь установить заголовок ( X-Powered-By
), используя AfterMiddleware
в микроструктуре Lumen. К сожалению, заголовок не устанавливается. Предполагается, что промежуточное ПО (показано ниже) даже не обрабатывается.
AfterMiddleware.php
<?php namespace App\Http\Middleware; use Closure; class AfterMiddleware { public function handle($request, Closure $next) { $response = $next($request); $response->header('X-Powered-By', env('APP_NAME') . '/' . env('APP_VER')); return $response; } }
bootstrap / app.php middleware setter
$app->middleware([ 'App\Http\Middleware\AfterMiddleware' ]);
Я что-то упустил?
Выяснилось: промежуточное ПО не будет обрабатываться для Исключения (404, в моем случае). Моим временным решением является просто добавить заголовок в ответ непосредственно в обработчике исключений.
if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) { return response(view('not-found'), 404)->header('X-Powered-By', env('APP_NAME')."/".env('APP_VER')); }
К сожалению, заголовок дублируется, хотя $replace
значения по умолчанию на true. Откроет для этого новый вопрос.