clientResolver = $clientResolver; $this->resultJsonFactory = $resultJsonFactory; $this->tagFilter = $tagFilter; } /** * Check for connection to server * * @return \Magento\Framework\Controller\Result\Json */ public function execute() { $result = [ 'success' => false, 'errorMessage' => '', ]; $options = $this->getRequest()->getParams(); try { if (empty($options['engine'])) { throw new \Magento\Framework\Exception\LocalizedException( __('Missing search engine parameter.') ); } $response = $this->clientResolver->create($options['engine'], $options)->testConnection(); if ($response) { $result['success'] = true; } } catch (\Magento\Framework\Exception\LocalizedException $e) { $result['errorMessage'] = $e->getMessage(); } catch (\Exception $e) { $message = __($e->getMessage()); $result['errorMessage'] = $this->tagFilter->filter($message); } /** @var \Magento\Framework\Controller\Result\Json $resultJson */ $resultJson = $this->resultJsonFactory->create(); return $resultJson->setData($result); } }