readFromHttpUri function

Future<String> readFromHttpUri(
  1. String source
)

Implementation

Future<String> readFromHttpUri(String source) async {
  var url = Uri.parse(source);
  if (url.isScheme('HTTP') || url.isScheme("HTTPS")) {
    try {
      var request = await HttpClient().getUrl(url);
      var response = await request.close();
      if (response.statusCode != 200) {
        return Future.error(
          Exception(
            'Error reading: $source, status code: ${response.statusCode}',
          ),
        );
      }
      return response.transform(const Utf8Decoder()).join();
    } on Exception catch (e) {
      return Future.error(Exception('Error reading: $source, $e'));
    }
  }
  return Future.error(UnsupportedSourceException());
}