From 0be2fd12e4d6833847b5471eedae23fc910d5dd1 Mon Sep 17 00:00:00 2001 From: Raphael Kallensee Date: Fri, 23 Nov 2012 18:08:32 +0100 Subject: [PATCH] Fix for PEAR package downloading in PearRepository: now using https as scheme if the PEAR channel uses https. The old behavior broke installing PEAR packages from https-only PEAR channels. --- src/Composer/Repository/PearRepository.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/PearRepository.php b/src/Composer/Repository/PearRepository.php index 684a64df6..864738c34 100644 --- a/src/Composer/Repository/PearRepository.php +++ b/src/Composer/Repository/PearRepository.php @@ -106,7 +106,9 @@ class PearRepository extends ArrayRepository // distribution url must be read from /r/{packageName}/{version}.xml::/r/g:text() // but this location is 'de-facto' standard - $distUrl = "http://{$packageDefinition->getChannelName()}/get/{$packageDefinition->getPackageName()}-{$version}.tgz"; + $urlBits = parse_url($this->url); + $scheme = ('https' === $urlBits['scheme'] && extension_loaded('openssl')) ? 'https' : 'http'; + $distUrl = "{$scheme}://{$packageDefinition->getChannelName()}/get/{$packageDefinition->getPackageName()}-{$version}.tgz"; $requires = array(); $suggests = array();