file method

Future<ExplorerFile?> file(
  1. String url, {
  2. bool refresh = false,
  3. Map<String, String> headers = const {},
  4. bool getOldOnError = false,
  5. bool log = false,
})

Implementation

Future<ExplorerFile?> file(
  String url, {
  bool refresh = false,
  Map<String, String> headers = const {},
  bool getOldOnError = false,
  bool log = false,
}) async {
  String encodedUrl = encodeUrl(url);
  ExplorerFile file = networkDirFiles.file(encodedUrl);
  if (log) {
    dev.log('[StorageExplorer.NetworkFile] reqUrl: $url');
    dev.log('[StorageExplorer.NetworkFile] reqEncodedUrl: $encodedUrl');
  }
  if (!file.exists || refresh) {
    if (log) dev.log('[StorageExplorer.NetworkFile] reqHeaders: $headers');
    Uint8List? fileData = await downloadFile(
      Uri.parse(url),
      log: log,
      headers: headers,
    );
    if (fileData != null) {
      await file.setBytes(fileData);
    } else if (!file.exists && !getOldOnError) {
      return null;
    }
  }
  return file;
}