scrapeBClink function

Future<List> scrapeBClink(
  1. String url
)

Implementation

Future<List<dynamic>> scrapeBClink(String url) async {
  //return pulled binary image, link

  final dat = await pullOgPage(url);
  if (dat.isEmpty) return [];
  final rdd = redressToModerator(dat, url);
  if (rdd.isEmpty) return [];
  var _ll = [];
  bool inj = false;
  if (dat['title'] != null) {
    _ll.add(dat['title']);
    _ll.add(dat['url']);
    inj = true;
  }
  if (dat['description'] != null) {
    _ll.add(dat['description']);
    _ll.add(dat['url']);
    inj = true;
  }
  if (!inj) {
    _ll.add('');
    _ll.add('');
  }
  _ll.add(rdd);
  if (dat['image'] == null) return _ll;
  Uint8List _ima = await HttpClient()
      .getUrl(Uri.parse(dat['image']!)) // produces a request object
      .then((request) => request.close()) // sends the request
      .then((response) async {
    if (response.statusCode == 200) {
      final rp = await response.toList();
      Uint8List r = Uint8List(1000000);
      int ff = 0;
      for (var i in rp) {
        for (var ii in i) {
          r[ff++] = ii;
        }
      }
      return r.sublist(0, ff);
    }
    return Uint8List(0);
  });
  if (_ima.isEmpty) {
    return _ll; //no image no candee
  }
  _ll.add('attachement');
  _ll.add(_ima);
  return _ll;
}