Skip to main content

leyline/core/session/builder/
debug.rs

1use std::fmt;
2
3use super::SessionBuilder;
4use crate::trace::masked;
5
6impl fmt::Debug for SessionBuilder {
7    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
8        let profile = self.profile.as_ref().map(|p| p.meta.name.as_str());
9        f.debug_struct("SessionBuilder")
10            .field("browser", &self.browser)
11            .field("profile", &profile)
12            .field("platform", &self.platform)
13            .field("brand", &self.brand)
14            .field("http_identity", &self.http_identity)
15            .field("protocol_policy", &self.protocol_policy)
16            .field("proxy", &self.proxy_config)
17            .field("dns", &self.dns_config)
18            .field("timeouts", &self.timeouts)
19            .field("pool", &self.pool_config)
20            .field("socket", &self.socket_config)
21            .field("redirect", &self.redirect_policy)
22            .field("compression", &self.compression)
23            .field("websocket", &self.websocket_config)
24            .field("retry", &self.default_retry)
25            .field("https_only", &self.https_only)
26            .field("audit", &self.audit)
27            .field("cookie_jar", &self.cookie_jar)
28            .field("tcp_profile", &self.tcp_profile)
29            .field("tls_trust", &self.tls_trust)
30            .field(
31                "default_headers",
32                &masked(
33                    self.default_headers
34                        .iter()
35                        .map(|(k, v)| (k.as_str(), v.as_bytes())),
36                ),
37            )
38            .field("bearer", &self.bearer.is_some())
39            .field(
40                "base_url",
41                &self
42                    .base_url
43                    .as_ref()
44                    .map(|url| crate::util::redact(url.as_str())),
45            )
46            .field("languages", &self.languages)
47            .field("host_limits", &self.host_limits)
48            .field("proxy_pool", &self.proxy_pool.is_some())
49            .field("trace", &self.trace.is_some())
50            .field("config_error", &self.config_error)
51            .finish_non_exhaustive()
52    }
53}