Explorar el Código

Lift openssl requirement for github archives (thanks @pborreli)

Jordi Boggiano hace 13 años
padre
commit
3ad905ae99
Se han modificado 1 ficheros con 6 adiciones y 1 borrados
  1. 6 1
      src/Composer/Downloader/FileDownloader.php

+ 6 - 1
src/Composer/Downloader/FileDownloader.php

@@ -51,7 +51,12 @@ abstract class FileDownloader implements DownloaderInterface
         echo 'Downloading '.$url.' to '.$fileName.PHP_EOL;
 
         if (0 === strpos($url, 'https:') && !extension_loaded('openssl')) {
-            throw new \RuntimeException('You must enable the openssl extension to download files via https');
+            // bypass https for github if openssl is disabled
+            if (preg_match('{^https://(github.com/[^/]+/[^/]+/(zip|tar)ball/[^/]+)$}i', $url, $match)) {
+                $url = 'http://nodeload.'.$match[1];
+            } else {
+                throw new \RuntimeException('You must enable the openssl extension to download files via https');
+            }
         }
 
         copy($url, $fileName);