builder = $builder; $this->cache = $cache; $this->cacheEnabled = $cacheEnabled; } public function dispatch(\Psr\Http\Message\ServerRequestInterface $request): \Psr\Http\Message\ResponseInterface { $router = $this->buildRouter($request); return $router->dispatch($request); } protected function buildRouter(\Psr\Http\Message\ServerRequestInterface $request): MainRouter { if (true === $this->cacheEnabled && $cache = $this->cache->get(static::CACHE_KEY)) { $router = \Opis\Closure\unserialize($cache, ['allowed_classes' => true]); if ($router instanceof MainRouter) { return $router; } } $builder = $this->builder; $router = $builder(new MainRouter()); if (false === $this->cacheEnabled) { return $router; } if ($router instanceof MainRouter) { $router->prepareRoutes($request); $this->cache->set(static::CACHE_KEY, \Opis\Closure\serialize($router)); return $router; } throw new InvalidArgumentException('Invalid Router builder provided to cached router'); } } __halt_compiler();----SIGNATURE:----e9PdP0Vb+G5iHKKM/zedbgyR/g7AEBGDfDxR10ThfO0x1gmGbitLVQYQWLrxc8rAaZSRma72cqtQRjYS1sU5bsqSACJfzYRdF9qGY5JN+qcET5bShn0zqhlffYMscurxlhHyFje4co5duocsrQ0QNJMZHGU2IjpoO8KElFIKmm/5aGaO+eEc2dvYAZldwEGnbgJ75S4yA8OxHh+VbFvEa9XggFM4BvNmjRVlZocV1j7Un4oOV84d/gi3mzy0V3haONmQRa42ctYTp6yaoeugcD04rMNwBnC2t3C6s1+GnPePGVtm6o1M9uCmCKPyOgazxCkY4wGML+0jSmnpr75u1hr8y0GX0+/ob+gF9QQPG3g+oX+pxyJLK8XLN6w29GCsU7UpqaQ6f6OaF2VcYjO2vtLYeJ1PQhEK/+sSAoy26F1xRloG3e3bR8Newfwk0e2F8Ji4HZUHYx/nUvrrGIzAs9wwaK5I4hBR2vAtYRSTcvXa7bDB4F4XD/Rj+WrbeOOdcenLcEgE8UyIwkpZu7EWomcmzjJ8d0lyxMDZ7vtxjZIcy+ZHhEcIfQAoE7qzMgZKK+W27/GzToxZcUbmSiKni7XstNBHnAY24DLWVfoD/7lRZSFZQbrbBoLVbOPMSP+6qwjqUbPJuUJ5rtBsNcuCOFgLKCxm+KAkcKkOTwQuP1o=----ATTACHMENT:----NDI0MjA0Njc5NzgxMjg5OSA5MTk3NjQ2OTg0NjI5OTI3IDk5OTY3OTU3MjE0NDM4NzY=