getFallbackUri method
As per Binance's docs, there are 3 more clusters for API calls with names api1
, api2
and api3
.
Returns a fallback URI from one of these 3 clusters.
Throws a BinanceApiError if an error occurs or if none of the clusters are available.
Implementation
Future<String> getFallbackUri() async {
_log('will try to find a fallback endpoint');
String? fallbackUri;
for (var i = 1; i < 4; i++) {
final candidateUri = 'api$i.$binanceDomain';
final ping = await _ping(candidateUri);
if (ping) {
_log('found a fallback URI at $candidateUri');
fallbackUri = candidateUri;
break;
}
}
if (fallbackUri != null) {
return fallbackUri;
} else {
throw const BinanceApiError(-1, 'no fallback URI found');
}
}