Skip to main content

Crate scanclient

Crate scanclient 

Source
Expand description

§scanclient

High-performance, connection-pooled, and observable HTTP client designed specifically for Santh security scanning tools.

This crate wraps reqwest to provide unified rate-limiting, custom DNS resolution, automatic retries on specific status codes, proxy rotation, and specific security scanning configurations (e.g. ignoring TLS errors or setting specific User-Agents).

§Architecture

  • ScanClient: The main orchestration client.
  • HttpConfig: Configuration options for proxies, timeouts, and rate limits.
  • ScanResponse: A tailored response object capturing timing and status.

§Quick Start

use scanclient::config::HttpConfig;

let config = HttpConfig::default();
assert_eq!(config.timeout_secs, 10);
assert_eq!(config.max_retries, 3);
assert!(config.tls_verify);

// Load from TOML
let custom = HttpConfig::from_toml("timeout_secs = 30").unwrap();
assert_eq!(custom.timeout_secs, 30);

Re-exports§

pub use client::Error;
pub use client::Result;
pub use client::ScanClient;
pub use config::HttpConfig;
pub use config::HttpConfigError;
pub use response::ScanResponse;

Modules§

client
Scanning HTTP client tuned for security tooling.
config
TOML configuration helpers. HTTP Configuration loaders.
response
HTTP response wrappers. HTTP response wrappers.