Package org.kohsuke.github
Class RateLimitHandler
- java.lang.Object
-
- org.kohsuke.github.RateLimitHandler
-
public abstract class RateLimitHandler extends Object
Pluggable strategy to determine what to do when the API rate limit is reached.- Author:
- Kohsuke Kawaguchi
- See Also:
GitHubBuilder#withRateLimitHandler(RateLimitHandler)
,AbuseLimitHandler
-
-
Field Summary
Fields Modifier and Type Field Description static RateLimitHandler
FAIL
Fail immediately.static RateLimitHandler
WAIT
Block until the API rate limit is reset.
-
Constructor Summary
Constructors Constructor Description RateLimitHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
onError(IOException e, HttpURLConnection uc)
Called when the library encounters HTTP error indicating that the API rate limit is reached.
-
-
-
Field Detail
-
WAIT
public static final RateLimitHandler WAIT
Block until the API rate limit is reset. Useful for long-running batch processing.
-
FAIL
public static final RateLimitHandler FAIL
Fail immediately.
-
-
Method Detail
-
onError
public abstract void onError(IOException e, HttpURLConnection uc) throws IOException
Called when the library encounters HTTP error indicating that the API rate limit is reached.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:
e
- Exception from Java I/O layer. If you decide to fail the processing, you can throw this exception (or wrap this exception into another exception and throw it.)uc
- Connection that resulted in an error. Useful for accessing other response headers.- Throws:
IOException
- the io exception- See Also:
- API documentation from GitHub
-
-