leyline/core/session/builder/
debug.rs1use 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}