pub struct DomainRoute {Show 18 fields
pub id: Uuid,
pub domain_id: Uuid,
pub tenant_id: Uuid,
pub name: String,
pub path_pattern: String,
pub path_type: DomainPathMatchType,
pub methods: Option<Vec<String>>,
pub priority: i32,
pub upstream_id: Option<Uuid>,
pub strip_path: bool,
pub add_headers: HashMap<String, String>,
pub remove_headers: Vec<String>,
pub rate_limit_requests: Option<i32>,
pub rate_limit_window_secs: Option<i32>,
pub timeout_secs: i32,
pub enabled: bool,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
A domain route.
Fields§
§id: UuidPrimary key.
domain_id: UuidThe domain this route belongs to.
tenant_id: UuidThe owning tenant, denormalised so a route can be authorised without joining to its domain.
name: StringName, unique within the domain.
path_pattern: StringThe path to match, read according to Self::path_type.
path_type: DomainPathMatchTypeHow to read Self::path_pattern.
methods: Option<Vec<String>>Methods to match. None or empty means any.
priority: i32Higher is matched first.
upstream_id: Option<Uuid>The upstream to forward to.
strip_path: boolWhether to remove the matched prefix before forwarding.
add_headers: HashMap<String, String>Headers to add to the forwarded request.
remove_headers: Vec<String>Headers to remove from the forwarded request.
rate_limit_requests: Option<i32>Requests allowed per window. Set with
Self::rate_limit_window_secs or not at all.
rate_limit_window_secs: Option<i32>The window those requests are counted over, in seconds.
timeout_secs: i32Request timeout in seconds.
enabled: boolWhether this route participates in matching.
created_at: DateTime<Utc>When the route was created.
updated_at: DateTime<Utc>When it last changed.
Trait Implementations§
Source§impl Clone for DomainRoute
impl Clone for DomainRoute
Source§impl Debug for DomainRoute
impl Debug for DomainRoute
Source§impl<'de> Deserialize<'de> for DomainRoute
impl<'de> Deserialize<'de> for DomainRoute
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>,
Auto Trait Implementations§
impl Freeze for DomainRoute
impl RefUnwindSafe for DomainRoute
impl Send for DomainRoute
impl Sync for DomainRoute
impl Unpin for DomainRoute
impl UnsafeUnpin for DomainRoute
impl UnwindSafe for DomainRoute
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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