Example #1
0
 /**
  * @param Asset $asset
  */
 protected function checkAsset(Asset $asset)
 {
     if (!$this->shouldBeChecked($asset) || !$this->observer->pageToCheck($asset)) {
         return;
     }
     $cookies = $this->config->getCookies();
     foreach ($cookies as $key => $cookie) {
         $cookie['Domain'] = $this->basePage->host;
         $cookies[$key] = new SetCookie($cookie);
     }
     $jar = new CookieJar(false, $cookies);
     try {
         $response = $this->client->request('GET', $asset->getURL(), ['cookies' => $jar]);
     } catch (RequestException $exception) {
         $response = $exception->getResponse();
         $asset->setResponseCode(Asset::CODE_ERROR);
     }
     if ($response) {
         $asset->setResponseCode($response->getStatusCode());
     }
     $this->observer->pageChecked($asset, $response);
     $this->checkedAssets[] = $asset;
     if (!$response) {
         return;
     }
     if (!$this->isExternal($asset) && $this->isHtmlPage($response)) {
         $this->checkAllAssets($response->getBody()->getContents(), $asset);
     }
 }