|
|
|
@ -667,6 +667,17 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|
|
|
|
$this->hasPartialPackages = !empty($data['packages']) && is_array($data['packages']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// metadata-url indiates V2 repo protocol so it takes over from all the V1 types
|
|
|
|
|
// V2 only has lazyProviders and no ability to process anything else, plus support for async loading
|
|
|
|
|
if (!empty($data['metadata-url'])) {
|
|
|
|
|
$this->lazyProvidersUrl = $this->canonicalizeUrl($data['metadata-url']);
|
|
|
|
|
$this->providersUrl = null;
|
|
|
|
|
$this->hasProviders = false;
|
|
|
|
|
$this->hasPartialPackages = false;
|
|
|
|
|
$this->allowSslDowngrade = false;
|
|
|
|
|
unset($data['providers-url'], $data['providers'], $data['providers-includes']);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($this->allowSslDowngrade) {
|
|
|
|
|
$this->url = str_replace('https://', 'http://', $this->url);
|
|
|
|
|
$this->baseUrl = str_replace('https://', 'http://', $this->baseUrl);
|
|
|
|
@ -681,22 +692,6 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|
|
|
|
$this->hasProviders = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO this is for testing only, remove once packagist reports v2 protocol support
|
|
|
|
|
if (preg_match('{^https?://repo\.packagist\.org/?$}i', $this->url)) {
|
|
|
|
|
$this->repoConfig['force-lazy-providers'] = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// force values for packagist
|
|
|
|
|
if (preg_match('{^https?://repo\.packagist\.org/?$}i', $this->url) && !empty($this->repoConfig['force-lazy-providers'])) {
|
|
|
|
|
$this->url = 'https://repo.packagist.org';
|
|
|
|
|
$this->baseUrl = 'https://repo.packagist.org';
|
|
|
|
|
$this->lazyProvidersUrl = $this->canonicalizeUrl('https://repo.packagist.org/p/%package%.json');
|
|
|
|
|
$this->providersUrl = null;
|
|
|
|
|
} elseif (!empty($this->repoConfig['force-lazy-providers'])) {
|
|
|
|
|
$this->lazyProvidersUrl = $this->canonicalizeUrl('/p/%package%.json');
|
|
|
|
|
$this->providersUrl = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $this->rootData = $data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|