stop method
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));
}
}