postCached<T> method

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

Performs a cached POST request to the specified path.

Implementation

@override
Future<Result<T>> postCached<T>(
  String path, {
  data,
  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
    data: data, // Optional data in request body
    headers: _dio.options.headers, // Request headers
  );

  return CacheResult(
    data: await _resolveResult(
      (await cacheHandler.get(requestOptions)), // Retrieve cached response
      onSuccess, // Success callback
    ),
  );
}