<?php
namespace App\Http\Middlewares;
use Closure;
use Illuminate\Support\Facades\Log;
class TestMiddleware
{
public function handle($request, Closure $next)
{
Log::info($request);
Log::info($next($request));
return $next($request);
}
}
管道模式:
将请求信息 $request 按照中间件的注册顺序顺序依次传递给各个中间件,每个中间件对该请求携带的信息进行验证和处理,并传递给下一个中间件,在处理过程中可以随时向$request中添加信息,直到所有中间件处理完成后,最终将响应返回。
可以看一下Log打印的结果:
[2019-12-03 12:59:34] lumen.INFO: GET /test HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Authorization: JIUzI1NiJ9.eyJzdWIiOiJaTTZZYk9qdmFYIiwiZXhwIjoxNTc1MzgyMDA2fQ._n4hARKvDbWfU3CJOod7j6C8sbuP2DUyz9QH6KnEq_k
Cache-Control: no-cache
Connection: keep-alive
Content-Length:
Content-Type: application/json
Host: oweihaoyu.sandbox.openapi.qcds.com
Postman-Token: 3c7cdd71-49ff-4036-8527-8f8562a6bca6
User-Agent: PostmanRuntime/7.13.0
[2019-12-03 12:59:34] lumen.INFO: HTTP/1.0 200 OK
Cache-Control: no-cache, private
Content-Type: application/json
Date: Tue, 03 Dec 2019 04:59:34 GMT
{"code":0,"msg":"success","data":{}}