emixnet

Crates.ioemixnet
lib.rsemixnet
version0.6.0
created_at2026-01-11 14:35:08.226364+00
updated_at2026-01-11 14:35:08.226364+00
descriptionHigher-level HTTP, mail, and VPN helpers layered on EssentialMix core utilities.
homepage
repositoryhttps://github.com/asm2025/essentialmix-rs
max_upload_size
id2035894
size147,257
asm (asm2025)

documentation

README

emixnet

emixnet layers higher-level networking helpers on top of reqwest, lettre, and supporting crates. It includes HTTP client builders, VPN automation hooks, and mail utilities that reuse EssentialsMix error handling.

Feature Flags

  • mail: Enable email helpers (pulls in lettre, html-entities, and once_cell).
  • vpn: Enable shell-backed VPN automation utilities.
  • full: Convenience flag for both.
[dependencies]
emixnet = { path = "../../crates/net", features = ["mail"] }

Quick Example

use emixnet::web::reqwestx;

#[tokio::main]
async fn main() -> emixnet::Result<()> {
    let client = reqwestx::build_client_for_api()
        .user_agent("essentialmix/1.0")
        .build()?;

    let response = client
        .get("https://httpbin.org/json")
        .send()
        .await?
        .error_for_status()?;

    println!("status = {}", response.status());
    Ok(())
}
  • Prefer build_blocking_client* when working in synchronous contexts.

  • Combine with emix::env helpers to source credentials and timeouts.

  • Explore the web::mail and vpn modules (feature-gated) for higher-level workflows.

Commit count: 272

cargo fmt