downloadAsset method
- @visibleForTesting
- GithubAsset asset, {
- FileSystem? fileSystem,
- Directory? directory,
Download the '*.alfredworkflow' GithubAsset to the system temp and return a File
Implementation
@visibleForTesting
Future<File?> downloadAsset(
GithubAsset asset, {
FileSystem? fileSystem,
Directory? directory,
}) async {
final Response response = client != null
? await client!.get(asset.browserDownloadUrl)
: await get(asset.browserDownloadUrl); // coverage:ignore-line
if (response.statusCode < 400) {
// coverage:ignore-start
fileSystem ??= LocalFileSystem();
directory ??= await fileSystem.systemTempDirectory.createTemp(
'alfred_workflow_update',
);
// coverage:ignore-end
final File file =
await fileSystem.file('${directory.path}/${asset.name}').create();
file.writeAsBytes(response.bodyBytes);
return file;
}
return null;
}