pub struct RawRule {
pub name: String,
pub listen: Vec<ListenSpec>,
pub match_predicate: Option<Predicate>,
pub middleware_chain: Vec<MiddlewareRef>,
pub terminate: TerminateSpec,
pub tls: Option<TlsConfig>,
pub max_body_bytes_request: usize,
pub max_body_bytes_response: usize,
pub source: SourceInfo,
}Fields§
§name: String§listen: Vec<ListenSpec>§match_predicate: Option<Predicate>§middleware_chain: Vec<MiddlewareRef>§terminate: TerminateSpec§tls: Option<TlsConfig>Optional TLS termination config. When set, the listener wraps
each accepted TCP stream in a rustls server-side handshake
before driving the L7 sub-graph; cleartext sockets get
Box<dyn AsyncReadWrite> instead of raw TcpStream.
lower_port enforces consistency: every rule on the same
listener must agree on tls (all None or all the same
Some(_)); L4-only listeners cannot carry TLS (terminate +
re-emit cleartext is not a useful proxy shape — it leaks the
upstream traffic).
max_body_bytes_request: usizeMaximum bytes to buffer for request body LazyBuffer collection.
Default 8 MiB. Exceeding this produces 413 Payload Too Large.
max_body_bytes_response: usizeMaximum bytes to buffer for response body LazyBuffer collection.
Default 8 MiB. Exceeding this produces 502 Bad Gateway.
source: SourceInfoTrait Implementations§
Source§impl<'de> Deserialize<'de> for RawRule
impl<'de> Deserialize<'de> for RawRule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RawRule
impl RefUnwindSafe for RawRule
impl Send for RawRule
impl Sync for RawRule
impl Unpin for RawRule
impl UnsafeUnpin for RawRule
impl UnwindSafe for RawRule
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