| Crates.io | emixnet |
| lib.rs | emixnet |
| version | 0.6.0 |
| created_at | 2026-01-11 14:35:08.226364+00 |
| updated_at | 2026-01-11 14:35:08.226364+00 |
| description | Higher-level HTTP, mail, and VPN helpers layered on EssentialMix core utilities. |
| homepage | |
| repository | https://github.com/asm2025/essentialmix-rs |
| max_upload_size | |
| id | 2035894 |
| size | 147,257 |
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.
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"] }
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.