use tracing_subscriber::prelude::*;
#[cfg(all(feature = "tokio", not(feature = "sync")))]
#[tokio::main]
async fn main() {
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use yosemite::{style::Stream, Session, SessionOptions};
tracing_subscriber::registry()
.with(tracing_subscriber::fmt::layer())
.try_init()
.unwrap();
let host = std::env::args().nth(1).expect("host");
let mut session = Session::<Stream>::new(SessionOptions::default()).await.unwrap();
let mut stream = session.connect(&host).await.unwrap();
stream.write_all("GET / HTTP/1.1\r\n\r\n".as_bytes()).await.unwrap();
let mut buffer = vec![0u8; 8192];
let nread = stream.read(&mut buffer).await.unwrap();
tracing::info!("{:?}", std::str::from_utf8(&buffer[..nread]));
}
#[cfg(all(feature = "sync", not(feature = "tokio")))]
fn main() {
use std::io::{Read, Write};
use yosemite::{style::Stream, Session, SessionOptions};
tracing_subscriber::registry()
.with(tracing_subscriber::fmt::layer())
.try_init()
.unwrap();
let host = std::env::args().nth(1).expect("host");
let mut session = Session::<Stream>::new(SessionOptions::default()).unwrap();
let mut stream = session.connect(&host).unwrap();
stream.write_all("GET / HTTP/1.1\r\n\r\n".as_bytes()).unwrap();
let mut buffer = vec![0u8; 8192];
let nread = stream.read(&mut buffer).unwrap();
tracing::info!("{:?}", std::str::from_utf8(&buffer[..nread]));
}