1use std::time::Duration;
2
3const DEFAULT_CONNECT_TIMEOUT: Duration = Duration::from_secs(10);
4const DEFAULT_REQUEST_TIMEOUT: Duration = Duration::from_secs(30);
5const DEFAULT_IMPERSONATION_TARGET: &str = "chrome136";
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub enum RedirectPolicy {
10 None,
12 Follow,
14}
15
16#[derive(Debug, Clone)]
18pub struct Config {
19 pub impersonation_target: String,
21 pub connect_timeout: Duration,
23 pub request_timeout: Duration,
25 pub redirect_policy: RedirectPolicy,
27 pub default_headers: bool,
29}
30
31impl Default for Config {
32 fn default() -> Self {
34 Self {
35 impersonation_target: DEFAULT_IMPERSONATION_TARGET.to_string(),
36 connect_timeout: DEFAULT_CONNECT_TIMEOUT,
37 request_timeout: DEFAULT_REQUEST_TIMEOUT,
38 redirect_policy: RedirectPolicy::None,
39 default_headers: true,
40 }
41 }
42}