Add Response.raise_for_excepted_status() method#3724
Open
KimBioInfoStudio wants to merge 3 commits intoencode:masterfrom
Open
Add Response.raise_for_excepted_status() method#3724KimBioInfoStudio wants to merge 3 commits intoencode:masterfrom
Response.raise_for_excepted_status() method#3724KimBioInfoStudio wants to merge 3 commits intoencode:masterfrom
Conversation
Add a new method that raises HTTPStatusError unless the status code is explicitly listed in the expected parameter. Unlike `raise_for_status()`, this method requires all acceptable status codes (including 2xx) to be explicitly specified. Also refactors shared logic into `_ensure_request()` and `_raise_status_error()` helper methods.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Add a new
Response.raise_for_excepted_status(expected)method that provides strict status code validation. Unlikeraise_for_status()which only raises on non-2xx status codes, this method requires all acceptable status codes to be explicitly listed—including success codes.Use case: In some API integrations, certain non-2xx status codes are expected (e.g.,
404when checking resource existence). Conversely, you may want to ensure only specific status codes are accepted.Changes
_ensure_request()helper to validate request is set_raise_status_error()helper to build and raise HTTPStatusErrorraise_for_status()to use shared helpersraise_for_excepted_status()with strict status code validationapi.mdandquickstart.mdChecklist