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> Clone for SgHttpRouteRule<P>
impl<P: Clone> Clone for SgHttpRouteRule<P>
Source§fn clone(&self) -> SgHttpRouteRule<P>
fn clone(&self) -> SgHttpRouteRule<P>
Returns a copy 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> Debug for SgHttpRouteRule<P>
impl<P: Debug> Debug for SgHttpRouteRule<P>
Source§impl<P> Default for SgHttpRouteRule<P>
impl<P> Default for SgHttpRouteRule<P>
Source§impl<'de, P> Deserialize<'de> for SgHttpRouteRule<P>
impl<'de, P> Deserialize<'de> for SgHttpRouteRule<P>
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<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