Classify GitHub secondary and abuse rate limits#2220
Open
davidahmann wants to merge 1 commit intogithub:mainfrom
Open
Classify GitHub secondary and abuse rate limits#2220davidahmann wants to merge 1 commit intogithub:mainfrom
davidahmann wants to merge 1 commit intogithub:mainfrom
Conversation
Author
|
Operator impact: downstream tooling can now distinguish primary quota exhaustion, secondary rate limits, and abuse limits from auth/scope failures without parsing GitHub-specific error text. Minimal change: the shared error layer now classifies rate-limit variants centrally, preserves Validation:
Risk/blocker: none in the changed path. |
a463116 to
c80f979
Compare
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.
Problem
The shared GitHub error layer classified invalid tokens and some scope failures, but it left primary, secondary, and abuse-limit responses effectively untyped.
Why now
Rate limits are a routine operational condition for this server. Downstream tooling needs to distinguish quota exhaustion from auth/policy failures without parsing transport-specific text.
What changed
rate_limited,secondary_rate_limited, andabuse_rate_limitedRetry-Aftermetadata when GitHub provides itdocs/error-handling.mdValidation
go test ./pkg/errors✅Refs #2219