public function main() { $result = $error = $url = NULL; $this->view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName($this->templatePath . 'Main.html')); if ($this->configuration->isValid()) { try { $this->checkPageId(); $url = $this->urlService->getFullUrl($this->pageId, $this->pObj->MOD_SETTINGS); if (GeneralUtility::_GET('clear')) { $this->pageSpeedRepository->clearByIdentifier($url); $this->view->assign('cacheCleared', TRUE); } $result = $this->pageSpeedRepository->findByIdentifier($url); } catch (\HTTP_Request2_ConnectionException $e) { $error = 'error.http_request.connection'; // todo add log } catch (\RuntimeException $e) { $error = $e->getMessage(); } } else { $error = 'error.invalid.key'; } $this->view->assignMultiple(array('lll' => 'LLL:EXT:page_speed/Resources/Private/Language/locallang.xlf:', 'menu' => $this->modifyFuncMenu(BackendUtility::getFuncMenu($this->pObj->id, 'SET[language]', $this->pObj->MOD_SETTINGS['language'], $this->pObj->MOD_MENU['language']), 'language'), 'configuration' => $this->configuration, 'result' => $result, 'url' => $url, 'error' => $error, 'pageId' => $this->pageId)); return $this->view->render(); }
/** * @param string $identifier * @param string $strategy * @param string $locale * @return string */ protected function getResponseFromApi($identifier, $strategy, $locale = 'en') { $url = sprintf('https://www.googleapis.com/pagespeedonline/v2/runPagespeed?screenshot=true&url=%s&strategy=%s&locale=%s&key=%s', rawurlencode($identifier), $strategy, $locale, $this->configuration->getKey()); return $this->apiCall($url); }