template, libs, impl Default/From

This commit is contained in:
DarkCat09 2024-07-31 16:58:17 +04:00
commit c013ebf7dc
Signed by: DarkCat09
GPG key ID: 0A26CD5B3345D6E3
4 changed files with 343 additions and 0 deletions

27
src/lib.rs Normal file
View file

@ -0,0 +1,27 @@
use std::sync::Arc;
use tokio_rustls::{rustls, TlsConnector};
pub struct Client {
connector: TlsConnector,
}
impl Default for Client {
fn default() -> Self {
let roots =
rustls::RootCertStore::from_iter(webpki_roots::TLS_SERVER_ROOTS.iter().cloned());
let config = rustls::ClientConfig::builder()
.with_root_certificates(roots)
.with_no_client_auth();
Client::from(config)
}
}
impl From<rustls::ClientConfig> for Client {
#[inline]
fn from(config: rustls::ClientConfig) -> Self {
Client {
connector: TlsConnector::from(Arc::new(config)),
}
}
}