1 | <?php |
||
12 | final class PluginChain |
||
13 | { |
||
14 | /** @var Plugin[] */ |
||
15 | private $plugins; |
||
16 | |||
17 | /** @var callable */ |
||
18 | private $clientCallable; |
||
19 | |||
20 | /** @var int */ |
||
21 | private $maxRestarts; |
||
22 | |||
23 | /** @var int */ |
||
24 | private $restarts = 0; |
||
25 | |||
26 | /** |
||
27 | * @param Plugin[] $plugins A plugin chain |
||
28 | * @param callable $clientCallable Callable making the HTTP call |
||
29 | * @param array $options { |
||
30 | * |
||
31 | * @var int $max_restarts |
||
32 | * } |
||
33 | */ |
||
34 | 5 | public function __construct(array $plugins, callable $clientCallable, array $options = []) |
|
40 | |||
41 | 5 | private function createChain(): callable |
|
54 | |||
55 | 5 | public function __invoke(RequestInterface $request): Promise |
|
65 | } |
||
66 |