pub struct BodyCapabilities {
pub any_request_body_writer: bool,
pub any_response_body_writer: bool,
pub any_response_condition_uses_headers: bool,
pub needs_request_body: bool,
pub needs_request_context: bool,
pub needs_response_body: bool,
pub request_body_mode: BodyMode,
pub response_body_mode: BodyMode,
}Expand description
Pre-computed body processing capabilities for a pipeline.
use praxis_filter::{BodyCapabilities, BodyMode};
let caps = BodyCapabilities::default();
assert!(!caps.needs_request_body);
assert!(!caps.needs_response_body);
assert_eq!(caps.request_body_mode, BodyMode::Stream);
assert_eq!(caps.response_body_mode, BodyMode::Stream);
let caps = BodyCapabilities {
needs_request_body: true,
request_body_mode: BodyMode::StreamBuffer {
max_bytes: Some(4096),
},
..Default::default()
};
assert!(caps.needs_request_body);
assert!(matches!(
caps.request_body_mode,
BodyMode::StreamBuffer {
max_bytes: Some(4096)
}
));
assert!(!caps.needs_response_body, "unset fields stay at default");Fields§
§any_request_body_writer: boolWhether any filter writes to the request body.
any_response_body_writer: boolWhether any filter writes to the response body.
any_response_condition_uses_headers: boolWhether any response condition references headers.
needs_request_body: boolWhether any filter needs request body access.
needs_request_context: boolWhether any filter needs the original request context during body phases.
needs_response_body: boolWhether any filter needs response body access.
request_body_mode: BodyModeResolved request body mode (StreamBuffer if any filter requires it).
response_body_mode: BodyModeResolved response body mode (StreamBuffer if any filter requires it).
Trait Implementations§
Source§impl Clone for BodyCapabilities
impl Clone for BodyCapabilities
Source§fn clone(&self) -> BodyCapabilities
fn clone(&self) -> BodyCapabilities
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BodyCapabilities
impl Debug for BodyCapabilities
Source§impl Default for BodyCapabilities
impl Default for BodyCapabilities
Source§fn default() -> BodyCapabilities
fn default() -> BodyCapabilities
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BodyCapabilities
impl RefUnwindSafe for BodyCapabilities
impl Send for BodyCapabilities
impl Sync for BodyCapabilities
impl Unpin for BodyCapabilities
impl UnsafeUnpin for BodyCapabilities
impl UnwindSafe for BodyCapabilities
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more