scanclient
HTTP client configuration for security scanners. Wraps reqwest with retries, rate limiting, proxy support, custom headers, and TLS settings. Load everything from a TOML file.
use HttpConfig;
let config = from_toml.unwrap;
Why not just use reqwest directly?
You can. scanclient is for when you're building a scanner and want the same config pattern every time: timeouts, retries with backoff, rate limiting, proxy, custom headers, TLS options. Instead of wiring this up from scratch in every project, load a TOML file.
Configuration
Every field has a sensible default. Override what you need:
| Field | Default | What it does |
|---|---|---|
| timeout_secs | 10 | Request timeout |
| max_retries | 3 | Retry on failure |
| retry_delay_ms | 1000 | Delay between retries |
| max_redirects | 5 | Follow redirects |
| proxy | None | HTTP proxy URL |
| user_agent | Mozilla/5.0... | Request User-Agent |
| rate_limit_per_sec | None | Max requests per second |
| tls_verify | true | Verify TLS certificates |
| connect_timeout_secs | 5 | Connection timeout |
Contributing
Pull requests are welcome. There is no such thing as a perfect crate. If you find a bug, a better API, or just a rough edge, open a PR. We review quickly.
License
MIT. Copyright 2026 CORUM COLLECTIVE LLC.