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();
/*
FIXME
$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 {
$proxyOptions = Config::getProxyConfig();
if ($proxyOptions) {
$context = stream_context_create(array($proxyOptions));
$info = file_get_contents($url, false, $context);
} else {
$info = file_get_contents($url);
}
}
return $provider->parseKnownReleasesResponse($info);
}