1

我正在尝试使用流明微框架中的一个标题( X-Powered-By) 。AfterMiddleware不幸的是,没有设置标题。假设甚至没有处理中间件(如下所示)。

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中间件设置器

$app->middleware([
    'App\Http\Middleware\AfterMiddleware'
]);

我在这里错过了什么吗?

4

1 回答 1

0

想通了:中间件不会处理异常(在我的例子中是 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。将为此提出一个新问题。

于 2015-05-23T06:15:11.580 回答