postStreamed<T> method
Stream<Result<T> >
postStreamed<T>(
- String path, {
- dynamic data,
- Map<
String, dynamic> ? queryParameters, - FutureOr<
T?> onSuccess(- dynamic data
- FutureOr<
T> onError(- dynamic data
- RestApiClientRequestOptions? options,
- Duration? cacheLifetimeDuration,
override
Performs a streamed POST request to the specified path, optionally using cached data.
Implementation
@override
Stream<Result<T>> postStreamed<T>(
String path, {
data,
Map<String, dynamic>? queryParameters,
FutureOr<T?> Function(dynamic data)? onSuccess,
FutureOr<T> Function(dynamic data)? onError,
RestApiClientRequestOptions? options,
Duration? cacheLifetimeDuration,
}) async* {
// Check for cached result if caching is enabled.
if (_options.cacheEnabled) {
final cachedResult = await postCached(
path,
queryParameters: queryParameters,
data: data,
onSuccess: onSuccess,
);
if (cachedResult.hasData) {
yield cachedResult; // Yield cached result
}
}
yield await post(
path, // Perform actual POST request
queryParameters: queryParameters, // Query parameters for request
data: data, // Data to send in the request body
onSuccess: onSuccess, // Optional success callback
options: options, // Optional request options
cacheLifetimeDuration: cacheLifetimeDuration,
);
}