Section:

HIPAAsuite.AuroraModules.FTPLibrary

Class

Class Reference

28 Items

Type Description
Represents anonymous credentials with empty username and password.
Detailed Remarks
Use this credential type for servers that allow anonymous access.
Usage Example
var creds = new AnonymousCredentials();

Type Description
Provides certificate validation helpers for FTPS scenarios.
Detailed Remarks
Use these helpers to enforce known certificates when establishing FTPS connections.
Usage Example
info.FtpsCertificateValidator = CertificateHelper.TrustOnlyThumbprint("THUMBPRINT");

Type Description
Provides extension methods for the ICredentials interface.
Detailed Remarks
These helpers adapt credentials to types expected by legacy APIs or framework components that rely on NetworkCredential rather than custom interfaces.
Usage Example
var networkCreds = creds.ToNetworkCredential();

Type Description
Default reconnect settings provider with sensible retry values.
Detailed Remarks
Uses RetryCount and RetryDelayMs when set, otherwise falls back to defaults.
Usage Example
info.ReconnectSettingsProvider = DefaultReconnectSettingsProvider.Instance;

Type Description
Logger that forwards entries to a callback.
Detailed Remarks
Use this logger to integrate with custom logging pipelines or UI hooks.
Usage Example
var logger = new DelegateLogger((level, message, ex) => Console.WriteLine(message));

Type Description
Default logger writing to both Console and Debug outputs.
Detailed Remarks
This logger is useful in development environments where console and debug outputs are available.
Usage Example
info.Logger = DualLogger.Instance;

Type Description
Extension helpers for composing remote paths.
Detailed Remarks
These helpers ensure consistent slash handling across protocols by favoring forward slashes. They do not normalize Windows-style backslashes, so callers should provide remote paths in the conventional UNIX-style format expected by FTP/SFTP servers.
Usage Example
var fullPath = Extensions.CombineRemotePath("/inbound", "file.txt");

Type Description
Extension methods for the FtpClient class.
Detailed Remarks
These helpers expose async-friendly wrappers around synchronous FluentFTP calls by delegating work to Action). They are useful when you need a Task-returning API surface, but they still execute the underlying synchronous operation on a background thread.
Usage Example
var items = await client.GetListingAsync("/");

Type Description
Represents a client object in the remote directory.
Detailed Remarks
This type wraps a FtpListItem for consistent access through IRemoteClientObject.
Usage Example
var objects = client.ListDirectory("/").OfType<FtpClientObject>();

Type Description
Provides FTP/FTPS operations including single file, parallel/batch, recursive, and stream-based uploads/downloads using FluentFTP. Supports optional certificate validation, passive/active modes, timeouts, retries, and progress callbacks.
Detailed Remarks

This client wraps FtpClient to provide a consistent API for FTP and FTPS operations with built-in retry logic and progress reporting. It simplifies common tasks like recursive directory uploads and batch transfers.

Key Features:

  • Resilience: Automatic retries for connection failures.
  • Security: Supports FTPS (Implicit/Explicit) with custom certificate validation.
  • Efficiency: Parallel batch uploads/downloads for high-volume scenarios.

Usage Example
Basic Connection & Upload:
// 1. Configure Server Information
var info = new ServerInformation
{
    Protocol = ProtocolTypeEnum.FTPS,
    Host = "ftp.example.com",
    Credentials = new UserPassCredentials { Username = "user", Password = "pass" },
    UsePassive = true,
    AllowInsecureFtps = false // Use true for self-signed certs (dev only)
};

// 2. Create and Use Client
using (var client = new FtpRemoteClient(info))
{
    client.Connect();
    Console.WriteLine("Connected!");
    
    // Upload a file
    client.UploadFile("local_data.edi", "/inbound/claim_837.edi");
    
    client.Disconnect();
}

Type Description
Provides host key validation helpers for SFTP scenarios.
Detailed Remarks
Use these helpers to pin expected host keys and prevent man-in-the-middle attacks.
Usage Example
info.SftpHostKeyValidator = HostKeyHelper.TrustOnlySha256("BASE64_SHA256");

Type Description
Represents the credentials required for connecting to the remote server using a private key.
Detailed Remarks
Use this credential type for SFTP or SSH connections that rely on key-based authentication.
Usage Example
var creds = new KeyCredentials
{
    Username = "user",
    PrivateKeyPath = "key.pem",
    PassPhrase = "passphrase"
};

Type Description
Helper methods for level-specific logging.
Detailed Remarks
These extension methods provide convenience wrappers around Log.
Usage Example
logger.LogInformation("Connected");

Type Description
A no-op logger that suppresses all messages.
Detailed Remarks
Use this logger when you want to disable logging entirely.
Usage Example
info.Logger = NullLogger.Instance;

Type Description
Adapter to provide passphrase data to BouncyCastle PEM readers.
Detailed Remarks
This type exists to avoid allocating password strings repeatedly when reading PEM data.
Usage Example
// Internal usage:
// var finder = new Password(passphrase);

Delegate

Delegate Reference

1 Items

Enum

Enum Reference

3 Items

Interface

Interface Reference

12 Items