send method
Send request and return the response if it is a SuccessApiResponse, or
throw if it is an ErrorApiResponse.
Implementation
@override
Future<SuccessApiResponse> send(BaseRequest request) async {
final response = await sendUnsafe(request);
if (response is RateLimitedResponse) {
return Future.delayed(
response.retryAfter ?? const Duration(seconds: 10),
() => send(request),
);
}
if (response is! SuccessApiResponse) {
throw response;
}
return response;
}