Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Notifier][Sendinblue] Handle error responses without a message key #52095

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 17, 2023

Conversation

stof
Copy link
Member

@stof stof commented Oct 17, 2023

Q A
Branch? 5.4
Bug fix? yes
New feature? no
Deprecations? no
Tickets
License MIT

During their outage yesterday where the endpoint returned errors with status code 500, there was no message key in the json response.
This avoids a notice when the key does not exist. Instead, it uses the full response content, as done when the decoding fails.

@@ -65,7 +65,7 @@ protected function doSendApi(SentMessage $sentMessage, Email $email, Envelope $e
}

if (201 !== $statusCode) {
throw new HttpTransportException('Unable to send an email: '.$result['message'].sprintf(' (code %d).', $statusCode), $response);
throw new HttpTransportException('Unable to send an email: '.($error['message'] ?? $response->getContent(false)).sprintf(' (code %d).', $statusCode), $response);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
throw new HttpTransportException('Unable to send an email: '.($error['message'] ?? $response->getContent(false)).sprintf(' (code %d).', $statusCode), $response);
throw new HttpTransportException('Unable to send an email: '.($result['message'] ?? $response->getContent(false)).sprintf(' (code %d).', $statusCode), $response);

@OskarStark
Copy link
Contributor

OskarStark commented Oct 17, 2023

As Brevo is the 1:1 replacement for Sendinblue after their rebranding, can you please also update Mailer/Brevo and Notifier/Brevo bridges? Thanks

@stof
Copy link
Member Author

stof commented Oct 17, 2023

@OskarStark done in #52096 as the Brevo transports only exist in the 6.4 branch, not in 5.4

@stof stof force-pushed the sendinblue_error_response branch from a9fb5e5 to 8ae8993 Compare October 17, 2023 08:47
@carsonbot carsonbot changed the title Handle Sendinblue error responses without a message key [Notifier] Handle Sendinblue error responses without a message key Oct 17, 2023
@OskarStark OskarStark changed the title [Notifier] Handle Sendinblue error responses without a message key [Notifier][Sendinblue] Handle error responses without a message key Oct 17, 2023
@nicolas-grekas
Copy link
Member

Thank you @stof.

@nicolas-grekas nicolas-grekas merged commit 754e482 into symfony:5.4 Oct 17, 2023
@stof stof deleted the sendinblue_error_response branch October 17, 2023 10:05
nicolas-grekas added a commit that referenced this pull request Oct 17, 2023
…e key (stof)

This PR was merged into the 6.4 branch.

Discussion
----------

[Notifier] [Brevo] Handle error responses without a message key

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT

During their outage yesterday where the endpoint returned errors with status code 500, there was no message key in the json response.
This avoids a notice when the key does not exist. Instead, it uses the full response content, as done when the decoding fails.

This is the same change than #52095 but for the new Brevo bridge

Commits
-------

517ceae Handle Brevo error responses without a message key
symfony-splitter pushed a commit to symfony/brevo-notifier that referenced this pull request Oct 17, 2023
…e key (stof)

This PR was merged into the 6.4 branch.

Discussion
----------

[Notifier] [Brevo] Handle error responses without a message key

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT

During their outage yesterday where the endpoint returned errors with status code 500, there was no message key in the json response.
This avoids a notice when the key does not exist. Instead, it uses the full response content, as done when the decoding fails.

This is the same change than symfony/symfony#52095 but for the new Brevo bridge

Commits
-------

517ceaea03 Handle Brevo error responses without a message key
symfony-splitter pushed a commit to symfony/brevo-mailer that referenced this pull request Oct 17, 2023
…e key (stof)

This PR was merged into the 6.4 branch.

Discussion
----------

[Notifier] [Brevo] Handle error responses without a message key

| Q             | A
| ------------- | ---
| Branch?       | 6.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT

During their outage yesterday where the endpoint returned errors with status code 500, there was no message key in the json response.
This avoids a notice when the key does not exist. Instead, it uses the full response content, as done when the decoding fails.

This is the same change than symfony/symfony#52095 but for the new Brevo bridge

Commits
-------

517ceaea03 Handle Brevo error responses without a message key
@fabpot fabpot mentioned this pull request Oct 21, 2023
@fabpot fabpot mentioned this pull request Oct 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants