Rust Integration Services
A modern, fast, and lightweight integration library written in Rust, designed for memory safety and stability. It simplifies the development of scalable integrations for receiving and sending data, with built-in support for common protocols.
Installation
Add rust-integration-services to your project Cargo.toml with all or select features.
All features
[]
= { = "1.47.1", = ["full"] }
= { = "0.4.0", = ["full"] }
With select features
[]
= { = "1.47.1", = ["full"] }
= { = "0.4.0", = ["file", "schedule", "sftp", "http", "smtp"] }
Features
File
The file module focus on the local file system and is useful for polling files in a directory, copying, moving or writing to a file.
Http
The http module is built on top of the fast and reliable hyper
crate, and routing is handled using matchit
crate.
It supports both HTTP/1.1 and HTTP/2 protocols, enabling modern, high-performance HTTP communication with automatic protocol negotiation via ALPN (Application-Layer Protocol Negotiation) with dynamic routing for REST.
Sftp
The sftp module is built on top of the low-level russh
and russh-sftp
crates.
These crates provide direct access to the SSH transport layer and the SFTP protocol, giving full control over connection management, authentication, and file transfer operations.
Smtp
The SMTP module is built on top of the reliable lettre
crate.
lettre
provides an asynchronous, rust-native SMTP support for secure connections via TLS.
Schedule
The schedule module assist in scheduling tasks over time, such as hourly, daily or weekly.
During downtime or maintenance it calculates the next scheduled time automatically on resume.