commit | author | age
|
15e03a
|
1 |
<?php |
F |
2 |
|
|
3 |
declare(strict_types= 1); |
|
4 |
|
|
5 |
namespace Framework; |
|
6 |
|
|
7 |
class MiddlewareRequestHandler implements RequestHandlerInterface { |
|
8 |
public function __construct(private array $middlewares, |
|
9 |
private ControllerRequestHandler $controller_handler) { |
|
10 |
|
|
11 |
} |
|
12 |
public function handle(Request $request) : Response { |
|
13 |
$middleware = array_shift($this->middlewares); |
|
14 |
|
|
15 |
if($middleware === null) { |
|
16 |
return $this->controller_handler->handle($request); |
|
17 |
} |
|
18 |
|
|
19 |
return $middleware->process($request, $this); |
|
20 |
} |
|
21 |
} |