public function knownReleases(Provider $provider) { $url = $provider->buildKnownReleasesUrl(); if (extension_loaded('curl')) { $curlVersionInfo = curl_version(); $curlOptions = array(CURLOPT_USERAGENT => 'curl/' . $curlVersionInfo['version']); $downloader = new CurlDownloader(); $downloader->setProgressHandler(new ProgressBar()); $console = Console::getInstance(); if (!$console->options->{'no-progress'}) { $downloader->setProgressHandler(new ProgressBar()); } if ($this->options) { if ($proxy = $this->options->{'http-proxy'}) { $downloader->setProxy($proxy); } if ($proxyAuth = $this->options->{'http-proxy-auth'}) { $downloader->setProxyAuth($proxyAuth); } } $info = $downloader->request($url, array(), $curlOptions); } else { $info = file_get_contents($url); } return $provider->parseKnownReleasesResponse($info); }