use std::fs;
#[cfg(feature = "runtime-async-std")]
use async_std::net::TcpStream;
#[cfg(feature = "runtime-tokio")]
use tokio::net::TcpStream;
use test_cert_gen::Cert;
use tls_api::TlsConnector;
use tls_api::TlsConnectorBuilder;
async fn run() {
let socket = TcpStream::connect(("127.0.0.1", 4433)).await.unwrap();
println!("TCP connected");
let mut builder = tls_api_native_tls::TlsConnector::builder().unwrap();
builder
.add_root_certificate(Cert::from_der(fs::read("ca.der").unwrap()).get_der())
.unwrap();
let connector = builder.build().unwrap();
println!("connector ready");
connector.connect("localhost", socket).await.unwrap();
}
#[cfg(feature = "runtime-tokio")]
#[tokio::main]
async fn main() {
run().await;
}
#[cfg(feature = "runtime-async-std")]
#[async_std::main]
async fn main() {
run().await;
}