A netrc library for Rust, with support for reqwest via reqwest-middleware.
The reqwest-netrc crate is a middleware for reqwest
to support the netrc file.
To bring this crate into your repository, either add reqwest-netrc to your
Cargo.toml, or run:
> cargo add reqwest-netrc
The common scenario is to have a ~/.netrc file or the NETRC environement variable defined:
use reqwest::Client;
use reqwest_middleware::ClientBuilder;
use reqwest_netrc::NetrcMiddleware;
// ...
let client = ClientBuilder::new(Client::builder().build().unwrap())
.with_init(NetrcMiddleware::new().unwrap())
.build();
let res = client.get("https://domain.io/api/hello").send().await;
// ...The rust-netrc crate is a parser for the netrc files.
To bring this crate into your repository, either add rust-netrc to your
Cargo.toml, or run:
> cargo add rust-netrc
use netrc::Netrc;
fn main() {
let nrc = Netrc::new().unwrap();
for (host, auth) in nrc.hosts {
println!("{host}: {auth:?}");
}
}Feedback and contributions are very welcome.
This project is licensed under MIT.