#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum PluginFailurePolicy {
#[default]
PassThrough,
FailClosed,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum ShapeOriginPolicy {
#[default]
Unrestricted,
SelectedUpstreamOrigin,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct PluginWireBounds {
pub output_body_bytes: u64,
pub max_headers: u32,
pub max_header_value_bytes: u32,
pub reason_bytes: u32,
}
impl PluginWireBounds {
pub const DEFAULT_OUTPUT_BODY_BYTES: u64 = 100 * 1024 * 1024;
pub const DEFAULT_MAX_HEADERS: u32 = 100;
pub const DEFAULT_MAX_HEADER_VALUE_BYTES: u32 = 8 * 1024;
pub const DEFAULT_REASON_BYTES: u32 = 256;
}
impl Default for PluginWireBounds {
fn default() -> Self {
Self {
output_body_bytes: Self::DEFAULT_OUTPUT_BODY_BYTES,
max_headers: Self::DEFAULT_MAX_HEADERS,
max_header_value_bytes: Self::DEFAULT_MAX_HEADER_VALUE_BYTES,
reason_bytes: Self::DEFAULT_REASON_BYTES,
}
}
}