Add ForbiddenError exception for 403 HTTP responses
#105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new
ForbiddenErrorexception class to properly handle HTTP 403 Forbidden responses from the ChargeBee API. This provides better error handling and allows applications to distinguish between forbidden access errors and other API errors.Changes
Error Handling
ForbiddenErrorclass that inherits fromErrorhandle_for_errormethod to detect and handle 403 status codesCode Quality Improvements
lib/chargebee/nativeRequest.rb→lib/chargebee/native_request.rbto follow Ruby naming conventionshandle_for_errorto return error objects instead of raising them inline (cleaner separation of concerns)handle_for_errormethodTesting
Motivation
When API keys lack permissions or access is restricted, the ChargeBee API returns a 403 status code. Previously, this was handled as a generic error, making it difficult for applications to distinguish permission issues from other error types. With
ForbiddenError, applications can now:Example Usage