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);
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }