Skip to main content

Module default_config

Module default_config 

Source
Expand description

Ready-to-use configuration for library consumers.

DefaultConfig implements every configuration trait (RateLimitingProvider, ProxyProvider, FilteringProvider, ConnectionProvider, AuthenticationProvider) with the same defaults the CLI uses. Tweak its public fields to customize behaviour without defining a fresh struct or implementing each trait by hand.

§Example

use std::sync::Arc;
use std::time::Duration;
use wisegate_core::{DefaultConfig, RateLimiter};

let mut config = DefaultConfig::default();
config.rate_limit.max_requests = 200;
config.rate_limit.window_duration = Duration::from_secs(30);
config.blocked_methods = vec!["TRACE".into(), "CONNECT".into()];

let _limiter = RateLimiter::new();
let _shared_config = Arc::new(config);

Structs§

DefaultConfig
Configuration backed by plain fields — pre-populated with WiseGate’s defaults.