getStream method

Stream getStream({
  1. required String endPointURL,
  2. Map<String, dynamic>? queryParameters,
  3. Map<String, dynamic>? header,
  4. bool useCache = true,
})

get request in form of stream.

NOTE: Still in development.

A StreamBuilder Widget can be used to get this data. first it will return the cache data and then the response data.

Implementation

Stream getStream(
    {required String endPointURL,
    Map<String, dynamic>? queryParameters,
    Map<String, dynamic>? header,
    bool useCache = true}) async* {
  if (useCache && _storage.hasData(endPointURL))
    yield _storage.read(endPointURL);
  Response response = await _dio.get(endPointURL,
      options: Options(headers: header), queryParameters: queryParameters);
  if (response.statusCode == 200) {
    if (useCache) _storage.write(endPointURL, response.data);
    yield response.data;
  } else {
    yield null;
  }
}