1
0
Fork 0

Merge pull request #8810 from heddn/8809_expand_context_post_file_download

#8809: expand context for post file download event
pull/8836/head
Jordi Boggiano 2020-04-22 17:14:45 +02:00 committed by GitHub
commit d6a9d78309
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 4 deletions

View File

@ -141,7 +141,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
->then($accept, $reject);
}
return $result->then(function ($result) use ($fileName, $checksum, $url, $eventDispatcher) {
return $result->then(function ($result) use ($fileName, $checksum, $url, $package, $eventDispatcher) {
// in case of retry, the first call's Promise chain finally calls this twice at the end,
// once with $result being the returned $fileName from $accept, and then once for every
// failed request with a null result, which can be skipped.
@ -159,7 +159,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
}
if ($eventDispatcher) {
$postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, $fileName, $checksum, $url['processed']);
$postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, $fileName, $checksum, $url['processed'], $package);
$eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent);
}

View File

@ -13,7 +13,7 @@
namespace Composer\Plugin;
use Composer\EventDispatcher\Event;
use Composer\Util\RemoteFilesystem;
use Composer\Package\PackageInterface;
/**
* The post file download event.
@ -38,6 +38,11 @@ class PostFileDownloadEvent extends Event
*/
private $url;
/**
* @var \Composer\Package\PackageInterface
*/
private $package;
/**
* Constructor.
*
@ -45,13 +50,15 @@ class PostFileDownloadEvent extends Event
* @param string $fileName The file name
* @param string|null $checksum The checksum
* @param string $url The processed url
* @param PackageInterface $package The package.
*/
public function __construct($name, $fileName, $checksum, $url)
public function __construct($name, $fileName, $checksum, $url, PackageInterface $package)
{
parent::__construct($name);
$this->fileName = $fileName;
$this->checksum = $checksum;
$this->url = $url;
$this->package = $package;
}
/**
@ -82,4 +89,14 @@ class PostFileDownloadEvent extends Event
return $this->url;
}
/**
* Get the package.
*
* @return \Composer\Package\PackageInterface
* The package.
*/
public function getPackage() {
return $this->package;
}
}