stop method

Future<RequestResult<AutoScript>> stop(
  1. List<String> dependencies
)

Implementation

Future<RequestResult<AutoScript>> stop(List<String> dependencies) async {
  final request = await _httpClient.post(host, port, 'stop');
  final response = await request.close();
  if (response.statusCode == HttpStatus.ok) {
    final tarData =await streamToIntList(response);
    Archive archive = TarDecoder().decodeBytes(tarData);

    List<Checkpoint> checkpointList = [];
    late final List<int> record;
    late final ScriptMetaData scriptMetaData;

    Iterator<ArchiveFile> iterator=archive.iterator;
    while (iterator.moveNext()) {
      final contents = iterator.current.content as List<int>;
      if (iterator.current.name == TarKey.recordStream) {
        record = contents;
      } else if (iterator.current.name.startsWith(TarKey.screenshotPrefix)) {
        checkpointList.add(
            Checkpoint(name: iterator.current.name, snapshot: Uint8List.fromList(contents)));
      } else if (iterator.current.name == TarKey.scriptMetaData) {
        scriptMetaData = ScriptMetaData.fromBuffer(contents);
      }
    }
    return RequestResult(
        result: AutoScript(
            metaData: scriptMetaData,
            checkpoints: checkpointList,
            record: record,dependencies: dependencies));
  } else {
    final body = await streamToIntList(response);
    return RequestResult(error: BadRequestResponse.fromBuffer(body));
  }
}