public static IServiceCollection AddFluentFtp(this IServiceCollection services, PluginConfiguration pluginConfiguration, string connectionName = "DefaultFtpConnection") { services.Add <FluentFTP.IFtpClient>(sp => { var settings = new FtpClientSettings(sp.GetRequiredService <IConnectionStringProvider>().Get(connectionName)); return(new FtpClient(settings.Host, settings.Username, settings.Password)); }, pluginConfiguration.ServiceLifetime); return(services); }
public IFtpClient Create(string connectionName = null) { if (connectionName == null) { connectionName = "DefaultFtpConnection"; } string connectionString = _connectionStringProvider.Get(connectionName); var ftpClientSettings = new FtpClientSettings(connectionString); return(ftpClientSettings.IsSftp ? (IFtpClient) new RensiSftpClient(connectionString) : (IFtpClient) new SystemFtpClient(connectionString)); }
public void Constructor_ShouldDefaultIsSftp_WhenConnectionStringOmitsTheProperty() { // Arrange string input = "Host=sftp.testing.com;Username=ABC;Password=123456"; // Act var settings = new FtpClientSettings(input); // Assert settings.Host.ShouldNotBeNull(); settings.Host.ShouldBe("sftp.testing.com"); settings.Username.ShouldNotBeNull(); settings.Username.ShouldBe("ABC"); settings.Password.ShouldNotBeNull(); settings.Password.ShouldBe("123456"); settings.IsSftp.ShouldBe(false); }
private FtpWebRequest CreateFtpRequest(string filePath, string method) { string connectionString = "Host=trieve.co;Port=21;[email protected];Password=Greeting123;"; var ftpClientSettings = new FtpClientSettings(connectionString); FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(@"ftp://trieve.co/public_html/Operations/TPV/SVC/Audio"); ftpWebRequest.Credentials = new NetworkCredential(ftpClientSettings.Username, ftpClientSettings.Password); ftpWebRequest.UseBinary = true; ftpWebRequest.UsePassive = true; ftpWebRequest.KeepAlive = true; ftpWebRequest.Method = method; return(ftpWebRequest); }
public void Constructor_ShouldParseConnectionStringAsExpected_WhenConnectionStringIsValid() { // Arrange string input = "Host=sftp.testing.com;Port=20;Username=ABC;Password=123456;IsSftp=true"; // Act var settings = new FtpClientSettings(input); // Assert settings.Host.ShouldNotBeNull(); settings.Host.ShouldBe("sftp.testing.com"); settings.Port.ShouldNotBeNull(); settings.Port.ShouldBe("20"); settings.Username.ShouldNotBeNull(); settings.Username.ShouldBe("ABC"); settings.Password.ShouldNotBeNull(); settings.Password.ShouldBe("123456"); settings.IsSftp.ShouldBe(true); }