From 37a1e12672a57813d34251c640be1e3dc0fe4537 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Sun, 27 Mar 2016 17:14:51 +0100 Subject: [PATCH] Mark failed downloads as failed instead of 100% complete, fixes #5111 --- src/Composer/Util/RemoteFilesystem.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Composer/Util/RemoteFilesystem.php b/src/Composer/Util/RemoteFilesystem.php index 51baf4cc2..16d97fcf2 100644 --- a/src/Composer/Util/RemoteFilesystem.php +++ b/src/Composer/Util/RemoteFilesystem.php @@ -342,6 +342,10 @@ class RemoteFilesystem // fail 4xx and 5xx responses and capture the response if ($statusCode && $statusCode >= 400 && $statusCode <= 599) { if (!$this->retry) { + if ($this->progress && !$this->retry && !$isRedirect) { + $this->io->overwriteError(" Downloading: Failed"); + } + $e = new TransportException('The "'.$this->fileUrl.'" file could not be downloaded ('.$http_response_header[0].')', $statusCode); $e->setHeaders($http_response_header); $e->setResponse($result); @@ -352,7 +356,7 @@ class RemoteFilesystem } if ($this->progress && !$this->retry && !$isRedirect) { - $this->io->overwriteError(" Downloading: 100%"); + $this->io->overwriteError(" Downloading: ".($result === false ? 'Failed' : '100%')); } // decode gzip