use tokio_stream::StreamExt;
#[tokio::main]
async fn main() -> Result<(), async_minreq::Error> {
let mut buffer: Vec<u8> = Vec::new();
let mut response_lazy = async_minreq::get("http://example.com").send_lazy().await?;
while let Some(chunk) = response_lazy.next().await {
let (bytes, len) = chunk?;
print!("{}", String::from_utf8((bytes).to_vec()).unwrap());
buffer.reserve(len);
buffer.extend(&bytes);
flush();
sleep();
}
Ok(())
}
fn flush() {
use std::io::{stdout, Write};
stdout().lock().flush().ok();
}
fn sleep() {
use std::thread::sleep;
use std::time::Duration;
sleep(Duration::from_millis(2));
}