From 841efc98a69991c4a093460d36e285c294ea7bf3 Mon Sep 17 00:00:00 2001 From: Christoph Hochstrasser Date: Wed, 29 Aug 2012 15:08:04 +0200 Subject: [PATCH 1/2] Appending 'packages.json' only if not present in URL --- src/Composer/Repository/ComposerRepository.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/ComposerRepository.php b/src/Composer/Repository/ComposerRepository.php index 99c8bbd9a..1b18b91a8 100644 --- a/src/Composer/Repository/ComposerRepository.php +++ b/src/Composer/Repository/ComposerRepository.php @@ -191,7 +191,13 @@ class ComposerRepository extends ArrayRepository implements NotifiableRepository } try { - $json = new JsonFile($this->url.'/packages.json', new RemoteFilesystem($this->io)); + if ($parts = parse_url($this->url) and isset($parts['path']) and strpos($parts['path'], '/packages.json') !== false) { + $jsonUrl = $this->url; + } else { + $jsonUrl = $this->url . '/packages.json'; + } + + $json = new JsonFile($jsonUrl, new RemoteFilesystem($this->io)); $data = $json->read(); if (!empty($data['notify'])) { From 560d6daccf7958a5c3a8b3eb6cbb7b7f43457564 Mon Sep 17 00:00:00 2001 From: Christoph Hochstrasser Date: Wed, 29 Aug 2012 15:12:08 +0200 Subject: [PATCH 2/2] Using separate variable for URL parts --- src/Composer/Repository/ComposerRepository.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Composer/Repository/ComposerRepository.php b/src/Composer/Repository/ComposerRepository.php index 1b18b91a8..6556aee5b 100644 --- a/src/Composer/Repository/ComposerRepository.php +++ b/src/Composer/Repository/ComposerRepository.php @@ -191,7 +191,9 @@ class ComposerRepository extends ArrayRepository implements NotifiableRepository } try { - if ($parts = parse_url($this->url) and isset($parts['path']) and strpos($parts['path'], '/packages.json') !== false) { + $jsonUrlParts = parse_url($this->url); + + if (isset($jsonUrlParts['path']) and strpos($jsonUrlParts['path'], '/packages.json') !== false) { $jsonUrl = $this->url; } else { $jsonUrl = $this->url . '/packages.json';