-
Notifications
You must be signed in to change notification settings - Fork 53
Improve error handling #310
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
Conversation
Summary of ChangesHello @gcatanese, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly improves the robustness and clarity of error handling within the Adyen Ruby client. By transitioning from returning generic result objects to raising specific exceptions for common API error codes (400, 422, and 5xx), it allows developers to more effectively catch and manage different types of API failures. This change streamlines error management, making the client more predictable and easier to integrate into applications that require precise error identification. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request significantly improves error handling by raising exceptions for 400, 422, and 5xx responses, which is a great change. The implementation is solid, and the new tests cover the client-side error cases well. I've provided a few suggestions to make the error handling even more robust by preserving the specific 5xx status code, correcting a minor typo in a test description, and adding test coverage for the new server-side error handling.
|
When a validation error
422
is returned by the APIthe library doesn't raise an error, but it returns instead
AdyenResult
: it is then responsibility of the code calling the client to inspect theAdyenResult
object and understand the type of error.This PR updates the logic in
client.rb
to convert400
,422
and500
responses in the corresponding error.