getPublicIp static method

Future<String> getPublicIp()

Implementation

static Future<String> getPublicIp() async {
  final dio = Dio();

  dio.httpClientAdapter = NativeAdapter(
      createCupertinoConfiguration: () =>
          URLSessionConfiguration.ephemeralSessionConfiguration());
  final response = await dio.get<String>('https://api.ipify.org?format=json');
  if (response.statusCode == 200) {
    return jsonDecode(response.toString())['ip'];
  } else {
    throw Exception('Failed to get public IP address');
  }
}