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("trace", &self.trace.is_some())
39            .field("config_error", &self.config_error)
40            .finish_non_exhaustive()
41    }
42}