中间件中如何获取响应信息的头部和主体内容?

我爱娃哈哈

接口返回数据需要做加密处理,打算用中间件去实现,请问如何在中间件里获取response响应头和主体内容?

964 1 3
1个回答

oliusha
<?php

declare(strict_types=1);

namespace app\middleware\admin;

use Webman\MiddlewareInterface;
use Webman\Http\Response;
use Webman\Http\Request;

class Test implements MiddlewareInterface
{
    public function process(Request $request, callable $handler) : Response
    {
        echo '请求穿越阶段,也就是请求处理前';

        $response = $handler($request); // 继续向洋葱芯穿越,直至执行控制器得到响应

        echo '响应穿出阶段,也就是请求处理后';

        var_dump($response->getHeader('Content-Type'));//指定的响应头

        var_dump($response->getHeaders());//全部响应头

        var_dump($response->rawBody());//响应的内容

        return $response;
    }
}
  • liziyu 2022-09-04

    地道,👍

  • z 2023-08-01

    请问这个在控制器输出视图的的时候怎么使用
    $response = view('index/main', $data_view);
    $response->middleware('Test ');
    return $response;
    按你的test 提示错误Error: Call to undefined method support\Response::middleware()

年代过于久远,无法发表回答
🔝