testInternetConnectivity method

  1. @override
Future<bool> testInternetConnectivity({
  1. String? testUrl,
  2. Duration? timeout,
})
override

Implementation

@override
Future<bool> testInternetConnectivity({
  String? testUrl,
  Duration? timeout,
}) async {
  try {
    final url = testUrl ?? _testUrls.first;
    final timeoutDuration = timeout ?? const Duration(seconds: 10);

    final client = HttpClient();
    client.connectionTimeout = timeoutDuration;

    try {
      final request = await client.getUrl(Uri.parse(url));
      final response = await request.close().timeout(timeoutDuration);

      final hasInternet = response.statusCode == 200;
      client.close();

      return hasInternet;
    } catch (e) {
      client.close();
      return false;
    }
  } catch (e) {
    SyncUtils.debugLog('Erro ao testar conectividade com internet: $e',
        tag: 'SyncConnectivityService');
    return false;
  }
}