1 | <?php |
||
13 | class MiddlewareQueue |
||
14 | { |
||
15 | /** |
||
16 | * @var \SplQueue |
||
17 | */ |
||
18 | public $middlewares; |
||
19 | |||
20 | public function __construct($middlewares = []) |
||
27 | |||
28 | /** |
||
29 | * Add a middleware to the queue |
||
30 | * @param callable|MiddlewareInterface $middleware |
||
31 | */ |
||
32 | public function push($middleware) |
||
39 | |||
40 | /** |
||
41 | * Get all middlewares |
||
42 | * @return MiddlewareInterface[] |
||
43 | */ |
||
44 | public function all() |
||
52 | |||
53 | /** |
||
54 | * Dispatch the request to the middlewares and get psr7 response |
||
55 | * @param ServerRequestInterface $request |
||
56 | * @throws MissingResponseException |
||
57 | * @return ResponseInterface |
||
58 | */ |
||
59 | public function process(ServerRequestInterface $request) |
||
67 | |||
68 | /** |
||
69 | * @return Delegate |
||
70 | */ |
||
71 | protected function generateDelegate() |
||
76 | |||
77 | protected static function decorateCallableMiddleware(callable $middleware) |
||
81 | } |