#[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
pub fn new() -> Self
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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more