loadFromUrl method

Future<void> loadFromUrl(
  1. String url
)

Loads the denylist from an HTTP(S) URL.

Implementation

Future<void> loadFromUrl(String url) async {
  _logger.info('Loading denylist from URL: $url');
  try {
    final response = await _httpClient
        .get(Uri.parse(url))
        .timeout(const Duration(minutes: 5));
    if (response.statusCode != 200) {
      throw Exception('HTTP ${response.statusCode}');
    }
    _loadCompactBytes(response.bodyBytes);
    await _persistBytes(response.bodyBytes);
  } on FormatException {
    _refreshErrors++;
    rethrow;
  } catch (e, st) {
    _refreshErrors++;
    _logger.warning('Failed to load denylist from URL: $url', e, st);
    rethrow;
  }
}