Skip to content

Commit 34eb92a

Browse files
committed
add SentMessageEvent
1 parent f2b98b4 commit 34eb92a

File tree

3 files changed

+51
-2
lines changed

3 files changed

+51
-2
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\Notifier\Event;
13+
14+
use Symfony\Component\Notifier\Message\SentMessage;
15+
use Symfony\Contracts\EventDispatcher\Event;
16+
17+
/**
18+
* @author Smaïne Milianni <smaine.milianni@gmail.com>
19+
*
20+
* @experimental in 5.3
21+
*/
22+
final class SentMessageEvent extends Event
23+
{
24+
private $message;
25+
26+
public function __construct(SentMessage $message)
27+
{
28+
$this->message = $message;
29+
}
30+
31+
public function getMessage(): SentMessage
32+
{
33+
return $this->message;
34+
}
35+
}

src/Symfony/Component/Notifier/Transport/AbstractTransport.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy;
1616
use Symfony\Component\HttpClient\HttpClient;
1717
use Symfony\Component\Notifier\Event\MessageEvent;
18+
use Symfony\Component\Notifier\Event\SentMessageEvent;
1819
use Symfony\Component\Notifier\Exception\LogicException;
1920
use Symfony\Component\Notifier\Message\MessageInterface;
2021
use Symfony\Component\Notifier\Message\SentMessage;
@@ -76,7 +77,13 @@ public function send(MessageInterface $message): SentMessage
7677
$this->dispatcher->dispatch(new MessageEvent($message));
7778
}
7879

79-
return $this->doSend($message);
80+
$sentMessage = $this->doSend($message);
81+
82+
if (null !== $this->dispatcher) {
83+
$this->dispatcher->dispatch(new SentMessageEvent($sentMessage));
84+
}
85+
86+
return $sentMessage;
8087
}
8188

8289
abstract protected function doSend(MessageInterface $message): SentMessage;

src/Symfony/Component/Notifier/Transport/NullTransport.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symfony\Component\EventDispatcher\Event;
1515
use Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy;
1616
use Symfony\Component\Notifier\Event\MessageEvent;
17+
use Symfony\Component\Notifier\Event\SentMessageEvent;
1718
use Symfony\Component\Notifier\Message\MessageInterface;
1819
use Symfony\Component\Notifier\Message\NullMessage;
1920
use Symfony\Component\Notifier\Message\SentMessage;
@@ -41,7 +42,13 @@ public function send(MessageInterface $message): SentMessage
4142
$this->dispatcher->dispatch(new MessageEvent($message));
4243
}
4344

44-
return new SentMessage($message, (string) $this);
45+
$sentMessage = new SentMessage($message, (string) $this);
46+
47+
if (null !== $this->dispatcher) {
48+
$this->dispatcher->dispatch(new SentMessageEvent($sentMessage));
49+
}
50+
51+
return $sentMessage;
4552
}
4653

4754
public function __toString(): string

0 commit comments

Comments
 (0)