/// <inheritdoc/> public override Task <IFtpResponse?> Process(FtpCommand command, CancellationToken cancellationToken) { var transferMode = FtpTransferMode.Parse(command.Argument); FtpResponse response; if (transferMode.FileType == FtpFileType.Ascii) { response = new FtpResponse(200, T("ASCII transfer mode active.")); } else if (transferMode.IsBinary) { response = new FtpResponse(200, T("Binary transfer mode active.")); } else { response = new FtpResponse(504, T("Mode {0} not supported.", command.Argument)); } if (response.Code == 200) { var transferModeFeature = Connection.Features.Get <ITransferConfigurationFeature>(); transferModeFeature.TransferMode = transferMode; } return(Task.FromResult <IFtpResponse?>(response)); }
/// <inheritdoc/> public override Task <FtpResponse> Process(FtpCommand command, CancellationToken cancellationToken) { var transferMode = FtpTransferMode.Parse(command.Argument); FtpResponse response; if (transferMode.FileType == FtpFileType.Ascii) { response = new FtpResponse(200, "ASCII transfer mode active."); } else if (transferMode.IsBinary) { response = new FtpResponse(200, "Binary transfer mode active."); } else { response = new FtpResponse(504, $"Mode {command.Argument} not supported."); } if (response.Code == 200) { Connection.Data.TransferMode = transferMode; } return(Task.FromResult(response)); }
public override void Process(params string[] args) { client.LoginInfo.transferMode = FtpTransferMode.Parse(args[0]); if (client.LoginInfo.transferMode.FileType == FtpFileType.Ascii) { client.Send(ResultCode.Success.ConvertString("ASCII transfer mode active.")); } else if (client.LoginInfo.transferMode.IsBinary) { client.Send(ResultCode.Success.ConvertString("Binary transfer mode active.")); } else { throw new ArgumentErrorException(); } }