Package com.mewna.catnip.rest.requester
Class AbstractRequester
java.lang.Object
com.mewna.catnip.rest.requester.AbstractRequester
- All Implemented Interfaces:
Requester
- Direct Known Subclasses:
BurstRequester
,SerialRequester
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static class
Nested classes/interfaces inherited from interface com.mewna.catnip.rest.requester.Requester
Requester.OutboundRequest
-
Field Summary
Fields inherited from interface com.mewna.catnip.rest.requester.Requester
REASON_HEADER
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
executeHttpRequest
(Routes.Route route, HttpRequest.BodyPublisher body, AbstractRequester.QueuedRequest request, String mediaType) protected void
protected abstract AbstractRequester.Bucket
getBucket
(Routes.Route route) protected void
handleResponse
(Routes.Route route, int statusCode, long requestEnd, String body, HttpHeaders headers, AbstractRequester.QueuedRequest request) protected void
handleRouteBufferBodySend
(Routes.Route finalRoute, AbstractRequester.QueuedRequest request) protected void
handleRouteJsonBodySend
(Routes.Route finalRoute, AbstractRequester.QueuedRequest request) io.reactivex.rxjava3.core.Observable<ResponsePayload>
Queues a new request to be executed.protected void
updateBucket
(Routes.Route route, HttpHeaders headers, long retryAfter, long timeDifference)
-
Field Details
-
rateLimiter
-
catnip
-
-
Constructor Details
-
AbstractRequester
-
-
Method Details
-
catnip
-
queue
@Nonnull public io.reactivex.rxjava3.core.Observable<ResponsePayload> queue(@Nonnull Requester.OutboundRequest r) Description copied from interface:Requester
Queues a new request to be executed. -
getBucket
@Nonnull @CheckReturnValue protected abstract AbstractRequester.Bucket getBucket(@Nonnull Routes.Route route) -
executeRequest
-
handleRouteBufferBodySend
protected void handleRouteBufferBodySend(@Nonnull Routes.Route finalRoute, @Nonnull AbstractRequester.QueuedRequest request) -
handleRouteJsonBodySend
protected void handleRouteJsonBodySend(@Nonnull Routes.Route finalRoute, @Nonnull AbstractRequester.QueuedRequest request) -
executeHttpRequest
protected void executeHttpRequest(@Nonnull Routes.Route route, @Nullable HttpRequest.BodyPublisher body, @Nonnull AbstractRequester.QueuedRequest request, @Nonnull String mediaType) -
handleResponse
protected void handleResponse(@Nonnull Routes.Route route, int statusCode, long requestEnd, String body, HttpHeaders headers, @Nonnull AbstractRequester.QueuedRequest request) -
updateBucket
protected void updateBucket(@Nonnull Routes.Route route, @Nonnull HttpHeaders headers, long retryAfter, long timeDifference)
-