getCached<T> method

  1. @override
Future<Result<T>> getCached<T>(
  1. String path, {
  2. Map<String, dynamic>? queryParameters,
  3. FutureOr<T?> onSuccess(
    1. dynamic data
    )?,
  4. FutureOr<T> onError(
    1. dynamic data
    )?,
})
override

Performs a cached GET request to the specified path.

Implementation

@override
Future<Result<T>> getCached<T>(
  String path, {
  Map<String, dynamic>? queryParameters,
  FutureOr<T?> Function(dynamic data)? onSuccess,
  FutureOr<T> Function(dynamic data)? onError,
}) async {
  final requestOptions = RequestOptions(
    path: path, // Path of the request
    queryParameters: queryParameters, // Query parameters
    headers: _dio.options.headers, // Request headers
  );

  try {
    return CacheResult(
      data: await _resolveResult(
        (await cacheHandler.get(requestOptions)), // Retrieve cached response
        onSuccess, // Success callback
      ),
    );
  } catch (e) {
    debugPrint(e.toString()); // Print any exceptions

    return Result.error(
        exception: Exception(e.toString())); // Return an error result
  }
}