/** * @param ShowKeyQuery $query * * @throws \hollodotme\Readis\Exceptions\ServerConfigNotFound */ public function handle(ShowKeyQuery $query) { $serverKey = $query->getServerKey(); $key = $query->getKey(); $hashKey = $query->getHashKey(); $database = $query->getDatabase(); $serverConfig = $this->serversConfig->getServerConfig($serverKey); $connection = new ServerConnection($serverConfig); $manager = new ServerManager($connection); $manager->selectDatabase($database); if (empty($hashKey)) { $keyData = $manager->getValueAsUnserializedString($key, new NullUnserializer()); } else { $keyData = $manager->getHashValueAsUnserializedString($key, $hashKey, new NullUnserializer()); } $keyInfo = $manager->getKeyInfoObject($key); $page = new TwigPage('Includes/KeyData.twig', ['appConfig' => $this->appConfig, 'keyData' => $keyData, 'keyInfo' => $keyInfo, 'database' => $database, 'serverKey' => $serverKey, 'hashKey' => $hashKey]); $page->respond(); }