use zendriver::Browser;
use zendriver::RequestOverrides;
#[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();
let _intercept = tab
.intercept()
.modify_request("*httpbin.org/headers*", |req| {
let mut headers = req.headers.clone();
headers.push(("X-Custom".into(), "zendriver-demo".into()));
RequestOverrides {
headers: Some(headers),
..Default::default()
}
})?
.start();
tab.goto("https://httpbin.org/headers").await?;
tab.wait_for_load().await?;
let body: String = tab.evaluate_main("document.body.innerText").await?;
println!("{body}");
browser.close().await?;
Ok(())
}