http.pb.go 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723
  1. // Copyright 2018 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. // Code generated by protoc-gen-go. DO NOT EDIT.
  15. // versions:
  16. // protoc-gen-go v1.30.0
  17. // protoc (unknown)
  18. // source: google/api/http.proto
  19. package api
  20. import (
  21. protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  22. protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  23. reflect "reflect"
  24. sync "sync"
  25. )
  26. const (
  27. // Verify that this generated code is sufficiently up-to-date.
  28. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  29. // Verify that runtime/protoimpl is sufficiently up-to-date.
  30. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  31. )
  32. // Defines the HTTP configuration for an API service. It contains a list of
  33. // [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
  34. // to one or more HTTP REST API methods.
  35. type Http struct {
  36. state protoimpl.MessageState
  37. sizeCache protoimpl.SizeCache
  38. unknownFields protoimpl.UnknownFields
  39. // A list of HTTP configuration rules that apply to individual API methods.
  40. //
  41. // **NOTE:** All service configuration rules follow "last one wins" order.
  42. Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
  43. // When set to true, URL path parmeters will be fully URI-decoded except in
  44. // cases of single segment matches in reserved expansion, where "%2F" will be
  45. // left encoded.
  46. //
  47. // The default behavior is to not decode RFC 6570 reserved characters in multi
  48. // segment matches.
  49. FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"`
  50. }
  51. func (x *Http) Reset() {
  52. *x = Http{}
  53. if protoimpl.UnsafeEnabled {
  54. mi := &file_google_api_http_proto_msgTypes[0]
  55. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  56. ms.StoreMessageInfo(mi)
  57. }
  58. }
  59. func (x *Http) String() string {
  60. return protoimpl.X.MessageStringOf(x)
  61. }
  62. func (*Http) ProtoMessage() {}
  63. func (x *Http) ProtoReflect() protoreflect.Message {
  64. mi := &file_google_api_http_proto_msgTypes[0]
  65. if protoimpl.UnsafeEnabled && x != nil {
  66. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  67. if ms.LoadMessageInfo() == nil {
  68. ms.StoreMessageInfo(mi)
  69. }
  70. return ms
  71. }
  72. return mi.MessageOf(x)
  73. }
  74. // Deprecated: Use Http.ProtoReflect.Descriptor instead.
  75. func (*Http) Descriptor() ([]byte, []int) {
  76. return file_google_api_http_proto_rawDescGZIP(), []int{0}
  77. }
  78. func (x *Http) GetRules() []*HttpRule {
  79. if x != nil {
  80. return x.Rules
  81. }
  82. return nil
  83. }
  84. func (x *Http) GetFullyDecodeReservedExpansion() bool {
  85. if x != nil {
  86. return x.FullyDecodeReservedExpansion
  87. }
  88. return false
  89. }
  90. // `HttpRule` defines the mapping of an RPC method to one or more HTTP
  91. // REST API methods. The mapping specifies how different portions of the RPC
  92. // request message are mapped to URL path, URL query parameters, and
  93. // HTTP request body. The mapping is typically specified as an
  94. // `google.api.http` annotation on the RPC method,
  95. // see "google/api/annotations.proto" for details.
  96. //
  97. // The mapping consists of a field specifying the path template and
  98. // method kind. The path template can refer to fields in the request
  99. // message, as in the example below which describes a REST GET
  100. // operation on a resource collection of messages:
  101. //
  102. //
  103. // service Messaging {
  104. // rpc GetMessage(GetMessageRequest) returns (Message) {
  105. // option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
  106. // }
  107. // }
  108. // message GetMessageRequest {
  109. // message SubMessage {
  110. // string subfield = 1;
  111. // }
  112. // string message_id = 1; // mapped to the URL
  113. // SubMessage sub = 2; // `sub.subfield` is url-mapped
  114. // }
  115. // message Message {
  116. // string text = 1; // content of the resource
  117. // }
  118. //
  119. // The same http annotation can alternatively be expressed inside the
  120. // `GRPC API Configuration` YAML file.
  121. //
  122. // http:
  123. // rules:
  124. // - selector: <proto_package_name>.Messaging.GetMessage
  125. // get: /v1/messages/{message_id}/{sub.subfield}
  126. //
  127. // This definition enables an automatic, bidrectional mapping of HTTP
  128. // JSON to RPC. Example:
  129. //
  130. // HTTP | RPC
  131. // -----|-----
  132. // `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
  133. //
  134. // In general, not only fields but also field paths can be referenced
  135. // from a path pattern. Fields mapped to the path pattern cannot be
  136. // repeated and must have a primitive (non-message) type.
  137. //
  138. // Any fields in the request message which are not bound by the path
  139. // pattern automatically become (optional) HTTP query
  140. // parameters. Assume the following definition of the request message:
  141. //
  142. //
  143. // service Messaging {
  144. // rpc GetMessage(GetMessageRequest) returns (Message) {
  145. // option (google.api.http).get = "/v1/messages/{message_id}";
  146. // }
  147. // }
  148. // message GetMessageRequest {
  149. // message SubMessage {
  150. // string subfield = 1;
  151. // }
  152. // string message_id = 1; // mapped to the URL
  153. // int64 revision = 2; // becomes a parameter
  154. // SubMessage sub = 3; // `sub.subfield` becomes a parameter
  155. // }
  156. //
  157. //
  158. // This enables a HTTP JSON to RPC mapping as below:
  159. //
  160. // HTTP | RPC
  161. // -----|-----
  162. // `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
  163. //
  164. // Note that fields which are mapped to HTTP parameters must have a
  165. // primitive type or a repeated primitive type. Message types are not
  166. // allowed. In the case of a repeated type, the parameter can be
  167. // repeated in the URL, as in `...?param=A&param=B`.
  168. //
  169. // For HTTP method kinds which allow a request body, the `body` field
  170. // specifies the mapping. Consider a REST update method on the
  171. // message resource collection:
  172. //
  173. //
  174. // service Messaging {
  175. // rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
  176. // option (google.api.http) = {
  177. // put: "/v1/messages/{message_id}"
  178. // body: "message"
  179. // };
  180. // }
  181. // }
  182. // message UpdateMessageRequest {
  183. // string message_id = 1; // mapped to the URL
  184. // Message message = 2; // mapped to the body
  185. // }
  186. //
  187. //
  188. // The following HTTP JSON to RPC mapping is enabled, where the
  189. // representation of the JSON in the request body is determined by
  190. // protos JSON encoding:
  191. //
  192. // HTTP | RPC
  193. // -----|-----
  194. // `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
  195. //
  196. // The special name `*` can be used in the body mapping to define that
  197. // every field not bound by the path template should be mapped to the
  198. // request body. This enables the following alternative definition of
  199. // the update method:
  200. //
  201. // service Messaging {
  202. // rpc UpdateMessage(Message) returns (Message) {
  203. // option (google.api.http) = {
  204. // put: "/v1/messages/{message_id}"
  205. // body: "*"
  206. // };
  207. // }
  208. // }
  209. // message Message {
  210. // string message_id = 1;
  211. // string text = 2;
  212. // }
  213. //
  214. //
  215. // The following HTTP JSON to RPC mapping is enabled:
  216. //
  217. // HTTP | RPC
  218. // -----|-----
  219. // `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")`
  220. //
  221. // Note that when using `*` in the body mapping, it is not possible to
  222. // have HTTP parameters, as all fields not bound by the path end in
  223. // the body. This makes this option more rarely used in practice of
  224. // defining REST APIs. The common usage of `*` is in custom methods
  225. // which don't use the URL at all for transferring data.
  226. //
  227. // It is possible to define multiple HTTP methods for one RPC by using
  228. // the `additional_bindings` option. Example:
  229. //
  230. // service Messaging {
  231. // rpc GetMessage(GetMessageRequest) returns (Message) {
  232. // option (google.api.http) = {
  233. // get: "/v1/messages/{message_id}"
  234. // additional_bindings {
  235. // get: "/v1/users/{user_id}/messages/{message_id}"
  236. // }
  237. // };
  238. // }
  239. // }
  240. // message GetMessageRequest {
  241. // string message_id = 1;
  242. // string user_id = 2;
  243. // }
  244. //
  245. //
  246. // This enables the following two alternative HTTP JSON to RPC
  247. // mappings:
  248. //
  249. // HTTP | RPC
  250. // -----|-----
  251. // `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
  252. // `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")`
  253. //
  254. // # Rules for HTTP mapping
  255. //
  256. // The rules for mapping HTTP path, query parameters, and body fields
  257. // to the request message are as follows:
  258. //
  259. // 1. The `body` field specifies either `*` or a field path, or is
  260. // omitted. If omitted, it indicates there is no HTTP request body.
  261. // 2. Leaf fields (recursive expansion of nested messages in the
  262. // request) can be classified into three types:
  263. // (a) Matched in the URL template.
  264. // (b) Covered by body (if body is `*`, everything except (a) fields;
  265. // else everything under the body field)
  266. // (c) All other fields.
  267. // 3. URL query parameters found in the HTTP request are mapped to (c) fields.
  268. // 4. Any body sent with an HTTP request can contain only (b) fields.
  269. //
  270. // The syntax of the path template is as follows:
  271. //
  272. // Template = "/" Segments [ Verb ] ;
  273. // Segments = Segment { "/" Segment } ;
  274. // Segment = "*" | "**" | LITERAL | Variable ;
  275. // Variable = "{" FieldPath [ "=" Segments ] "}" ;
  276. // FieldPath = IDENT { "." IDENT } ;
  277. // Verb = ":" LITERAL ;
  278. //
  279. // The syntax `*` matches a single path segment. The syntax `**` matches zero
  280. // or more path segments, which must be the last part of the path except the
  281. // `Verb`. The syntax `LITERAL` matches literal text in the path.
  282. //
  283. // The syntax `Variable` matches part of the URL path as specified by its
  284. // template. A variable template must not contain other variables. If a variable
  285. // matches a single path segment, its template may be omitted, e.g. `{var}`
  286. // is equivalent to `{var=*}`.
  287. //
  288. // If a variable contains exactly one path segment, such as `"{var}"` or
  289. // `"{var=*}"`, when such a variable is expanded into a URL path, all characters
  290. // except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the
  291. // Discovery Document as `{var}`.
  292. //
  293. // If a variable contains one or more path segments, such as `"{var=foo/*}"`
  294. // or `"{var=**}"`, when such a variable is expanded into a URL path, all
  295. // characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables
  296. // show up in the Discovery Document as `{+var}`.
  297. //
  298. // NOTE: While the single segment variable matches the semantics of
  299. // [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
  300. // Simple String Expansion, the multi segment variable **does not** match
  301. // RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion
  302. // does not expand special characters like `?` and `#`, which would lead
  303. // to invalid URLs.
  304. //
  305. // NOTE: the field paths in variables and in the `body` must not refer to
  306. // repeated fields or map fields.
  307. type HttpRule struct {
  308. state protoimpl.MessageState
  309. sizeCache protoimpl.SizeCache
  310. unknownFields protoimpl.UnknownFields
  311. // Selects methods to which this rule applies.
  312. //
  313. // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
  314. Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
  315. // Determines the URL pattern is matched by this rules. This pattern can be
  316. // used with any of the {get|put|post|delete|patch} methods. A custom method
  317. // can be defined using the 'custom' field.
  318. //
  319. // Types that are assignable to Pattern:
  320. //
  321. // *HttpRule_Get
  322. // *HttpRule_Put
  323. // *HttpRule_Post
  324. // *HttpRule_Delete
  325. // *HttpRule_Patch
  326. // *HttpRule_Custom
  327. Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
  328. // The name of the request field whose value is mapped to the HTTP body, or
  329. // `*` for mapping all fields not captured by the path pattern to the HTTP
  330. // body. NOTE: the referred field must not be a repeated field and must be
  331. // present at the top-level of request message type.
  332. Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
  333. // Optional. The name of the response field whose value is mapped to the HTTP
  334. // body of response. Other response fields are ignored. When
  335. // not set, the response message will be used as HTTP body of response.
  336. ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
  337. // Additional HTTP bindings for the selector. Nested bindings must
  338. // not contain an `additional_bindings` field themselves (that is,
  339. // the nesting may only be one level deep).
  340. AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"`
  341. }
  342. func (x *HttpRule) Reset() {
  343. *x = HttpRule{}
  344. if protoimpl.UnsafeEnabled {
  345. mi := &file_google_api_http_proto_msgTypes[1]
  346. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  347. ms.StoreMessageInfo(mi)
  348. }
  349. }
  350. func (x *HttpRule) String() string {
  351. return protoimpl.X.MessageStringOf(x)
  352. }
  353. func (*HttpRule) ProtoMessage() {}
  354. func (x *HttpRule) ProtoReflect() protoreflect.Message {
  355. mi := &file_google_api_http_proto_msgTypes[1]
  356. if protoimpl.UnsafeEnabled && x != nil {
  357. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  358. if ms.LoadMessageInfo() == nil {
  359. ms.StoreMessageInfo(mi)
  360. }
  361. return ms
  362. }
  363. return mi.MessageOf(x)
  364. }
  365. // Deprecated: Use HttpRule.ProtoReflect.Descriptor instead.
  366. func (*HttpRule) Descriptor() ([]byte, []int) {
  367. return file_google_api_http_proto_rawDescGZIP(), []int{1}
  368. }
  369. func (x *HttpRule) GetSelector() string {
  370. if x != nil {
  371. return x.Selector
  372. }
  373. return ""
  374. }
  375. func (m *HttpRule) GetPattern() isHttpRule_Pattern {
  376. if m != nil {
  377. return m.Pattern
  378. }
  379. return nil
  380. }
  381. func (x *HttpRule) GetGet() string {
  382. if x, ok := x.GetPattern().(*HttpRule_Get); ok {
  383. return x.Get
  384. }
  385. return ""
  386. }
  387. func (x *HttpRule) GetPut() string {
  388. if x, ok := x.GetPattern().(*HttpRule_Put); ok {
  389. return x.Put
  390. }
  391. return ""
  392. }
  393. func (x *HttpRule) GetPost() string {
  394. if x, ok := x.GetPattern().(*HttpRule_Post); ok {
  395. return x.Post
  396. }
  397. return ""
  398. }
  399. func (x *HttpRule) GetDelete() string {
  400. if x, ok := x.GetPattern().(*HttpRule_Delete); ok {
  401. return x.Delete
  402. }
  403. return ""
  404. }
  405. func (x *HttpRule) GetPatch() string {
  406. if x, ok := x.GetPattern().(*HttpRule_Patch); ok {
  407. return x.Patch
  408. }
  409. return ""
  410. }
  411. func (x *HttpRule) GetCustom() *CustomHttpPattern {
  412. if x, ok := x.GetPattern().(*HttpRule_Custom); ok {
  413. return x.Custom
  414. }
  415. return nil
  416. }
  417. func (x *HttpRule) GetBody() string {
  418. if x != nil {
  419. return x.Body
  420. }
  421. return ""
  422. }
  423. func (x *HttpRule) GetResponseBody() string {
  424. if x != nil {
  425. return x.ResponseBody
  426. }
  427. return ""
  428. }
  429. func (x *HttpRule) GetAdditionalBindings() []*HttpRule {
  430. if x != nil {
  431. return x.AdditionalBindings
  432. }
  433. return nil
  434. }
  435. type isHttpRule_Pattern interface {
  436. isHttpRule_Pattern()
  437. }
  438. type HttpRule_Get struct {
  439. // Used for listing and getting information about resources.
  440. Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"`
  441. }
  442. type HttpRule_Put struct {
  443. // Used for updating a resource.
  444. Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"`
  445. }
  446. type HttpRule_Post struct {
  447. // Used for creating a resource.
  448. Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"`
  449. }
  450. type HttpRule_Delete struct {
  451. // Used for deleting a resource.
  452. Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"`
  453. }
  454. type HttpRule_Patch struct {
  455. // Used for updating a resource.
  456. Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"`
  457. }
  458. type HttpRule_Custom struct {
  459. // The custom pattern is used for specifying an HTTP method that is not
  460. // included in the `pattern` field, such as HEAD, or "*" to leave the
  461. // HTTP method unspecified for this rule. The wild-card rule is useful
  462. // for services that provide content to Web (HTML) clients.
  463. Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
  464. }
  465. func (*HttpRule_Get) isHttpRule_Pattern() {}
  466. func (*HttpRule_Put) isHttpRule_Pattern() {}
  467. func (*HttpRule_Post) isHttpRule_Pattern() {}
  468. func (*HttpRule_Delete) isHttpRule_Pattern() {}
  469. func (*HttpRule_Patch) isHttpRule_Pattern() {}
  470. func (*HttpRule_Custom) isHttpRule_Pattern() {}
  471. // A custom pattern is used for defining custom HTTP verb.
  472. type CustomHttpPattern struct {
  473. state protoimpl.MessageState
  474. sizeCache protoimpl.SizeCache
  475. unknownFields protoimpl.UnknownFields
  476. // The name of this custom HTTP verb.
  477. Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
  478. // The path matched by this custom verb.
  479. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
  480. }
  481. func (x *CustomHttpPattern) Reset() {
  482. *x = CustomHttpPattern{}
  483. if protoimpl.UnsafeEnabled {
  484. mi := &file_google_api_http_proto_msgTypes[2]
  485. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  486. ms.StoreMessageInfo(mi)
  487. }
  488. }
  489. func (x *CustomHttpPattern) String() string {
  490. return protoimpl.X.MessageStringOf(x)
  491. }
  492. func (*CustomHttpPattern) ProtoMessage() {}
  493. func (x *CustomHttpPattern) ProtoReflect() protoreflect.Message {
  494. mi := &file_google_api_http_proto_msgTypes[2]
  495. if protoimpl.UnsafeEnabled && x != nil {
  496. ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  497. if ms.LoadMessageInfo() == nil {
  498. ms.StoreMessageInfo(mi)
  499. }
  500. return ms
  501. }
  502. return mi.MessageOf(x)
  503. }
  504. // Deprecated: Use CustomHttpPattern.ProtoReflect.Descriptor instead.
  505. func (*CustomHttpPattern) Descriptor() ([]byte, []int) {
  506. return file_google_api_http_proto_rawDescGZIP(), []int{2}
  507. }
  508. func (x *CustomHttpPattern) GetKind() string {
  509. if x != nil {
  510. return x.Kind
  511. }
  512. return ""
  513. }
  514. func (x *CustomHttpPattern) GetPath() string {
  515. if x != nil {
  516. return x.Path
  517. }
  518. return ""
  519. }
  520. var File_google_api_http_proto protoreflect.FileDescriptor
  521. var file_google_api_http_proto_rawDesc = []byte{
  522. 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74,
  523. 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  524. 0x61, 0x70, 0x69, 0x22, 0x79, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x72,
  525. 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
  526. 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65,
  527. 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x75, 0x6c, 0x6c, 0x79,
  528. 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
  529. 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
  530. 0x52, 0x1c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73,
  531. 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda,
  532. 0x02, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73,
  533. 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73,
  534. 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x02,
  535. 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x70,
  536. 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, 0x75, 0x74, 0x12,
  537. 0x14, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
  538. 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18,
  539. 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
  540. 0x16, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
  541. 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f,
  542. 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  543. 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50,
  544. 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
  545. 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  546. 0x62, 0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
  547. 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
  548. 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x13, 0x61, 0x64, 0x64,
  549. 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
  550. 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  551. 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x12, 0x61, 0x64,
  552. 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
  553. 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x3b, 0x0a, 0x11, 0x43,
  554. 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e,
  555. 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  556. 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
  557. 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x96, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d,
  558. 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x48, 0x74, 0x74,
  559. 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
  560. 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x73, 0x67, 0x75, 0x79, 0x64, 0x63, 0x68, 0x2f, 0x64, 0x69,
  561. 0x6f, 0x73, 0x70, 0x72, 0x6f, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
  562. 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x58,
  563. 0xaa, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0a,
  564. 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x16, 0x47, 0x6f, 0x6f,
  565. 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
  566. 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x70,
  567. 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  568. }
  569. var (
  570. file_google_api_http_proto_rawDescOnce sync.Once
  571. file_google_api_http_proto_rawDescData = file_google_api_http_proto_rawDesc
  572. )
  573. func file_google_api_http_proto_rawDescGZIP() []byte {
  574. file_google_api_http_proto_rawDescOnce.Do(func() {
  575. file_google_api_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_http_proto_rawDescData)
  576. })
  577. return file_google_api_http_proto_rawDescData
  578. }
  579. var file_google_api_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
  580. var file_google_api_http_proto_goTypes = []interface{}{
  581. (*Http)(nil), // 0: google.api.Http
  582. (*HttpRule)(nil), // 1: google.api.HttpRule
  583. (*CustomHttpPattern)(nil), // 2: google.api.CustomHttpPattern
  584. }
  585. var file_google_api_http_proto_depIdxs = []int32{
  586. 1, // 0: google.api.Http.rules:type_name -> google.api.HttpRule
  587. 2, // 1: google.api.HttpRule.custom:type_name -> google.api.CustomHttpPattern
  588. 1, // 2: google.api.HttpRule.additional_bindings:type_name -> google.api.HttpRule
  589. 3, // [3:3] is the sub-list for method output_type
  590. 3, // [3:3] is the sub-list for method input_type
  591. 3, // [3:3] is the sub-list for extension type_name
  592. 3, // [3:3] is the sub-list for extension extendee
  593. 0, // [0:3] is the sub-list for field type_name
  594. }
  595. func init() { file_google_api_http_proto_init() }
  596. func file_google_api_http_proto_init() {
  597. if File_google_api_http_proto != nil {
  598. return
  599. }
  600. if !protoimpl.UnsafeEnabled {
  601. file_google_api_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  602. switch v := v.(*Http); i {
  603. case 0:
  604. return &v.state
  605. case 1:
  606. return &v.sizeCache
  607. case 2:
  608. return &v.unknownFields
  609. default:
  610. return nil
  611. }
  612. }
  613. file_google_api_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  614. switch v := v.(*HttpRule); i {
  615. case 0:
  616. return &v.state
  617. case 1:
  618. return &v.sizeCache
  619. case 2:
  620. return &v.unknownFields
  621. default:
  622. return nil
  623. }
  624. }
  625. file_google_api_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  626. switch v := v.(*CustomHttpPattern); i {
  627. case 0:
  628. return &v.state
  629. case 1:
  630. return &v.sizeCache
  631. case 2:
  632. return &v.unknownFields
  633. default:
  634. return nil
  635. }
  636. }
  637. }
  638. file_google_api_http_proto_msgTypes[1].OneofWrappers = []interface{}{
  639. (*HttpRule_Get)(nil),
  640. (*HttpRule_Put)(nil),
  641. (*HttpRule_Post)(nil),
  642. (*HttpRule_Delete)(nil),
  643. (*HttpRule_Patch)(nil),
  644. (*HttpRule_Custom)(nil),
  645. }
  646. type x struct{}
  647. out := protoimpl.TypeBuilder{
  648. File: protoimpl.DescBuilder{
  649. GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  650. RawDescriptor: file_google_api_http_proto_rawDesc,
  651. NumEnums: 0,
  652. NumMessages: 3,
  653. NumExtensions: 0,
  654. NumServices: 0,
  655. },
  656. GoTypes: file_google_api_http_proto_goTypes,
  657. DependencyIndexes: file_google_api_http_proto_depIdxs,
  658. MessageInfos: file_google_api_http_proto_msgTypes,
  659. }.Build()
  660. File_google_api_http_proto = out.File
  661. file_google_api_http_proto_rawDesc = nil
  662. file_google_api_http_proto_goTypes = nil
  663. file_google_api_http_proto_depIdxs = nil
  664. }