Files
juipphp/vendor/qiniu/php-sdk/src/Qiniu/Http/Middleware/Middleware.php
“wanyongkang” 3d3f588690 七牛云
2024-02-29 10:30:38 +08:00

32 lines
692 B
PHP

<?php
namespace Qiniu\Http\Middleware;
use Qiniu\Http\Request;
use Qiniu\Http\Response;
interface Middleware
{
/**
* @param Request $request
* @param callable(Request): Response $next
* @return Response
*/
public function send($request, $next);
}
/**
* @param array<Middleware> $middlewares
* @param callable(Request): Response $handler
* @return callable(Request): Response
*/
function compose($middlewares, $handler)
{
$next = $handler;
foreach (array_reverse($middlewares) as $middleware) {
$next = function ($request) use ($middleware, $next) {
return $middleware->send($request, $next);
};
}
return $next;
}