#[repr(i32)]pub enum PathTranslation {
Unspecified = 0,
ConstantAddress = 1,
AppendPathToAddress = 2,
}
Expand description
Path Translation specifies how to combine the backend address with the request path in order to produce the appropriate forwarding URL for the request.
Path Translation is applicable only to HTTP-based backends. Backends which
do not accept requests over HTTP/HTTPS should leave path_translation
unspecified.
Variants§
Unspecified = 0
ConstantAddress = 1
Use the backend address as-is, with no modification to the path. If the URL pattern contains variables, the variable names and values will be appended to the query string. If a query string parameter and a URL pattern variable have the same name, this may result in duplicate keys in the query string.
§Examples
Given the following operation config:
Method path: /api/company/{cid}/user/{uid}
Backend address: <https://example.cloudfunctions.net/getUser>
Requests to the following request paths will call the backend at the translated path:
Request path: /api/company/widgetworks/user/johndoe
Translated:
<https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe>
Request path: /api/company/widgetworks/user/johndoe?timezone=EST
Translated:
<https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe>
AppendPathToAddress = 2
The request path will be appended to the backend address.
§Examples
Given the following operation config:
Method path: /api/company/{cid}/user/{uid}
Backend address: <https://example.appspot.com>
Requests to the following request paths will call the backend at the translated path:
Request path: /api/company/widgetworks/user/johndoe
Translated:
<https://example.appspot.com/api/company/widgetworks/user/johndoe>
Request path: /api/company/widgetworks/user/johndoe?timezone=EST
Translated:
<https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST>
Implementations§
Source§impl PathTranslation
impl PathTranslation
Sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
Sourcepub fn from_str_name(value: &str) -> Option<PathTranslation>
pub fn from_str_name(value: &str) -> Option<PathTranslation>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
Source§impl Clone for PathTranslation
impl Clone for PathTranslation
Source§fn clone(&self) -> PathTranslation
fn clone(&self) -> PathTranslation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PathTranslation
impl Debug for PathTranslation
Source§impl Default for PathTranslation
impl Default for PathTranslation
Source§fn default() -> PathTranslation
fn default() -> PathTranslation
Source§impl Hash for PathTranslation
impl Hash for PathTranslation
Source§impl Ord for PathTranslation
impl Ord for PathTranslation
Source§fn cmp(&self, other: &PathTranslation) -> Ordering
fn cmp(&self, other: &PathTranslation) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for PathTranslation
impl PartialEq for PathTranslation
Source§impl PartialOrd for PathTranslation
impl PartialOrd for PathTranslation
Source§impl TryFrom<i32> for PathTranslation
impl TryFrom<i32> for PathTranslation
Source§type Error = UnknownEnumValue
type Error = UnknownEnumValue
Source§fn try_from(value: i32) -> Result<PathTranslation, UnknownEnumValue>
fn try_from(value: i32) -> Result<PathTranslation, UnknownEnumValue>
impl Copy for PathTranslation
impl Eq for PathTranslation
impl StructuralPartialEq for PathTranslation
Auto Trait Implementations§
impl Freeze for PathTranslation
impl RefUnwindSafe for PathTranslation
impl Send for PathTranslation
impl Sync for PathTranslation
impl Unpin for PathTranslation
impl UnwindSafe for PathTranslation
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
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> 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