#[non_exhaustive]pub struct UrlRewrite {
pub host_rewrite: Option<String>,
pub path_prefix_rewrite: Option<String>,
pub path_template_rewrite: Option<String>,
/* private fields */
}region-url-maps or url-maps only.Expand description
The spec for modifying the path before sending the request to the matched backend service.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.host_rewrite: Option<String>Before forwarding the request to the selected service, the request’s host header is replaced with contents of hostRewrite.
The value must be from 1 to 255 characters.
path_prefix_rewrite: Option<String>Before forwarding the request to the selected backend service, the matching portion of the request’s path is replaced bypathPrefixRewrite.
The value must be from 1 to 1024 characters.
path_template_rewrite: Option<String>If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field.
- -At least one variable must be specified in the path_template_match
field- You can omit variables from the rewritten URL
- The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
For example, a path_template_match of /static/{format=} could be rewritten as /static/content/{format} to prefix/content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=} can be rewritten as /content/{format}/{country}/{suffix}.
At least one non-empty routeRules[].matchRules[].path_template_match is required.
Only one of path_prefix_rewrite orpath_template_rewrite may be specified.
Implementations§
Source§impl UrlRewrite
impl UrlRewrite
Sourcepub fn set_host_rewrite<T>(self, v: T) -> Self
pub fn set_host_rewrite<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_host_rewrite<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_host_rewrite<T>(self, v: Option<T>) -> Self
Sets or clears the value of host_rewrite.
§Example
let x = UrlRewrite::new().set_or_clear_host_rewrite(Some("example"));
let x = UrlRewrite::new().set_or_clear_host_rewrite(None::<String>);Sourcepub fn set_path_prefix_rewrite<T>(self, v: T) -> Self
pub fn set_path_prefix_rewrite<T>(self, v: T) -> Self
Sets the value of path_prefix_rewrite.
§Example
let x = UrlRewrite::new().set_path_prefix_rewrite("example");Sourcepub fn set_or_clear_path_prefix_rewrite<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_path_prefix_rewrite<T>(self, v: Option<T>) -> Self
Sets or clears the value of path_prefix_rewrite.
§Example
let x = UrlRewrite::new().set_or_clear_path_prefix_rewrite(Some("example"));
let x = UrlRewrite::new().set_or_clear_path_prefix_rewrite(None::<String>);Sourcepub fn set_path_template_rewrite<T>(self, v: T) -> Self
pub fn set_path_template_rewrite<T>(self, v: T) -> Self
Sets the value of path_template_rewrite.
§Example
let x = UrlRewrite::new().set_path_template_rewrite("example");Sourcepub fn set_or_clear_path_template_rewrite<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_path_template_rewrite<T>(self, v: Option<T>) -> Self
Sets or clears the value of path_template_rewrite.
§Example
let x = UrlRewrite::new().set_or_clear_path_template_rewrite(Some("example"));
let x = UrlRewrite::new().set_or_clear_path_template_rewrite(None::<String>);Trait Implementations§
Source§impl Clone for UrlRewrite
impl Clone for UrlRewrite
Source§fn clone(&self) -> UrlRewrite
fn clone(&self) -> UrlRewrite
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UrlRewrite
impl Debug for UrlRewrite
Source§impl Default for UrlRewrite
impl Default for UrlRewrite
Source§fn default() -> UrlRewrite
fn default() -> UrlRewrite
Source§impl PartialEq for UrlRewrite
impl PartialEq for UrlRewrite
impl StructuralPartialEq for UrlRewrite
Auto Trait Implementations§
impl Freeze for UrlRewrite
impl RefUnwindSafe for UrlRewrite
impl Send for UrlRewrite
impl Sync for UrlRewrite
impl Unpin for UrlRewrite
impl UnsafeUnpin for UrlRewrite
impl UnwindSafe for UrlRewrite
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request