agent-first-http 0.13.0

Give your AI agent its own private browser — so it reads the real page, past logins and bot walls, without ever touching yours.
Documentation
//! Shared helpers used by every integration test under `tests/`.

#![allow(
    dead_code,
    clippy::unwrap_used,
    clippy::expect_used,
    clippy::panic,
    clippy::disallowed_methods,
    clippy::disallowed_macros,
    clippy::err_expect,
    clippy::print_stdout,
    clippy::useless_conversion
)]

pub mod env;
pub mod fixture_server;
#[cfg(feature = "host")]
pub mod takeover_host;

use std::sync::OnceLock;

/// Install the aws-lc-rs rustls provider exactly once per test process.
/// Both `Client::connect` and bare `reqwest::Client::new()` need this when
/// reqwest is compiled with `rustls-tls-no-provider`. Call from the top of
/// any test that creates a bare reqwest client.
pub fn ensure_rustls_provider() {
    static ONCE: OnceLock<()> = OnceLock::new();
    ONCE.get_or_init(|| {
        let _ = rustls::crypto::aws_lc_rs::default_provider().install_default();
    });
}