8000 Merge branch '5.4' into 6.0 · shuvroroy/symfony@158cb14 · GitHub
[go: up one dir, main page]

Skip to content

Commit 158cb14

Browse files
committed
Merge branch '5.4' into 6.0
* 5.4: [Notifier] [5.4] Make sure Http TransportException is not leaking
2 parents f045a03 + c2bcfdb commit 158cb14

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

src/Symfony/Component/Notifier/Bridge/Mailjet/MailjetTransport.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Symfony\Component\Notifier\Message\SmsMessage;
1919
use Symfony\Component\Notifier\Transport\AbstractTransport;
2020
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
21+
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
2122
use Symfony\Contracts\HttpClient\HttpClientInterface;
2223

2324
/**
@@ -65,7 +66,13 @@ protected function doSend(MessageInterface $message): SentMessage
6566
],
6667
]);
6768

68-
if (200 !== $response->getStatusCode()) {
69+
try {
70+
$statusCode = $response->getStatusCode();
71+
} catch (TransportExceptionInterface $e) {
72+
throw new TransportException('Could not reach the remote Mailjet server.', $response, 0, $e);
73+
}
74+
75+
if (200 !== $statusCode) {
6976
$content = $response->toArray(false);
7077
$errorMessage = $content['requestError']['serviceException']['messageId'] ?? '';
7178
$errorInfo = $content['requestError']['serviceException']['text'] ?? '';

src/Symfony/Component/Notifier/Bridge/MessageMedia/MessageMediaTransport.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,13 @@ protected function doSend(MessageInterface $message): SentMessage
8080
]
8181
);
8282

83-
if (202 === $response->getStatusCode()) {
83+
try {
84+
$statusCode = $response->getStatusCode();
85+
} catch (TransportExceptionInterface $e) {
86+
throw new TransportException('Could not reach the remote MessageMedia server.', $response, 0, $e);
87+
}
88+
89+
if (202 === $statusCode) {
8490
$result = $response->toArray(false)['messages'][0];
8591
$sentMessage = new SentMessage($message, (string) $this);
8692
$sentMessage->setMessageId($result['message_id']);

src/Symfony/Component/Notifier/Bridge/Telnyx/TelnyxTransport.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Symfony\Component\Notifier\Message\SmsMessage;
2020
use Symfony\Component\Notifier\Transport\AbstractTransport;
2121
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
22+
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
2223
use Symfony\Contracts\HttpClient\HttpClientInterface;
2324

2425
/**
@@ -84,7 +85,13 @@ protected function doSend(MessageInterface $message): SentMessage
8485
],
8586
]);
8687

87-
if (200 !== $response->getStatusCode()) {
88+
try {
89+
$statusCode = $response->getStatusCode();
90+
} catch (TransportExceptionInterface $e) {
91+
throw new TransportException('Could not reach the remote Telnyx server.', $response, 0, $e);
92+
}
93+
94+
if (200 !== $statusCode) {
8895
$error = $response->toArray(false);
8996
if (!isset($error['errors'])) {
9097
throw new TransportException('Unable to send the SMS.', $response);

0 commit comments

Comments
 (0)
0