pub struct SgHttpRouteRule<P = PluginInstanceId> {
pub matches: Option<Vec<SgHttpRouteMatch>>,
pub plugins: Vec<P>,
pub backends: Vec<SgBackendRef<P>>,
pub timeout_ms: Option<u32>,
}
Expand description
HTTPRouteRule defines semantics for matching an HTTP request based on conditions (matches), processing it (filters), and forwarding the request to an API object
Fields§
§matches: Option<Vec<SgHttpRouteMatch>>
Matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if any one of the matches is satisfied.
plugins: Vec<P>
Filters define the filters that are applied to requests that match this rule.
backends: Vec<SgBackendRef<P>>
BackendRefs defines the backend(s) where matching requests should be sent.
timeout_ms: Option<u32>
Timeout define the timeout for requests that match this rule.
Implementations§
Source§impl<P> SgHttpRouteRule<P>
impl<P> SgHttpRouteRule<P>
pub fn map_plugins<F, T>(self, f: F) -> SgHttpRouteRule<T>where
F: FnMut(P) -> T,
Trait Implementations§
Source§impl<P> Clone for SgHttpRouteRule<P>where
P: Clone,
impl<P> Clone for SgHttpRouteRule<P>where
P: Clone,
Source§fn clone(&self) -> SgHttpRouteRule<P>
fn clone(&self) -> SgHttpRouteRule<P>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<P> Debug for SgHttpRouteRule<P>where
P: Debug,
impl<P> Debug for SgHttpRouteRule<P>where
P: Debug,
Source§impl<P> Default for SgHttpRouteRule<P>
impl<P> Default for SgHttpRouteRule<P>
Source§fn default() -> SgHttpRouteRule<P>
fn default() -> SgHttpRouteRule<P>
Returns the “default value” for a type. Read more
Source§impl<'de, P> Deserialize<'de> for SgHttpRouteRule<P>
impl<'de, P> Deserialize<'de> for SgHttpRouteRule<P>
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SgHttpRouteRule<P>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SgHttpRouteRule<P>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<P> Serialize for SgHttpRouteRule<P>where
P: Serialize,
impl<P> Serialize for SgHttpRouteRule<P>where
P: Serialize,
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl<P> Freeze for SgHttpRouteRule<P>
impl<P> RefUnwindSafe for SgHttpRouteRule<P>where
P: RefUnwindSafe,
impl<P> Send for SgHttpRouteRule<P>where
P: Send,
impl<P> Sync for SgHttpRouteRule<P>where
P: Sync,
impl<P> Unpin for SgHttpRouteRule<P>where
P: Unpin,
impl<P> UnwindSafe for SgHttpRouteRule<P>where
P: UnwindSafe,
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more