/** * Collect stats from a url * @param string $url * @return null */ private function collectStats($url) { try { $stats = new \GuzzleHttp\Client(); $stats->request('GET', $url, ['on_stats' => function (TransferStats $stats) use($url) { if ($stats->hasResponse()) { $this->site_links[$url]['stats'] = $stats->getHandlerStats(); } else { return $stats->getHandlerErrorData(); } }, 'headers' => ['User-Agent' => $this->userAgent]]); } catch (CurlException $ex) { $this->site_links[$url_to_traverse]['stats'] = ['error' => "CURL exception: " . $url_to_traverse]; } catch (RequestException $ex) { $this->site_links[$url_to_traverse]['stats'] = ['error' => "error retrieving data from link: " . $url_to_traverse]; } catch (Exception $ex) { $this->site_links[$url_to_traverse]['stats'] = ['error' => "error retrieving data from link: " . $url_to_traverse]; } }