Struct googapis::google::api::RoutingParameter [−][src]
Expand description
A projection from an input message to the GRPC or REST header.
Fields
field: StringA request field to extract the header key-value pair from.
path_template: StringA pattern matching the key-value field. Optional.
If not specified, the whole field specified in the field field will be
taken as value, and its name used as key. If specified, it MUST contain
exactly one named segment (along with any number of unnamed segments) The
pattern will be matched over the field specified in the field field, then
if the match is successful:
- the name of the single named segment will be used as a header name,
- the match value of the segment will be used as a header value; if the match is NOT successful, nothing will be sent.
Example:
-- This is a field in the request message
| that the header value will be extracted from.
|
| -- This is the key name in the
| | routing header.
V |
field: "table_name" v
path_template: "projects/*/{table_location=instances/*}/tables/*"
^ ^
| |
In the {} brackets is the pattern that -- |
specifies what to extract from the |
field as a value to be sent. |
|
The string in the field must match the whole pattern --
before brackets, inside brackets, after brackets.When looking at this specific example, we can see that:
- A key-value pair with the key
table_locationand the value matchinginstances/*should be added to the x-goog-request-params routing header. - The value is extracted from the request message’s
table_namefield if it matches the full pattern specified:projects/*/instances/*/tables/*.
NB: If the path_template field is not provided, the key name is
equal to the field name, and the whole field should be sent as a value.
This makes the pattern for the field and the value functionally equivalent
to **, and the configuration
{
field: "table_name"
}is a functionally equivalent shorthand to:
{
field: "table_name"
path_template: "{table_name=**}"
}See Example 1 for more details.
Trait Implementations
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self. Read more
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for RoutingParameter
impl Send for RoutingParameter
impl Sync for RoutingParameter
impl Unpin for RoutingParameter
impl UnwindSafe for RoutingParameter
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T in a tonic::Request
pub fn vzip(self) -> V
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more