1
0
Fork 0

Add repository instance to Pre/PostFileDownloadEvent metadata

pull/9822/head
Jordi Boggiano 2021-04-09 11:20:21 +02:00
parent 7dd95a768b
commit 9a9c738f23
No known key found for this signature in database
GPG Key ID: 7BBD42C429EC80BC
3 changed files with 8 additions and 7 deletions

View File

@ -109,7 +109,7 @@ class PostFileDownloadEvent extends Event
* Returns the context of this download, if any. * Returns the context of this download, if any.
* *
* If this download is of type package, the package object is returned. If * If this download is of type package, the package object is returned. If
* this download is of type metadata, the HTTP response is returned. * this download is of type metadata, an array{response: Response, repository: RepositoryInterface} is returned.
* *
* @return mixed * @return mixed
*/ */

View File

@ -127,6 +127,7 @@ class PreFileDownloadEvent extends Event
* Returns the context of this download, if any. * Returns the context of this download, if any.
* *
* If this download is of type package, the package object is returned. * If this download is of type package, the package object is returned.
* If the type is metadata, an array{repository: RepositoryInterface} is returned.
* *
* @return mixed * @return mixed
*/ */

View File

@ -1086,7 +1086,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
while ($retries--) { while ($retries--) {
try { try {
if ($this->eventDispatcher) { if ($this->eventDispatcher) {
$preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata'); $preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata', array('repository' => $this));
$this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent); $this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent);
$filename = $preFileDownloadEvent->getProcessedUrl(); $filename = $preFileDownloadEvent->getProcessedUrl();
} }
@ -1112,7 +1112,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
} }
if ($this->eventDispatcher) { if ($this->eventDispatcher) {
$postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, $sha256, $filename, 'metadata', $response); $postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, $sha256, $filename, 'metadata', array('response' => $response, 'repository' => $this));
$this->eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent); $this->eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent);
} }
@ -1178,7 +1178,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
while ($retries--) { while ($retries--) {
try { try {
if ($this->eventDispatcher) { if ($this->eventDispatcher) {
$preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata'); $preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata', array('repository' => $this));
$this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent); $this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent);
$filename = $preFileDownloadEvent->getProcessedUrl(); $filename = $preFileDownloadEvent->getProcessedUrl();
} }
@ -1195,7 +1195,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
} }
if ($this->eventDispatcher) { if ($this->eventDispatcher) {
$postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, null, $filename, 'metadata', $response); $postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, null, $filename, 'metadata', array('response' => $response, 'repository' => $this));
$this->eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent); $this->eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent);
} }
@ -1252,7 +1252,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
$httpDownloader = $this->httpDownloader; $httpDownloader = $this->httpDownloader;
if ($this->eventDispatcher) { if ($this->eventDispatcher) {
$preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata'); $preFileDownloadEvent = new PreFileDownloadEvent(PluginEvents::PRE_FILE_DOWNLOAD, $this->httpDownloader, $filename, 'metadata', array('repository' => $this));
$this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent); $this->eventDispatcher->dispatch($preFileDownloadEvent->getName(), $preFileDownloadEvent);
$filename = $preFileDownloadEvent->getProcessedUrl(); $filename = $preFileDownloadEvent->getProcessedUrl();
} }
@ -1288,7 +1288,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
} }
if ($eventDispatcher) { if ($eventDispatcher) {
$postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, null, $url, 'metadata', $response); $postFileDownloadEvent = new PostFileDownloadEvent(PluginEvents::POST_FILE_DOWNLOAD, null, null, $url, 'metadata', array('response' => $response, 'repository' => $repo));
$eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent); $eventDispatcher->dispatch($postFileDownloadEvent->getName(), $postFileDownloadEvent);
} }