run function

Future<void> run({
  1. required String targetPath,
  2. required OnStarted onStarted,
})

Implementation

Future<void> run({
  required String targetPath,
  required OnStarted onStarted,
}) async {
  final file = File(targetPath);
  final isValid = await file.exists();
  if (isValid == false) {
    stdout.writeln('No file in this path');
    return;
  }

  targetFile = file;
  final randomInt = Random().nextInt;
  final privateIp = (await intranetIpv4()).address;
  final port = randomInt(9999);
  final randomNumber = randomInt(9999);
  urlPath = '$randomNumber';
  final link = 'http://$privateIp:$port/$urlPath';

  await shelfRun(
    init,
    defaultBindAddress: privateIp,
    defaultBindPort: port,
    defaultEnableHotReload: false,
    onStarted: onStarted,
  );

  stdout.writeln('Scan the following Qr Code to download your file.');
  stdout.writeln(link);
  final qrText = generateQrCode(link);
  stdout.writeln(qrText);
}