java.lang.Object
org.kohsuke.github.GitHubRateLimitHandler
Pluggable strategy to determine what to do when the API rate limit is reached.
- Author:
- Kohsuke Kawaguchi, Liam Newman
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final GitHubRateLimitHandler
Fail immediately.static final int
The HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting").static final GitHubRateLimitHandler
Wait until the API abuse "wait time" is passed. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
onError
(GitHubConnectorResponse connectorResponse) Called when the library encounters HTTP error indicating that the API rate limit has been exceeded.
-
Field Details
-
WAIT
Wait until the API abuse "wait time" is passed. -
FAIL
Fail immediately. -
TOO_MANY_REQUESTS
public static final int TOO_MANY_REQUESTSThe HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time ("rate limiting"). A Retry-After header might be included to this response indicating how long to wait before making a new request. Why is this hardcoded here? The HttpURLConnection class is missing the status codes above 415, so the constant needs to be sourced from elsewhere.- See Also:
-
-
Constructor Details
-
GitHubRateLimitHandler
public GitHubRateLimitHandler()Create default GitHubRateLimitHandler instance
-
-
Method Details
-
onError
Called when the library encounters HTTP error indicating that the API rate limit has been exceeded.Any exception thrown from this method will cause the request to fail, and the caller of github-api will receive an exception. If this method returns normally, another request will be attempted. For that to make sense, the implementation needs to wait for some time.
- Parameters:
connectorResponse
- Response information for this request.- Throws:
IOException
- the io exception- See Also:
-