postCached<T> method
Future<Result<T> >
postCached<T>(
- String path, {
- dynamic data,
- Map<
String, dynamic> ? queryParameters, - FutureOr<
T> onSuccess(- dynamic data
- FutureOr<
T> onError(- dynamic data
override
Retrieves a cached response for a POST request.
The cache key is generated from the path, query parameters, request data, and headers. This method does not make a network request.
Useful for caching search results or other read-only POST endpoints.
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,
queryParameters: queryParameters,
data: data,
headers: _dio.options.headers,
);
try {
return CacheResult(
data: await _resolveResult(
await cacheHandler.get(requestOptions),
onSuccess,
),
);
} catch (e) {
debugPrint(e.toString());
return Result.error(exception: Exception(e.toString()));
}
}