Description
Raised on HTTP 429 responses when retries are exhausted or disabled. Exposes retry_after (seconds) so the caller can implement their own wait logic.
Proposed Steps
- Define
RateLimitError(ShadeError) in errors.py.
- Add
retry_after: Optional[int] attribute.
- The HTTP client populates this from the
Retry-After header before raising.
Acceptance Criteria
- A 429 response raises
RateLimitError.
error.retry_after reflects the Retry-After header value.
- When
Retry-After is absent, error.retry_after is None.
Description
Raised on HTTP 429 responses when retries are exhausted or disabled. Exposes
retry_after(seconds) so the caller can implement their own wait logic.Proposed Steps
RateLimitError(ShadeError)inerrors.py.retry_after: Optional[int]attribute.Retry-Afterheader before raising.Acceptance Criteria
RateLimitError.error.retry_afterreflects theRetry-Afterheader value.Retry-Afteris absent,error.retry_afterisNone.