feat: add rate limit headers to base exceptions #145
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.
Submit a pull request
CLA
Description of the pull request
When I was implementing some bulk Stream chat operations, I ran into some rate limits and was going to implement a rate limit reset handler. Upon building that, I realized the StreamAPIException that's thrown when a developer gets rate limited doesn't contain details about the rate limit, even though the StreamResponse contains a very nice
RateLimitInfo
object.It'd be great to have the rate limit details exist in the StreamAPIException that gets thrown when we actually hit the error. That way, the developer can get the details (like when the rate limit resets), right in the
except
handler and wait accordingly.Everything should be backwards-compatible. The design choice was inspired by StreamResponse also inheriting from
dict
.PS, I've never contributed to a public repo before so lmk if I've missed anything!