From cfd932e03646f91457b08f2b748ed0ab56cb7e4f Mon Sep 17 00:00:00 2001 From: Oskar Stark Date: Fri, 18 Dec 2020 09:51:04 +0100 Subject: [PATCH] [Notifier] [Infobip][Zulip] Host is required --- .../Component/Notifier/Bridge/Infobip/InfobipTransport.php | 5 +++++ src/Symfony/Component/Notifier/Bridge/Infobip/README.md | 6 +++--- .../Notifier/Bridge/Mattermost/MattermostTransport.php | 7 ++++++- src/Symfony/Component/Notifier/Bridge/Zulip/README.md | 3 ++- .../Component/Notifier/Bridge/Zulip/ZulipTransport.php | 4 ++-- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Component/Notifier/Bridge/Infobip/InfobipTransport.php b/src/Symfony/Component/Notifier/Bridge/Infobip/InfobipTransport.php index a480aabc6e..cbeae8b574 100644 --- a/src/Symfony/Component/Notifier/Bridge/Infobip/InfobipTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Infobip/InfobipTransport.php @@ -86,4 +86,9 @@ final class InfobipTransport extends AbstractTransport return new SentMessage($message, (string) $this); } + + protected function getEndpoint(): ?string + { + return $this->host.($this->port ? ':'.$this->port : ''); + } } diff --git a/src/Symfony/Component/Notifier/Bridge/Infobip/README.md b/src/Symfony/Component/Notifier/Bridge/Infobip/README.md index 841b659d5f..915f9817e0 100644 --- a/src/Symfony/Component/Notifier/Bridge/Infobip/README.md +++ b/src/Symfony/Component/Notifier/Bridge/Infobip/README.md @@ -1,18 +1,18 @@ Infobip Notifier ================ -Provides Infobip integration for Symfony Notifier. +Provides [Infobip](https://infobip.com) integration for Symfony Notifier. DSN example ----------- ``` -INFOBIP_DSN=infobip://AUTH_TOKEN@INFOBIP_HOST?from=FROM +INFOBIP_DSN=infobip://AUTH_TOKEN@HOST?from=FROM ``` where: - `AUTH_TOKEN` is your Infobip auth token - - `INFOBIP_HOST` is your Infobip host + - `HOST` is your Infobip host - `FROM` is the sender Resources diff --git a/src/Symfony/Component/Notifier/Bridge/Mattermost/MattermostTransport.php b/src/Symfony/Component/Notifier/Bridge/Mattermost/MattermostTransport.php index 903f067f43..6845b01861 100644 --- a/src/Symfony/Component/Notifier/Bridge/Mattermost/MattermostTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Mattermost/MattermostTransport.php @@ -78,9 +78,14 @@ final class MattermostTransport extends AbstractTransport $success = $response->toArray(false); - $sentMessage = new SentMessage($sentMessage, (string) $this); + $sentMessage = new SentMessage($message, (string) $this); $sentMessage->setMessageId($success['id']); return $sentMessage; } + + protected function getEndpoint(): ?string + { + return $this->host.($this->port ? ':'.$this->port : ''); + } } diff --git a/src/Symfony/Component/Notifier/Bridge/Zulip/README.md b/src/Symfony/Component/Notifier/Bridge/Zulip/README.md index a81a4154a5..71c3db76c9 100644 --- a/src/Symfony/Component/Notifier/Bridge/Zulip/README.md +++ b/src/Symfony/Component/Notifier/Bridge/Zulip/README.md @@ -7,12 +7,13 @@ DSN example ----------- ``` -ZULIP_DSN=zulip://EMAIL:TOKEN@default?channel=CHANNEL +ZULIP_DSN=zulip://EMAIL:TOKEN@HOST?channel=CHANNEL ``` where: - `EMAIL` is your Zulip email - `TOKEN` is your Zulip token + - `HOST` is your Zulip host - `CHANNEL` is the channel Resources diff --git a/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipTransport.php b/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipTransport.php index 297676202c..9e1315485e 100644 --- a/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Zulip/ZulipTransport.php @@ -63,8 +63,6 @@ class ZulipTransport extends AbstractTransport throw new LogicException(sprintf('The "%s" transport only supports instances of "%s" for options.', __CLASS__, ZulipOptions::class)); } - $endpoint = sprintf('https://%s/api/v1/messages', $this->getEndpoint()); - $options = ($opts = $message->getOptions()) ? $opts->toArray() : []; $options['content'] = $message->getSubject(); @@ -80,6 +78,8 @@ class ZulipTransport extends AbstractTransport $options['to'] = $message->getRecipientId(); } + $endpoint = sprintf('https://%s/api/v1/messages', $this->getEndpoint()); + $response = $this->client->request('POST', $endpoint, [ 'auth_basic' => $this->email.':'.$this->token, 'body' => $options,