use std::{env, error::Error, io::Read};
use pimalaya_stream::{
std::{proxy::Proxy, stream::StreamStd},
tls::Tls,
};
fn main() -> Result<(), Box<dyn Error>> {
env_logger::init();
let host = env::var("HOST")?;
let port: u16 = env::var("PORT").unwrap_or_else(|_| "993".into()).parse()?;
let proxy = match env::var("PROXY") {
Ok(url) => Proxy::from_url(&url)?,
Err(_) => Proxy::System,
};
let mut stream = StreamStd::builder(&host, port)
.tls(Tls::default())
.proxy(proxy)
.connect()?;
let mut buf = [0u8; 4096];
let n = stream.read(&mut buf)?;
print!("{}", String::from_utf8_lossy(&buf[..n]));
Ok(())
}