use super::HttpContextBuilderView;
use super::PolicyError;
use super::RedactionFloor;
use super::RedactionPolicyBuilder;
#[cfg(feature = "http")]
pub struct HttpPolicyBuilderView<'a> {
pub(super) builder: &'a mut RedactionPolicyBuilder,
pub(super) error: Option<PolicyError>,
}
#[cfg(feature = "http")]
impl HttpPolicyBuilderView<'_> {
#[must_use]
#[inline(always)]
pub fn header(&mut self) -> HttpContextBuilderView<'_> {
HttpContextBuilderView {
builder: &mut self.builder.http,
error: &mut self.error,
context: crate::formats::http::HttpFieldContext::Header,
}
}
#[must_use]
#[inline(always)]
pub fn query(&mut self) -> HttpContextBuilderView<'_> {
HttpContextBuilderView {
builder: &mut self.builder.http,
error: &mut self.error,
context: crate::formats::http::HttpFieldContext::Query,
}
}
#[must_use]
#[inline(always)]
pub fn body(&mut self) -> HttpContextBuilderView<'_> {
HttpContextBuilderView {
builder: &mut self.builder.http,
error: &mut self.error,
context: crate::formats::http::HttpFieldContext::Body,
}
}
#[inline(always)]
pub fn url_path(&mut self, policy: crate::formats::http::UrlPathPolicy) -> &mut Self {
self.builder.http.url_path_mut(policy);
self
}
#[inline(always)]
pub fn text_body(&mut self, policy: crate::formats::http::TextBodyPolicy) -> &mut Self {
self.builder.http.text_body_mut(policy);
self
}
#[inline(always)]
pub fn floor_all(&mut self, floor: RedactionFloor) -> &mut Self {
self.builder.http.floor_all_mut(floor);
self
}
#[inline(always)]
pub fn disable_all_floors(&mut self) -> &mut Self {
self.builder.http.disable_all_floors_mut();
self
}
#[inline(always)]
pub fn unkeyed_json(&mut self, policy: crate::UnkeyedJsonValuePolicy) -> &mut Self {
self.builder.unkeyed_json_value_policy = policy;
self
}
}