1 | <?php |
||
24 | class MiddlewareStack |
||
25 | { |
||
26 | /** |
||
27 | * @var array|MiddlewareInterface[] |
||
28 | */ |
||
29 | private $middlewareStack = []; |
||
30 | |||
31 | /** |
||
32 | * Creates a Middleware Stack |
||
33 | * |
||
34 | * @param MiddlewareInterface[]|callable[] $middlewareStack |
||
35 | */ |
||
36 | public function __construct(array $middlewareStack) |
||
42 | |||
43 | /** |
||
44 | * Pushes a middleware to the stack |
||
45 | * |
||
46 | * @param MiddlewareInterface|callable $middleware |
||
47 | * |
||
48 | * @return MiddlewareStack |
||
49 | */ |
||
50 | public function push($middleware) |
||
64 | |||
65 | /** |
||
66 | * Processes all the middleware stack |
||
67 | * |
||
68 | * @param ServerRequestInterface $request |
||
69 | * |
||
70 | * @return \Psr\Http\Message\ResponseInterface |
||
71 | */ |
||
72 | public function process(ServerRequestInterface $request) |
||
77 | |||
78 | /** |
||
79 | * Creates a request handler for middleware at the position defined by $index |
||
80 | * |
||
81 | * @param int $index |
||
82 | * |
||
83 | * @return RequestHandler |
||
84 | * |
||
85 | * @throws UnexpectedValueException If the return form a middleware is not a ResponseInterface |
||
86 | */ |
||
87 | private function resolve($index) |
||
111 | } |