use std::sync::Arc;
use super::TextBodyPolicy;
use super::UrlPathPolicy;
use super::internal::HttpPolicyParts;
use crate::RedactionRules;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct HttpPolicy {
inner: Arc<HttpPolicyParts>,
}
impl HttpPolicy {
#[must_use]
#[inline(always)]
pub(super) fn from_parts(parts: HttpPolicyParts) -> Self {
Self { inner: Arc::new(parts) }
}
#[must_use]
#[inline(always)]
pub fn header_rules(&self) -> &RedactionRules {
&self.inner.header_rules
}
#[must_use]
#[inline(always)]
pub fn query_rules(&self) -> &RedactionRules {
&self.inner.query_rules
}
#[must_use]
#[inline(always)]
pub fn body_rules(&self) -> &RedactionRules {
&self.inner.body_rules
}
#[must_use]
#[inline(always)]
pub fn url_path_policy(&self) -> UrlPathPolicy {
self.inner.url_path_policy
}
#[must_use]
#[inline(always)]
pub fn text_body_policy(&self) -> TextBodyPolicy {
self.inner.text_body_policy
}
}