postStreamRaw method
Make a POST request and return raw stream
Implementation
Stream<String> postStreamRaw(
String endpoint,
Map<String, dynamic> data,
) async* {
try {
if (_logger.isLoggable(Level.FINE)) {
_logger.fine('Phind stream request payload: ${jsonEncode(data)}');
}
final response = await _dio.post(
endpoint,
data: data,
options: Options(responseType: ResponseType.stream),
);
_logger.info('Phind stream HTTP status: ${response.statusCode}');
if (response.statusCode != 200) {
throw ProviderError(
'Phind API returned status ${response.statusCode}',
);
}
final stream = response.data as ResponseBody;
await for (final chunk in stream.stream.map(utf8.decode)) {
yield chunk;
}
} on DioException catch (e) {
throw DioErrorHandler.handleDioError(e, 'Phind');
}
}