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:----YZtvAqrngGJiNX9xxouyZcqD7C9qZfUpQ6W64qZbLaZiuARa5TJYgW8QEZ0ug9jFRletIU4gYKaN8fzzBZZtu3i2MjLbx2eILySUPmX+3IPox7Tbl2HYTkHL6oq8LmQXKI8ETEaqXGoVQTSxZNTp4Fh8OrHRWKzIh5Kt1eNgnz2W4ohVnvsGBR9Pjqdds7ahyXjGVCBX2j8d5xa+WFMtI4DlQP+dSB01qMgBv7xw9f1sww8u1eQ6fg7QLpM2WVKuRwPogdk53EBdja9PH9SKIioFCt4JBwgaknvVRX6j+lr2KX8anAZiJkHQFDYFWU8fRCxnDm+FQb8BG7zUZadBT4KYQ/oF0DLPJHGd7hcKVKEHxkDe2AfdlGUYH2qRpixNoMMMU4CKgMfzzp6SiLE7hR9qDfG3l2AcHXSJfkp86/5GpkkajZXP7SZPI7OWVsQl57FMxyU7zpWutiVgQgCmQHxifmjaBwNOcgf3HqebJ7HAAdr+tLETHxXfERxACjUGOcpCtZo6sgfhQgCmsaiixmtrNjifRsQ1WShA75+yDUZizujlTUXgaggsKC7WerTy1PnsIBC/rxEQI3qI3hKBIg57nXHEI1SVEs585NkJTnTd7jEOBqSEjBV713mZligwkPHi8C8JU8TzRemTtdi5rxkpEZ7yd+TE/3muzt64SnE=----ATTACHMENT:----NjAwMzc0MjIxMTA3MjI1MSAyODU5NjczODM2OTMzMTYxIDI4NzE3Nzg5MTY2MDc0MzQ=