emixnet 0.6.0

Higher-level HTTP, mail, and VPN helpers layered on EssentialMix core utilities.
Documentation

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.