fetchPiDetails method

  1. @override
Future<PiDetails> fetchPiDetails(
  1. CancelToken cancelToken
)
override

Retrieves client activity over time and memory usage.

Implementation

@override
Future<PiDetails> fetchPiDetails(CancelToken cancelToken) async {
  try {
    final response = await dio.get(
      params.adminHome,
      cancelToken: cancelToken,
    );
    final data = response.data;

    if (data is String && data.isEmpty) {
      throw const PiholeApiFailure.emptyString();
    }

    final Document doc = parse(data);

    return PiDetails(
      temperature: _docToTemperature(doc),
      cpuLoads: _docToLoads(doc),
      memoryUsage: _docToMemoryUsage(doc),
    );
  } on DioError catch (e) {
    throw _onDioError(e);
  }
}