//! Integration test harness for scanclient unit suites.

#![allow(
    clippy::manual_string_new,
    clippy::match_same_arms,
    clippy::needless_raw_string_hashes,
    clippy::uninlined_format_args
)]

pub use scanclient::adaptive_rate::{
    self, AdaptiveRateLimiter, DEFAULT_BACKOFF, MAX_BACKOFF, SyncRateLimiter,
};
pub use scanclient::camouflage::{
    HeaderConfig, apply_browser_headers, apply_browser_headers_to_request, random_delay,
};
pub use scanclient::header_injection::{
    ACCESS_CONTROL_BYPASS_HEADER_TEMPLATES, access_control_bypass_headers,
    cloudflare_bypass_headers, generic_bypass_headers,
};
pub use scanclient::http_transport;
pub use scanclient::http_transport::{HttpTransport, HttpTransportOptions};
pub use scanclient::retry;
pub use scanclient::smuggling::{SmugglingResult, SmugglingType, detect_smuggling, supports_https};
pub use scanclient::tls_profiles::{PROFILES, get_profile, rotate};
pub use scanclient::{HttpConfig, HttpConfigError, ScanResponse};
pub use std::time::Duration;

mod adaptive_rate_backoff;
mod camouflage;
mod config;
mod header_injection;
mod http_transport_redirect;
mod response;
mod smuggling;
mod tls_profiles;
