$httpGet method
Implementation
Future<Map<String, dynamic>> $httpGet(
String url, {
Map<String, dynamic /*String|Iterable<String>*/ >? query,
}) async {
final now = clock.now();
if (_queueGet.isNotEmpty) {
if (now.difference(_queueGet.last) < const Duration(milliseconds: 100)) {
log('Осторожно! Слишком частые запросы...', level: Level.SEVERE.value);
} else if (now.difference(_queueGet.last) <
const Duration(milliseconds: 200)) {
log('Осторожно! Очень частые запросы...', level: Level.WARNING.value);
} else if (now.difference(_queueGet.last) <
const Duration(milliseconds: 300)) {
log('Осторожно! Частые запросы...', level: Level.INFO.value);
}
}
_queueGet.add(now);
while (_queueGet.length > 5) {
_queueGet.removeFirst();
}
if (url.startsWith('/')) url = url.substring(1);
var uri = $hostUri.resolve(url);
if (query != null) {
uri = uri.replace(queryParameters: query);
}
final response = await _httpClient.get(uri);
return _getBodyJson(response);
}