-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathRoutingParameter.php
281 lines (269 loc) · 12.9 KB
/
RoutingParameter.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
<?php
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: google/api/routing.proto
namespace Google\Api;
use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;
/**
* A projection from an input message to the GRPC or REST header.
*
* Generated from protobuf message <code>google.api.RoutingParameter</code>
*/
class RoutingParameter extends \Google\Protobuf\Internal\Message
{
/**
* A request field to extract the header key-value pair from.
*
* Generated from protobuf field <code>string field = 1;</code>
*/
protected $field = '';
/**
* A 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_location`
* and the value matching `instances/*` should be added
* to the x-goog-request-params routing header.
* - The value is extracted from the request message's `table_name` field
* 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.
*
* Generated from protobuf field <code>string path_template = 2;</code>
*/
protected $path_template = '';
/**
* Constructor.
*
* @param array $data {
* Optional. Data for populating the Message object.
*
* @type string $field
* A request field to extract the header key-value pair from.
* @type string $path_template
* A 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_location`
* and the value matching `instances/*` should be added
* to the x-goog-request-params routing header.
* - The value is extracted from the request message's `table_name` field
* 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.
* }
*/
public function __construct($data = NULL) {
\GPBMetadata\Google\Api\Routing::initOnce();
parent::__construct($data);
}
/**
* A request field to extract the header key-value pair from.
*
* Generated from protobuf field <code>string field = 1;</code>
* @return string
*/
public function getField()
{
return $this->field;
}
/**
* A request field to extract the header key-value pair from.
*
* Generated from protobuf field <code>string field = 1;</code>
* @param string $var
* @return $this
*/
public function setField($var)
{
GPBUtil::checkString($var, True);
$this->field = $var;
return $this;
}
/**
* A 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_location`
* and the value matching `instances/*` should be added
* to the x-goog-request-params routing header.
* - The value is extracted from the request message's `table_name` field
* 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.
*
* Generated from protobuf field <code>string path_template = 2;</code>
* @return string
*/
public function getPathTemplate()
{
return $this->path_template;
}
/**
* A 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_location`
* and the value matching `instances/*` should be added
* to the x-goog-request-params routing header.
* - The value is extracted from the request message's `table_name` field
* 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.
*
* Generated from protobuf field <code>string path_template = 2;</code>
* @param string $var
* @return $this
*/
public function setPathTemplate($var)
{
GPBUtil::checkString($var, True);
$this->path_template = $var;
return $this;
}
}