use http::HeaderMap;
use http::HeaderValue;
use super::Redactor;
use crate::RedactionInspection;
use crate::RedactionInspectionError;
use crate::RedactionTextOutput;
use crate::formats::http::BodyCapture;
use crate::formats::http::inspection;
impl Redactor {
#[must_use]
#[inline]
pub fn redact_http_url(&self, value: &str) -> RedactionTextOutput {
let mut session = self.text_runtime();
session.http(|http| {
let _ = http.url(value);
});
session.finish()
}
#[inline]
pub fn inspect_http_url(&self, value: &str) -> Result<RedactionInspection, RedactionInspectionError> {
let mut session = self.inspection_runtime();
inspection::inspect_url(&mut session, value);
session.finish()
}
#[must_use]
#[inline]
pub fn redact_http_headers(&self, headers: &HeaderMap) -> RedactionTextOutput {
let mut session = self.text_runtime();
session.http(|http| {
let _ = http.headers(headers);
});
session.finish()
}
#[inline]
pub fn inspect_http_headers(&self, headers: &HeaderMap) -> Result<RedactionInspection, RedactionInspectionError> {
let mut session = self.inspection_runtime();
inspection::inspect_headers(&mut session, headers);
session.finish()
}
#[must_use]
#[inline]
pub fn redact_http_body(
&self,
capture: BodyCapture<'_>,
content_type: Option<&HeaderValue>,
) -> RedactionTextOutput {
let mut session = self.text_runtime();
session.http(|http| {
let _ = http.body(capture, content_type);
});
session.finish()
}
#[inline]
pub fn inspect_http_body(
&self,
capture: BodyCapture<'_>,
content_type: Option<&HeaderValue>,
) -> Result<RedactionInspection, RedactionInspectionError> {
let mut session = self.inspection_runtime();
inspection::inspect_body(&mut session, capture, content_type);
session.finish()
}
#[must_use]
#[inline]
pub fn redact_http_body_with_content_type_text(
&self,
capture: BodyCapture<'_>,
content_type: Option<&str>,
) -> RedactionTextOutput {
let mut session = self.text_runtime();
session.http(|http| {
let _ = http.body_with_content_type_text(capture, content_type);
});
session.finish()
}
#[inline]
pub fn inspect_http_body_with_content_type_text(
&self,
capture: BodyCapture<'_>,
content_type: Option<&str>,
) -> Result<RedactionInspection, RedactionInspectionError> {
let mut session = self.inspection_runtime();
inspection::inspect_body_with_content_type_text(&mut session, capture, content_type);
session.finish()
}
}