/// <summary> /// Upload with timeout and default permissions /// </summary> /// <param name="shell"></param> /// <param name="data"></param> /// <param name="fileName"></param> /// <param name="toPath"></param> /// <param name="isUserHomeBased"></param> /// <param name="timeout"></param> /// <returns></returns> public static Task UploadAsync(this ISecureShell shell, byte[] data, string fileName, string toPath, bool isUserHomeBased, TimeSpan timeout) { using (var cts = new CancellationTokenSource(timeout)) { return(shell.UploadAsync(data, fileName, toPath, isUserHomeBased, null, cts.Token)); } }
/// <summary> /// Upload file /// </summary> /// <param name="shell"></param> /// <param name="options"></param> /// <param name="to"></param> /// <param name="from"></param> /// <param name="file"></param> /// <returns></returns> private static async Task UploadFileAsync(ISecureShell shell, CliOptions options, string to, string from, string file) { var buffer = await File.ReadAllBytesAsync(Path.Combine(from, file)); await shell.UploadAsync(buffer, file, to, options.GetValueOrDefault("-h", "--home", true), options.GetValueOrDefault <string>("-m", "--mode", null)); }
/// <summary> /// Upload file with default permissions /// </summary> /// <param name="shell"></param> /// <param name="data"></param> /// <param name="fileName"></param> /// <param name="toPath"></param> /// <param name="isUserHomeBased"></param> /// <param name="ct"></param> /// <returns></returns> public static Task UploadAsync(this ISecureShell shell, byte[] data, string fileName, string toPath, bool isUserHomeBased, CancellationToken ct) { return(shell.UploadAsync(data, fileName, toPath, isUserHomeBased, null, ct)); }
/// <summary> /// Upload with default timeout of 1 minute and default permissions /// </summary> /// <param name="shell"></param> /// <param name="data"></param> /// <param name="fileName"></param> /// <param name="toPath"></param> /// <param name="isUserHomeBased"></param> /// <returns></returns> public static Task UploadAsync(this ISecureShell shell, byte[] data, string fileName, string toPath, bool isUserHomeBased) { return(shell.UploadAsync(data, fileName, toPath, isUserHomeBased, TimeSpan.FromMinutes(1))); }
/// <summary> /// Upload with timeout and default permissions /// </summary> /// <param name="shell"></param> /// <param name="data"></param> /// <param name="fileName"></param> /// <param name="toPath"></param> /// <param name="isUserHomeBased"></param> /// <param name="timeout"></param> /// <returns></returns> public static Task UploadAsync(this ISecureShell shell, byte[] data, string fileName, string toPath, bool isUserHomeBased, TimeSpan timeout) => shell.UploadAsync(data, fileName, toPath, isUserHomeBased, null, new CancellationTokenSource(timeout).Token);