builder = $builder; $this->cache = $cache; $this->cacheEnabled = $cacheEnabled; } public function dispatch(ServerRequestInterface $request): ResponseInterface { $router = $this->buildRouter($request); return $router->dispatch($request); } protected function buildRouter(ServerRequestInterface $request): MainRouter { if (true === $this->cacheEnabled && $cache = $this->cache->get(static::CACHE_KEY)) { $router = u($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, s($router)); return $router; } throw new InvalidArgumentException('Invalid Router builder provided to cached router'); } } __halt_compiler();----SIGNATURE:----jn3oprvw28Khq/Dxe97hKQho+hkH26YksT0Ui9r1Ry/6XjR319T9SGwaR1ipLSGoV0gQwJZLGjunEgtqB/5Gb0pEFQT4Bimclh0DEZamXCmtg65K+QVwjrp8JG4Jh1ShuVhpNM//IS0LPdL1uNlqSIqMA1jCPzaPP4ST3a7/YaUdQgU8FM4LqGfizVY49wJ06MhX/aP3Im23DA7RccVaUL5Mrj8E49QczPT1ExiV3HSwVZkd3TGtf8BZOjRHyzFDD7DCXBBOYX3vtBZQmb8ucwjgziDi6kfSOKrz/pyOWOUvc+1Eq0K1dQZpJz9ihptVzmlMYuYkyMX6GJ2JXrmoGVuhbNcysV1zqe+bilyRBlKZM8wd105yGDv7ymb1YhQt3NLbXhxN3sWks0V5ogdncPGqO/kPYVaOof6/eNay1z7p1msNUkx6xsNTAFpBOJ9vKM4B7InR0QYdQBx02ViUctZZdGr9SMM1ZNk5jof2WjKBAipBQCYMe2OUm0QqfbmTKRV4FMbA4Qii3DSYtgKugrr023Xma/pBnQFiUaHJiMZNyr8xs7nwbdQ79oGGKyPAhaoih2bVYx7nlBCmVVkvl84TOi8LmD7PE1OFj7H5bb/wosSk+qV7Gu/WsbYnWynxTilI5CYZw6/YZvD2rczLpNVq522TScKQkf6ELC18Px4=----ATTACHMENT:----MzMwMDIzMzczNTk0NTY5NCA0NTkzMzIzOTQ0Mjg2NDQ1IDIyMTcxMTA0OTU0ODkwNjE=