use serde_json::json;
use zendriver::Browser;
#[tokio::main]
#[allow(clippy::result_large_err)] async fn main() -> zendriver::Result<()> {
tracing_subscriber::fmt::init();
let browser = Browser::builder().headless(true).launch().await?;
let tab = browser.main_tab();
tab.goto("https://example.com").await?;
tab.wait_for_load().await?;
let resp = tab.request().get("https://httpbin.org/get").send().await?;
let body = resp.text()?;
println!(
"GET status={} body_len={} snippet={:.80}",
resp.status(),
body.len(),
body
);
let resp = tab
.request()
.post("https://httpbin.org/post")
.json(&json!({"hello": "zendriver"}))?
.send()
.await?;
let body = resp.text()?;
println!(
"POST status={} body_len={} snippet={:.80}",
resp.status(),
body.len(),
body
);
browser.close().await?;
Ok(())
}