use super::BodyMode;
#[derive(Debug, Clone, Default)]
#[allow(clippy::struct_excessive_bools, reason = "capability flags")]
pub struct BodyCapabilities {
pub any_request_body_writer: bool,
pub any_response_condition_uses_headers: bool,
pub any_response_body_writer: 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,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn body_capabilities_default_is_no_op() {
let caps = BodyCapabilities::default();
assert!(!caps.needs_request_body, "default caps should not need request body");
assert!(!caps.needs_response_body, "default caps should not need response body");
assert!(
!caps.any_request_body_writer,
"default caps should have no request body writer"
);
assert!(
!caps.any_response_body_writer,
"default caps should have no response body writer"
);
assert!(
!caps.needs_request_context,
"default caps should not need request context"
);
assert_eq!(
caps.request_body_mode,
BodyMode::Stream,
"default request mode should be Stream"
);
assert_eq!(
caps.response_body_mode,
BodyMode::Stream,
"default response mode should be Stream"
);
}
}