master
parent
14c69732e1
commit
1cef450347
42 changed files with 213 additions and 21221 deletions
@ -1,15 +0,0 @@ |
||||
syntax = "proto3"; |
||||
package auth; |
||||
option go_package = "git.diulo.com/mogfee/protoc-gen-kit/proto/v1/auth;auth"; |
||||
|
||||
import "google/protobuf/descriptor.proto"; |
||||
|
||||
extend google.protobuf.MethodOptions{ |
||||
AuthInfo auth = 1111; |
||||
} |
||||
|
||||
message AuthInfo { |
||||
bool auto_auth = 1; |
||||
bool must_auth = 2; |
||||
string auth_key = 3; |
||||
} |
@ -1,31 +0,0 @@ |
||||
// Copyright (c) 2015, Google Inc. |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.api; |
||||
|
||||
import "google/api/http.proto"; |
||||
import "google/protobuf/descriptor.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AnnotationsProto"; |
||||
option java_package = "com.google.api"; |
||||
option objc_class_prefix = "GAPI"; |
||||
|
||||
extend google.protobuf.MethodOptions { |
||||
// See `HttpRule`. |
||||
HttpRule http = 72295728; |
||||
} |
@ -1,101 +0,0 @@ |
||||
// Copyright 2019 Google LLC. |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// https://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.api; |
||||
|
||||
import "google/protobuf/descriptor.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ClientProto"; |
||||
option java_package = "com.google.api"; |
||||
option objc_class_prefix = "GAPI"; |
||||
|
||||
|
||||
extend google.protobuf.ServiceOptions { |
||||
// The hostname for this service. |
||||
// This should be specified with no prefix or protocol. |
||||
// |
||||
// Example: |
||||
// |
||||
// service Foo { |
||||
// option (google.api.default_host) = "foo.googleapi.com"; |
||||
// ... |
||||
// } |
||||
string default_host = 1049; |
||||
|
||||
// OAuth scopes needed for the client. |
||||
// |
||||
// Example: |
||||
// |
||||
// service Foo { |
||||
// option (google.api.oauth_scopes) = \ |
||||
// "https://www.googleapis.com/auth/cloud-platform"; |
||||
// ... |
||||
// } |
||||
// |
||||
// If there is more than one scope, use a comma-separated string: |
||||
// |
||||
// Example: |
||||
// |
||||
// service Foo { |
||||
// option (google.api.oauth_scopes) = \ |
||||
// "https://www.googleapis.com/auth/cloud-platform," |
||||
// "https://www.googleapis.com/auth/monitoring"; |
||||
// ... |
||||
// } |
||||
string oauth_scopes = 1050; |
||||
} |
||||
|
||||
|
||||
extend google.protobuf.MethodOptions { |
||||
// A definition of a client library method signature. |
||||
// |
||||
// In client libraries, each proto RPC corresponds to one or more methods |
||||
// which the end user is able to call, and calls the underlying RPC. |
||||
// Normally, this method receives a single argument (a struct or instance |
||||
// corresponding to the RPC request object). Defining this field will |
||||
// add one or more overloads providing flattened or simpler method signatures |
||||
// in some languages. |
||||
// |
||||
// The fields on the method signature are provided as a comma-separated |
||||
// string. |
||||
// |
||||
// For example, the proto RPC and annotation: |
||||
// |
||||
// rpc CreateSubscription(CreateSubscriptionRequest) |
||||
// returns (Subscription) { |
||||
// option (google.api.method_signature) = "name,topic"; |
||||
// } |
||||
// |
||||
// Would add the following Java overload (in addition to the method accepting |
||||
// the request object): |
||||
// |
||||
// public final Subscription createSubscription(String name, String topic) |
||||
// |
||||
// The following backwards-compatibility guidelines apply: |
||||
// |
||||
// * Adding this annotation to an unannotated method is backwards |
||||
// compatible. |
||||
// * Adding this annotation to a method which already has existing |
||||
// method signature annotations is backwards compatible if and only if |
||||
// the new method signature annotation is last in the sequence. |
||||
// * Modifying or removing an existing method signature annotation is |
||||
// a breaking change. |
||||
// * Re-ordering existing method signature annotations is a breaking |
||||
// change. |
||||
repeated string method_signature = 1051; |
||||
} |
@ -1,80 +0,0 @@ |
||||
// Copyright 2019 Google LLC. |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// https://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.api; |
||||
|
||||
import "google/protobuf/descriptor.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FieldBehaviorProto"; |
||||
option java_package = "com.google.api"; |
||||
option objc_class_prefix = "GAPI"; |
||||
|
||||
|
||||
// An indicator of the behavior of a given field (for example, that a field |
||||
// is required in requests, or given as output but ignored as input). |
||||
// This **does not** change the behavior in protocol buffers itself; it only |
||||
// denotes the behavior and may affect how API tooling handles the field. |
||||
// |
||||
// Note: This enum **may** receive new values in the future. |
||||
enum FieldBehavior { |
||||
// Conventional default for enums. Do not use this. |
||||
FIELD_BEHAVIOR_UNSPECIFIED = 0; |
||||
|
||||
// Specifically denotes a field as optional. |
||||
// While all fields in protocol buffers are optional, this may be specified |
||||
// for emphasis if appropriate. |
||||
OPTIONAL = 1; |
||||
|
||||
// Denotes a field as required. |
||||
// This indicates that the field **must** be provided as part of the request, |
||||
// and failure to do so will cause an error (usually `INVALID_ARGUMENT`). |
||||
REQUIRED = 2; |
||||
|
||||
// Denotes a field as output only. |
||||
// This indicates that the field is provided in responses, but including the |
||||
// field in a request does nothing (the server *must* ignore it and |
||||
// *must not* throw an error as a result of the field's presence). |
||||
OUTPUT_ONLY = 3; |
||||
|
||||
// Denotes a field as input only. |
||||
// This indicates that the field is provided in requests, and the |
||||
// corresponding field is not included in output. |
||||
INPUT_ONLY = 4; |
||||
|
||||
// Denotes a field as immutable. |
||||
// This indicates that the field may be set once in a request to create a |
||||
// resource, but may not be changed thereafter. |
||||
IMMUTABLE = 5; |
||||
} |
||||
|
||||
|
||||
extend google.protobuf.FieldOptions { |
||||
// A designation of a specific field behavior (required, output only, etc.) |
||||
// in protobuf messages. |
||||
// |
||||
// Examples: |
||||
// |
||||
// string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
// State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
// google.protobuf.Duration ttl = 1 |
||||
// [(google.api.field_behavior) = INPUT_ONLY]; |
||||
// google.protobuf.Timestamp expire_time = 1 |
||||
// [(google.api.field_behavior) = OUTPUT_ONLY, |
||||
// (google.api.field_behavior) = IMMUTABLE]; |
||||
repeated FieldBehavior field_behavior = 1052; |
||||
} |
@ -1,375 +0,0 @@ |
||||
// Copyright 2020 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.api; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "HttpProto"; |
||||
option java_package = "com.google.api"; |
||||
option objc_class_prefix = "GAPI"; |
||||
|
||||
// Defines the HTTP configuration for an API service. It contains a list of |
||||
// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method |
||||
// to one or more HTTP REST API methods. |
||||
message Http { |
||||
// A list of HTTP configuration rules that apply to individual API methods. |
||||
// |
||||
// **NOTE:** All service configuration rules follow "last one wins" order. |
||||
repeated HttpRule rules = 1; |
||||
|
||||
// When set to true, URL path parameters will be fully URI-decoded except in |
||||
// cases of single segment matches in reserved expansion, where "%2F" will be |
||||
// left encoded. |
||||
// |
||||
// The default behavior is to not decode RFC 6570 reserved characters in multi |
||||
// segment matches. |
||||
bool fully_decode_reserved_expansion = 2; |
||||
} |
||||
|
||||
// # gRPC Transcoding |
||||
// |
||||
// gRPC Transcoding is a feature for mapping between a gRPC method and one or |
||||
// more HTTP REST endpoints. It allows developers to build a single API service |
||||
// that supports both gRPC APIs and REST APIs. Many systems, including [Google |
||||
// APIs](https://github.com/googleapis/googleapis), |
||||
// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC |
||||
// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), |
||||
// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature |
||||
// and use it for large scale production services. |
||||
// |
||||
// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies |
||||
// how different portions of the gRPC request message are mapped to the URL |
||||
// path, URL query parameters, and HTTP request body. It also controls how the |
||||
// gRPC response message is mapped to the HTTP response body. `HttpRule` is |
||||
// typically specified as an `google.api.http` annotation on the gRPC method. |
||||
// |
||||
// Each mapping specifies a URL path template and an HTTP method. The path |
||||
// template may refer to one or more fields in the gRPC request message, as long |
||||
// as each field is a non-repeated field with a primitive (non-message) type. |
||||
// The path template controls how fields of the request message are mapped to |
||||
// the URL path. |
||||
// |
||||
// Example: |
||||
// |
||||
// service Messaging { |
||||
// rpc GetMessage(GetMessageRequest) returns (Message) { |
||||
// option (google.api.http) = { |
||||
// get: "/v1/{name=messages/*}" |
||||
// }; |
||||
// } |
||||
// } |
||||
// message GetMessageRequest { |
||||
// string name = 1; // Mapped to URL path. |
||||
// } |
||||
// message Message { |
||||
// string text = 1; // The resource content. |
||||
// } |
||||
// |
||||
// This enables an HTTP REST to gRPC mapping as below: |
||||
// |
||||
// HTTP | gRPC |
||||
// -----|----- |
||||
// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")` |
||||
// |
||||
// Any fields in the request message which are not bound by the path template |
||||
// automatically become HTTP query parameters if there is no HTTP request body. |
||||
// For example: |
||||
// |
||||
// service Messaging { |
||||
// rpc GetMessage(GetMessageRequest) returns (Message) { |
||||
// option (google.api.http) = { |
||||
// get:"/v1/messages/{message_id}" |
||||
// }; |
||||
// } |
||||
// } |
||||
// message GetMessageRequest { |
||||
// message SubMessage { |
||||
// string subfield = 1; |
||||
// } |
||||
// string message_id = 1; // Mapped to URL path. |
||||
// int64 revision = 2; // Mapped to URL query parameter `revision`. |
||||
// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. |
||||
// } |
||||
// |
||||
// This enables a HTTP JSON to RPC mapping as below: |
||||
// |
||||
// HTTP | gRPC |
||||
// -----|----- |
||||
// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | |
||||
// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: |
||||
// "foo"))` |
||||
// |
||||
// Note that fields which are mapped to URL query parameters must have a |
||||
// primitive type or a repeated primitive type or a non-repeated message type. |
||||
// In the case of a repeated type, the parameter can be repeated in the URL |
||||
// as `...?param=A¶m=B`. In the case of a message type, each field of the |
||||
// message is mapped to a separate parameter, such as |
||||
// `...?foo.a=A&foo.b=B&foo.c=C`. |
||||
// |
||||
// For HTTP methods that allow a request body, the `body` field |
||||
// specifies the mapping. Consider a REST update method on the |
||||
// message resource collection: |
||||
// |
||||
// service Messaging { |
||||
// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { |
||||
// option (google.api.http) = { |
||||
// patch: "/v1/messages/{message_id}" |
||||
// body: "message" |
||||
// }; |
||||
// } |
||||
// } |
||||
// message UpdateMessageRequest { |
||||
// string message_id = 1; // mapped to the URL |
||||
// Message message = 2; // mapped to the body |
||||
// } |
||||
// |
||||
// The following HTTP JSON to RPC mapping is enabled, where the |
||||
// representation of the JSON in the request body is determined by |
||||
// protos JSON encoding: |
||||
// |
||||
// HTTP | gRPC |
||||
// -----|----- |
||||
// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: |
||||
// "123456" message { text: "Hi!" })` |
||||
// |
||||
// The special name `*` can be used in the body mapping to define that |
||||
// every field not bound by the path template should be mapped to the |
||||
// request body. This enables the following alternative definition of |
||||
// the update method: |
||||
// |
||||
// service Messaging { |
||||
// rpc UpdateMessage(Message) returns (Message) { |
||||
// option (google.api.http) = { |
||||
// patch: "/v1/messages/{message_id}" |
||||
// body: "*" |
||||
// }; |
||||
// } |
||||
// } |
||||
// message Message { |
||||
// string message_id = 1; |
||||
// string text = 2; |
||||
// } |
||||
// |
||||
// |
||||
// The following HTTP JSON to RPC mapping is enabled: |
||||
// |
||||
// HTTP | gRPC |
||||
// -----|----- |
||||
// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: |
||||
// "123456" text: "Hi!")` |
||||
// |
||||
// Note that when using `*` in the body mapping, it is not possible to |
||||
// have HTTP parameters, as all fields not bound by the path end in |
||||
// the body. This makes this option more rarely used in practice when |
||||
// defining REST APIs. The common usage of `*` is in custom methods |
||||
// which don't use the URL at all for transferring data. |
||||
// |
||||
// It is possible to define multiple HTTP methods for one RPC by using |
||||
// the `additional_bindings` option. Example: |
||||
// |
||||
// service Messaging { |
||||
// rpc GetMessage(GetMessageRequest) returns (Message) { |
||||
// option (google.api.http) = { |
||||
// get: "/v1/messages/{message_id}" |
||||
// additional_bindings { |
||||
// get: "/v1/users/{user_id}/messages/{message_id}" |
||||
// } |
||||
// }; |
||||
// } |
||||
// } |
||||
// message GetMessageRequest { |
||||
// string message_id = 1; |
||||
// string user_id = 2; |
||||
// } |
||||
// |
||||
// This enables the following two alternative HTTP JSON to RPC mappings: |
||||
// |
||||
// HTTP | gRPC |
||||
// -----|----- |
||||
// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` |
||||
// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: |
||||
// "123456")` |
||||
// |
||||
// ## Rules for HTTP mapping |
||||
// |
||||
// 1. Leaf request fields (recursive expansion nested messages in the request |
||||
// message) are classified into three categories: |
||||
// - Fields referred by the path template. They are passed via the URL path. |
||||
// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP |
||||
// request body. |
||||
// - All other fields are passed via the URL query parameters, and the |
||||
// parameter name is the field path in the request message. A repeated |
||||
// field can be represented as multiple query parameters under the same |
||||
// name. |
||||
// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields |
||||
// are passed via URL path and HTTP request body. |
||||
// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all |
||||
// fields are passed via URL path and URL query parameters. |
||||
// |
||||
// ### Path template syntax |
||||
// |
||||
// Template = "/" Segments [ Verb ] ; |
||||
// Segments = Segment { "/" Segment } ; |
||||
// Segment = "*" | "**" | LITERAL | Variable ; |
||||
// Variable = "{" FieldPath [ "=" Segments ] "}" ; |
||||
// FieldPath = IDENT { "." IDENT } ; |
||||
// Verb = ":" LITERAL ; |
||||
// |
||||
// The syntax `*` matches a single URL path segment. The syntax `**` matches |
||||
// zero or more URL path segments, which must be the last part of the URL path |
||||
// except the `Verb`. |
||||
// |
||||
// The syntax `Variable` matches part of the URL path as specified by its |
||||
// template. A variable template must not contain other variables. If a variable |
||||
// matches a single path segment, its template may be omitted, e.g. `{var}` |
||||
// is equivalent to `{var=*}`. |
||||
// |
||||
// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` |
||||
// contains any reserved character, such characters should be percent-encoded |
||||
// before the matching. |
||||
// |
||||
// If a variable contains exactly one path segment, such as `"{var}"` or |
||||
// `"{var=*}"`, when such a variable is expanded into a URL path on the client |
||||
// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The |
||||
// server side does the reverse decoding. Such variables show up in the |
||||
// [Discovery |
||||
// Document](https://developers.google.com/discovery/v1/reference/apis) as |
||||
// `{var}`. |
||||
// |
||||
// If a variable contains multiple path segments, such as `"{var=foo/*}"` |
||||
// or `"{var=**}"`, when such a variable is expanded into a URL path on the |
||||
// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. |
||||
// The server side does the reverse decoding, except "%2F" and "%2f" are left |
||||
// unchanged. Such variables show up in the |
||||
// [Discovery |
||||
// Document](https://developers.google.com/discovery/v1/reference/apis) as |
||||
// `{+var}`. |
||||
// |
||||
// ## Using gRPC API Service Configuration |
||||
// |
||||
// gRPC API Service Configuration (service config) is a configuration language |
||||
// for configuring a gRPC service to become a user-facing product. The |
||||
// service config is simply the YAML representation of the `google.api.Service` |
||||
// proto message. |
||||
// |
||||
// As an alternative to annotating your proto file, you can configure gRPC |
||||
// transcoding in your service config YAML files. You do this by specifying a |
||||
// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same |
||||
// effect as the proto annotation. This can be particularly useful if you |
||||
// have a proto that is reused in multiple services. Note that any transcoding |
||||
// specified in the service config will override any matching transcoding |
||||
// configuration in the proto. |
||||
// |
||||
// Example: |
||||
// |
||||
// http: |
||||
// rules: |
||||
// # Selects a gRPC method and applies HttpRule to it. |
||||
// - selector: example.v1.Messaging.GetMessage |
||||
// get: /v1/messages/{message_id}/{sub.subfield} |
||||
// |
||||
// ## Special notes |
||||
// |
||||
// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the |
||||
// proto to JSON conversion must follow the [proto3 |
||||
// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). |
||||
// |
||||
// While the single segment variable follows the semantics of |
||||
// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String |
||||
// Expansion, the multi segment variable **does not** follow RFC 6570 Section |
||||
// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion |
||||
// does not expand special characters like `?` and `#`, which would lead |
||||
// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding |
||||
// for multi segment variables. |
||||
// |
||||
// The path variables **must not** refer to any repeated or mapped field, |
||||
// because client libraries are not capable of handling such variable expansion. |
||||
// |
||||
// The path variables **must not** capture the leading "/" character. The reason |
||||
// is that the most common use case "{var}" does not capture the leading "/" |
||||
// character. For consistency, all path variables must share the same behavior. |
||||
// |
||||
// Repeated message fields must not be mapped to URL query parameters, because |
||||
// no client library can support such complicated mapping. |
||||
// |
||||
// If an API needs to use a JSON array for request or response body, it can map |
||||
// the request or response body to a repeated field. However, some gRPC |
||||
// Transcoding implementations may not support this feature. |
||||
message HttpRule { |
||||
// Selects a method to which this rule applies. |
||||
// |
||||
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. |
||||
string selector = 1; |
||||
|
||||
// Determines the URL pattern is matched by this rules. This pattern can be |
||||
// used with any of the {get|put|post|delete|patch} methods. A custom method |
||||
// can be defined using the 'custom' field. |
||||
oneof pattern { |
||||
// Maps to HTTP GET. Used for listing and getting information about |
||||
// resources. |
||||
string get = 2; |
||||
|
||||
// Maps to HTTP PUT. Used for replacing a resource. |
||||
string put = 3; |
||||
|
||||
// Maps to HTTP POST. Used for creating a resource or performing an action. |
||||
string post = 4; |
||||
|
||||
// Maps to HTTP DELETE. Used for deleting a resource. |
||||
string delete = 5; |
||||
|
||||
// Maps to HTTP PATCH. Used for updating a resource. |
||||
string patch = 6; |
||||
|
||||
// The custom pattern is used for specifying an HTTP method that is not |
||||
// included in the `pattern` field, such as HEAD, or "*" to leave the |
||||
// HTTP method unspecified for this rule. The wild-card rule is useful |
||||
// for services that provide content to Web (HTML) clients. |
||||
CustomHttpPattern custom = 8; |
||||
} |
||||
|
||||
// The name of the request field whose value is mapped to the HTTP request |
||||
// body, or `*` for mapping all request fields not captured by the path |
||||
// pattern to the HTTP body, or omitted for not having any HTTP request body. |
||||
// |
||||
// NOTE: the referred field must be present at the top-level of the request |
||||
// message type. |
||||
string body = 7; |
||||
|
||||
// Optional. The name of the response field whose value is mapped to the HTTP |
||||
// response body. When omitted, the entire response message will be used |
||||
// as the HTTP response body. |
||||
// |
||||
// NOTE: The referred field must be present at the top-level of the response |
||||
// message type. |
||||
string response_body = 12; |
||||
|
||||
// Additional HTTP bindings for the selector. Nested bindings must |
||||
// not contain an `additional_bindings` field themselves (that is, |
||||
// the nesting may only be one level deep). |
||||
repeated HttpRule additional_bindings = 11; |
||||
} |
||||
|
||||
// A custom pattern is used for defining custom HTTP verb. |
||||
message CustomHttpPattern { |
||||
// The name of this custom HTTP verb. |
||||
string kind = 1; |
||||
|
||||
// The path matched by this custom verb. |
||||
string path = 2; |
||||
} |
@ -1,77 +0,0 @@ |
||||
// Copyright 2020 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.api; |
||||
|
||||
import "google/protobuf/any.proto"; |
||||
|
||||
option cc_enable_arenas = true; |
||||
option go_package = "google.golang.org/genproto/googleapis/api/httpbody;httpbody"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "HttpBodyProto"; |
||||
option java_package = "com.google.api"; |
||||
option objc_class_prefix = "GAPI"; |
||||
|
||||
// Message that represents an arbitrary HTTP body. It should only be used for |
||||
// payload formats that can't be represented as JSON, such as raw binary or |
||||
// an HTML page. |
||||
// |
||||
// |
||||
// This message can be used both in streaming and non-streaming API methods in |
||||
// the request as well as the response. |
||||
// |
||||
// It can be used as a top-level request field, which is convenient if one |
||||
// wants to extract parameters from either the URL or HTTP template into the |
||||
// request fields and also want access to the raw HTTP body. |
||||
// |
||||
// Example: |
||||
// |
||||
// message GetResourceRequest { |
||||
// // A unique request id. |
||||
// string request_id = 1; |
||||
// |
||||
// // The raw HTTP body is bound to this field. |
||||
// google.api.HttpBody http_body = 2; |
||||
// } |
||||
// |
||||
// service ResourceService { |
||||
// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); |
||||
// rpc UpdateResource(google.api.HttpBody) returns |
||||
// (google.protobuf.Empty); |
||||
// } |
||||
// |
||||
// Example with streaming methods: |
||||
// |
||||
// service CaldavService { |
||||
// rpc GetCalendar(stream google.api.HttpBody) |
||||
// returns (stream google.api.HttpBody); |
||||
// rpc UpdateCalendar(stream google.api.HttpBody) |
||||
// returns (stream google.api.HttpBody); |
||||
// } |
||||
// |
||||
// Use of this type only changes how the request and response bodies are |
||||
// handled, all other features will continue to work unchanged. |
||||
message HttpBody { |
||||
// The HTTP Content-Type header value specifying the content type of the body. |
||||
string content_type = 1; |
||||
|
||||
// The HTTP request/response body as raw binary. |
||||
bytes data = 2; |
||||
|
||||
// Application specific response metadata. Must be set in the first response |
||||
// for streaming APIs. |
||||
repeated google.protobuf.Any extensions = 3; |
||||
} |
@ -1,911 +0,0 @@ |
||||
// Protocol Buffers - Google's data interchange format |
||||
// Copyright 2008 Google Inc. All rights reserved. |
||||
// https://developers.google.com/protocol-buffers/ |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
// Author: kenton@google.com (Kenton Varda) |
||||
// Based on original Protocol Buffers design by |
||||
// Sanjay Ghemawat, Jeff Dean, and others. |
||||
// |
||||
// The messages in this file describe the definitions found in .proto files. |
||||
// A valid .proto file can be translated directly to a FileDescriptorProto |
||||
// without any other information (e.g. without reading its imports). |
||||
|
||||
|
||||
syntax = "proto2"; |
||||
|
||||
package google.protobuf; |
||||
|
||||
option go_package = "google.golang.org/protobuf/types/descriptorpb"; |
||||
option java_package = "com.google.protobuf"; |
||||
option java_outer_classname = "DescriptorProtos"; |
||||
option csharp_namespace = "Google.Protobuf.Reflection"; |
||||
option objc_class_prefix = "GPB"; |
||||
option cc_enable_arenas = true; |
||||
|
||||
// descriptor.proto must be optimized for speed because reflection-based |
||||
// algorithms don't work during bootstrapping. |
||||
option optimize_for = SPEED; |
||||
|
||||
// The protocol compiler can output a FileDescriptorSet containing the .proto |
||||
// files it parses. |
||||
message FileDescriptorSet { |
||||
repeated FileDescriptorProto file = 1; |
||||
} |
||||
|
||||
// Describes a complete .proto file. |
||||
message FileDescriptorProto { |
||||
optional string name = 1; // file name, relative to root of source tree |
||||
optional string package = 2; // e.g. "foo", "foo.bar", etc. |
||||
|
||||
// Names of files imported by this file. |
||||
repeated string dependency = 3; |
||||
// Indexes of the public imported files in the dependency list above. |
||||
repeated int32 public_dependency = 10; |
||||
// Indexes of the weak imported files in the dependency list. |
||||
// For Google-internal migration only. Do not use. |
||||
repeated int32 weak_dependency = 11; |
||||
|
||||
// All top-level definitions in this file. |
||||
repeated DescriptorProto message_type = 4; |
||||
repeated EnumDescriptorProto enum_type = 5; |
||||
repeated ServiceDescriptorProto service = 6; |
||||
repeated FieldDescriptorProto extension = 7; |
||||
|
||||
optional FileOptions options = 8; |
||||
|
||||
// This field contains optional information about the original source code. |
||||
// You may safely remove this entire field without harming runtime |
||||
// functionality of the descriptors -- the information is needed only by |
||||
// development tools. |
||||
optional SourceCodeInfo source_code_info = 9; |
||||
|
||||
// The syntax of the proto file. |
||||
// The supported values are "proto2" and "proto3". |
||||
optional string syntax = 12; |
||||
} |
||||
|
||||
// Describes a message type. |
||||
message DescriptorProto { |
||||
optional string name = 1; |
||||
|
||||
repeated FieldDescriptorProto field = 2; |
||||
repeated FieldDescriptorProto extension = 6; |
||||
|
||||
repeated DescriptorProto nested_type = 3; |
||||
repeated EnumDescriptorProto enum_type = 4; |
||||
|
||||
message ExtensionRange { |
||||
optional int32 start = 1; // Inclusive. |
||||
optional int32 end = 2; // Exclusive. |
||||
|
||||
optional ExtensionRangeOptions options = 3; |
||||
} |
||||
repeated ExtensionRange extension_range = 5; |
||||
|
||||
repeated OneofDescriptorProto oneof_decl = 8; |
||||
|
||||
optional MessageOptions options = 7; |
||||
|
||||
// Range of reserved tag numbers. Reserved tag numbers may not be used by |
||||
// fields or extension ranges in the same message. Reserved ranges may |
||||
// not overlap. |
||||
message ReservedRange { |
||||
optional int32 start = 1; // Inclusive. |
||||
optional int32 end = 2; // Exclusive. |
||||
} |
||||
repeated ReservedRange reserved_range = 9; |
||||
// Reserved field names, which may not be used by fields in the same message. |
||||
// A given name may only be reserved once. |
||||
repeated string reserved_name = 10; |
||||
} |
||||
|
||||
message ExtensionRangeOptions { |
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
// Describes a field within a message. |
||||
message FieldDescriptorProto { |
||||
enum Type { |
||||
// 0 is reserved for errors. |
||||
// Order is weird for historical reasons. |
||||
TYPE_DOUBLE = 1; |
||||
TYPE_FLOAT = 2; |
||||
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if |
||||
// negative values are likely. |
||||
TYPE_INT64 = 3; |
||||
TYPE_UINT64 = 4; |
||||
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if |
||||
// negative values are likely. |
||||
TYPE_INT32 = 5; |
||||
TYPE_FIXED64 = 6; |
||||
TYPE_FIXED32 = 7; |
||||
TYPE_BOOL = 8; |
||||
TYPE_STRING = 9; |
||||
// Tag-delimited aggregate. |
||||
// Group type is deprecated and not supported in proto3. However, Proto3 |
||||
// implementations should still be able to parse the group wire format and |
||||
// treat group fields as unknown fields. |
||||
TYPE_GROUP = 10; |
||||
TYPE_MESSAGE = 11; // Length-delimited aggregate. |
||||
|
||||
// New in version 2. |
||||
TYPE_BYTES = 12; |
||||
TYPE_UINT32 = 13; |
||||
TYPE_ENUM = 14; |
||||
TYPE_SFIXED32 = 15; |
||||
TYPE_SFIXED64 = 16; |
||||
TYPE_SINT32 = 17; // Uses ZigZag encoding. |
||||
TYPE_SINT64 = 18; // Uses ZigZag encoding. |
||||
} |
||||
|
||||
enum Label { |
||||
// 0 is reserved for errors |
||||
LABEL_OPTIONAL = 1; |
||||
LABEL_REQUIRED = 2; |
||||
LABEL_REPEATED = 3; |
||||
} |
||||
|
||||
optional string name = 1; |
||||
optional int32 number = 3; |
||||
optional Label label = 4; |
||||
|
||||
// If type_name is set, this need not be set. If both this and type_name |
||||
// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. |
||||
optional Type type = 5; |
||||
|
||||
// For message and enum types, this is the name of the type. If the name |
||||
// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping |
||||
// rules are used to find the type (i.e. first the nested types within this |
||||
// message are searched, then within the parent, on up to the root |
||||
// namespace). |
||||
optional string type_name = 6; |
||||
|
||||
// For extensions, this is the name of the type being extended. It is |
||||
// resolved in the same manner as type_name. |
||||
optional string extendee = 2; |
||||
|
||||
// For numeric types, contains the original text representation of the value. |
||||
// For booleans, "true" or "false". |
||||
// For strings, contains the default text contents (not escaped in any way). |
||||
// For bytes, contains the C escaped value. All bytes >= 128 are escaped. |
||||
// TODO(kenton): Base-64 encode? |
||||
optional string default_value = 7; |
||||
|
||||
// If set, gives the index of a oneof in the containing type's oneof_decl |
||||
// list. This field is a member of that oneof. |
||||
optional int32 oneof_index = 9; |
||||
|
||||
// JSON name of this field. The value is set by protocol compiler. If the |
||||
// user has set a "json_name" option on this field, that option's value |
||||
// will be used. Otherwise, it's deduced from the field's name by converting |
||||
// it to camelCase. |
||||
optional string json_name = 10; |
||||
|
||||
optional FieldOptions options = 8; |
||||
|
||||
// If true, this is a proto3 "optional". When a proto3 field is optional, it |
||||
// tracks presence regardless of field type. |
||||
// |
||||
// When proto3_optional is true, this field must be belong to a oneof to |
||||
// signal to old proto3 clients that presence is tracked for this field. This |
||||
// oneof is known as a "synthetic" oneof, and this field must be its sole |
||||
// member (each proto3 optional field gets its own synthetic oneof). Synthetic |
||||
// oneofs exist in the descriptor only, and do not generate any API. Synthetic |
||||
// oneofs must be ordered after all "real" oneofs. |
||||
// |
||||
// For message fields, proto3_optional doesn't create any semantic change, |
||||
// since non-repeated message fields always track presence. However it still |
||||
// indicates the semantic detail of whether the user wrote "optional" or not. |
||||
// This can be useful for round-tripping the .proto file. For consistency we |
||||
// give message fields a synthetic oneof also, even though it is not required |
||||
// to track presence. This is especially important because the parser can't |
||||
// tell if a field is a message or an enum, so it must always create a |
||||
// synthetic oneof. |
||||
// |
||||
// Proto2 optional fields do not set this flag, because they already indicate |
||||
// optional with `LABEL_OPTIONAL`. |
||||
optional bool proto3_optional = 17; |
||||
} |
||||
|
||||
// Describes a oneof. |
||||
message OneofDescriptorProto { |
||||
optional string name = 1; |
||||
optional OneofOptions options = 2; |
||||
} |
||||
|
||||
// Describes an enum type. |
||||
message EnumDescriptorProto { |
||||
optional string name = 1; |
||||
|
||||
repeated EnumValueDescriptorProto value = 2; |
||||
|
||||
optional EnumOptions options = 3; |
||||
|
||||
// Range of reserved numeric values. Reserved values may not be used by |
||||
// entries in the same enum. Reserved ranges may not overlap. |
||||
// |
||||
// Note that this is distinct from DescriptorProto.ReservedRange in that it |
||||
// is inclusive such that it can appropriately represent the entire int32 |
||||
// domain. |
||||
message EnumReservedRange { |
||||
optional int32 start = 1; // Inclusive. |
||||
optional int32 end = 2; // Inclusive. |
||||
} |
||||
|
||||
// Range of reserved numeric values. Reserved numeric values may not be used |
||||
// by enum values in the same enum declaration. Reserved ranges may not |
||||
// overlap. |
||||
repeated EnumReservedRange reserved_range = 4; |
||||
|
||||
// Reserved enum value names, which may not be reused. A given name may only |
||||
// be reserved once. |
||||
repeated string reserved_name = 5; |
||||
} |
||||
|
||||
// Describes a value within an enum. |
||||
message EnumValueDescriptorProto { |
||||
optional string name = 1; |
||||
optional int32 number = 2; |
||||
|
||||
optional EnumValueOptions options = 3; |
||||
} |
||||
|
||||
// Describes a service. |
||||
message ServiceDescriptorProto { |
||||
optional string name = 1; |
||||
repeated MethodDescriptorProto method = 2; |
||||
|
||||
optional ServiceOptions options = 3; |
||||
} |
||||
|
||||
// Describes a method of a service. |
||||
message MethodDescriptorProto { |
||||
optional string name = 1; |
||||
|
||||
// Input and output type names. These are resolved in the same way as |
||||
// FieldDescriptorProto.type_name, but must refer to a message type. |
||||
optional string input_type = 2; |
||||
optional string output_type = 3; |
||||
|
||||
optional MethodOptions options = 4; |
||||
|
||||
// Identifies if client streams multiple client messages |
||||
optional bool client_streaming = 5 [default = false]; |
||||
// Identifies if server streams multiple server messages |
||||
optional bool server_streaming = 6 [default = false]; |
||||
} |
||||
|
||||
|
||||
// =================================================================== |
||||
// Options |
||||
|
||||
// Each of the definitions above may have "options" attached. These are |
||||
// just annotations which may cause code to be generated slightly differently |
||||
// or may contain hints for code that manipulates protocol messages. |
||||
// |
||||
// Clients may define custom options as extensions of the *Options messages. |
||||
// These extensions may not yet be known at parsing time, so the parser cannot |
||||
// store the values in them. Instead it stores them in a field in the *Options |
||||
// message called uninterpreted_option. This field must have the same name |
||||
// across all *Options messages. We then use this field to populate the |
||||
// extensions when we build a descriptor, at which point all protos have been |
||||
// parsed and so all extensions are known. |
||||
// |
||||
// Extension numbers for custom options may be chosen as follows: |
||||
// * For options which will only be used within a single application or |
||||
// organization, or for experimental options, use field numbers 50000 |
||||
// through 99999. It is up to you to ensure that you do not use the |
||||
// same number for multiple options. |
||||
// * For options which will be published and used publicly by multiple |
||||
// independent entities, e-mail protobuf-global-extension-registry@google.com |
||||
// to reserve extension numbers. Simply provide your project name (e.g. |
||||
// Objective-C plugin) and your project website (if available) -- there's no |
||||
// need to explain how you intend to use them. Usually you only need one |
||||
// extension number. You can declare multiple options with only one extension |
||||
// number by putting them in a sub-message. See the Custom Options section of |
||||
// the docs for examples: |
||||
// https://developers.google.com/protocol-buffers/docs/proto#options |
||||
// If this turns out to be popular, a web service will be set up |
||||
// to automatically assign option numbers. |
||||
|
||||
message FileOptions { |
||||
|
||||
// Sets the Java package where classes generated from this .proto will be |
||||
// placed. By default, the proto package is used, but this is often |
||||
// inappropriate because proto packages do not normally start with backwards |
||||
// domain names. |
||||
optional string java_package = 1; |
||||
|
||||
|
||||
// Controls the name of the wrapper Java class generated for the .proto file. |
||||
// That class will always contain the .proto file's getDescriptor() method as |
||||
// well as any top-level extensions defined in the .proto file. |
||||
// If java_multiple_files is disabled, then all the other classes from the |
||||
// .proto file will be nested inside the single wrapper outer class. |
||||
optional string java_outer_classname = 8; |
||||
|
||||
// If enabled, then the Java code generator will generate a separate .java |
||||
// file for each top-level message, enum, and service defined in the .proto |
||||
// file. Thus, these types will *not* be nested inside the wrapper class |
||||
// named by java_outer_classname. However, the wrapper class will still be |
||||
// generated to contain the file's getDescriptor() method as well as any |
||||
// top-level extensions defined in the file. |
||||
optional bool java_multiple_files = 10 [default = false]; |
||||
|
||||
// This option does nothing. |
||||
optional bool java_generate_equals_and_hash = 20 [deprecated=true]; |
||||
|
||||
// If set true, then the Java2 code generator will generate code that |
||||
// throws an exception whenever an attempt is made to assign a non-UTF-8 |
||||
// byte sequence to a string field. |
||||
// Message reflection will do the same. |
||||
// However, an extension field still accepts non-UTF-8 byte sequences. |
||||
// This option has no effect on when used with the lite runtime. |
||||
optional bool java_string_check_utf8 = 27 [default = false]; |
||||
|
||||
|
||||
// Generated classes can be optimized for speed or code size. |
||||
enum OptimizeMode { |
||||
SPEED = 1; // Generate complete code for parsing, serialization, |
||||
// etc. |
||||
CODE_SIZE = 2; // Use ReflectionOps to implement these methods. |
||||
LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. |
||||
} |
||||
optional OptimizeMode optimize_for = 9 [default = SPEED]; |
||||
|
||||
// Sets the Go package where structs generated from this .proto will be |
||||
// placed. If omitted, the Go package will be derived from the following: |
||||
// - The basename of the package import path, if provided. |
||||
// - Otherwise, the package statement in the .proto file, if present. |
||||
// - Otherwise, the basename of the .proto file, without extension. |
||||
optional string go_package = 11; |
||||
|
||||
|
||||
|
||||
|
||||
// Should generic services be generated in each language? "Generic" services |
||||
// are not specific to any particular RPC system. They are generated by the |
||||
// main code generators in each language (without additional plugins). |
||||
// Generic services were the only kind of service generation supported by |
||||
// early versions of google.protobuf. |
||||
// |
||||
// Generic services are now considered deprecated in favor of using plugins |
||||
// that generate code specific to your particular RPC system. Therefore, |
||||
// these default to false. Old code which depends on generic services should |
||||
// explicitly set them to true. |
||||
optional bool cc_generic_services = 16 [default = false]; |
||||
optional bool java_generic_services = 17 [default = false]; |
||||
optional bool py_generic_services = 18 [default = false]; |
||||
optional bool php_generic_services = 42 [default = false]; |
||||
|
||||
// Is this file deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for everything in the file, or it will be completely ignored; in the very |
||||
// least, this is a formalization for deprecating files. |
||||
optional bool deprecated = 23 [default = false]; |
||||
|
||||
// Enables the use of arenas for the proto messages in this file. This applies |
||||
// only to generated classes for C++. |
||||
optional bool cc_enable_arenas = 31 [default = true]; |
||||
|
||||
|
||||
// Sets the objective c class prefix which is prepended to all objective c |
||||
// generated classes from this .proto. There is no default. |
||||
optional string objc_class_prefix = 36; |
||||
|
||||
// Namespace for generated classes; defaults to the package. |
||||
optional string csharp_namespace = 37; |
||||
|
||||
// By default Swift generators will take the proto package and CamelCase it |
||||
// replacing '.' with underscore and use that to prefix the types/symbols |
||||
// defined. When this options is provided, they will use this value instead |
||||
// to prefix the types/symbols defined. |
||||
optional string swift_prefix = 39; |
||||
|
||||
// Sets the php class prefix which is prepended to all php generated classes |
||||
// from this .proto. Default is empty. |
||||
optional string php_class_prefix = 40; |
||||
|
||||
// Use this option to change the namespace of php generated classes. Default |
||||
// is empty. When this option is empty, the package name will be used for |
||||
// determining the namespace. |
||||
optional string php_namespace = 41; |
||||
|
||||
// Use this option to change the namespace of php generated metadata classes. |
||||
// Default is empty. When this option is empty, the proto file name will be |
||||
// used for determining the namespace. |
||||
optional string php_metadata_namespace = 44; |
||||
|
||||
// Use this option to change the package of ruby generated classes. Default |
||||
// is empty. When this option is not set, the package name will be used for |
||||
// determining the ruby package. |
||||
optional string ruby_package = 45; |
||||
|
||||
|
||||
// The parser stores options it doesn't recognize here. |
||||
// See the documentation for the "Options" section above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. |
||||
// See the documentation for the "Options" section above. |
||||
extensions 1000 to max; |
||||
|
||||
reserved 38; |
||||
} |
||||
|
||||
message MessageOptions { |
||||
// Set true to use the old proto1 MessageSet wire format for extensions. |
||||
// This is provided for backwards-compatibility with the MessageSet wire |
||||
// format. You should not use this for any other reason: It's less |
||||
// efficient, has fewer features, and is more complicated. |
||||
// |
||||
// The message must be defined exactly as follows: |
||||
// message Foo { |
||||
// option message_set_wire_format = true; |
||||
// extensions 4 to max; |
||||
// } |
||||
// Note that the message cannot have any defined fields; MessageSets only |
||||
// have extensions. |
||||
// |
||||
// All extensions of your type must be singular messages; e.g. they cannot |
||||
// be int32s, enums, or repeated messages. |
||||
// |
||||
// Because this is an option, the above two restrictions are not enforced by |
||||
// the protocol compiler. |
||||
optional bool message_set_wire_format = 1 [default = false]; |
||||
|
||||
// Disables the generation of the standard "descriptor()" accessor, which can |
||||
// conflict with a field of the same name. This is meant to make migration |
||||
// from proto1 easier; new code should avoid fields named "descriptor". |
||||
optional bool no_standard_descriptor_accessor = 2 [default = false]; |
||||
|
||||
// Is this message deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for the message, or it will be completely ignored; in the very least, |
||||
// this is a formalization for deprecating messages. |
||||
optional bool deprecated = 3 [default = false]; |
||||
|
||||
reserved 4, 5, 6; |
||||
|
||||
// Whether the message is an automatically generated map entry type for the |
||||
// maps field. |
||||
// |
||||
// For maps fields: |
||||
// map<KeyType, ValueType> map_field = 1; |
||||
// The parsed descriptor looks like: |
||||
// message MapFieldEntry { |
||||
// option map_entry = true; |
||||
// optional KeyType key = 1; |
||||
// optional ValueType value = 2; |
||||
// } |
||||
// repeated MapFieldEntry map_field = 1; |
||||
// |
||||
// Implementations may choose not to generate the map_entry=true message, but |
||||
// use a native map in the target language to hold the keys and values. |
||||
// The reflection APIs in such implementations still need to work as |
||||
// if the field is a repeated message field. |
||||
// |
||||
// NOTE: Do not set the option in .proto files. Always use the maps syntax |
||||
// instead. The option should only be implicitly set by the proto compiler |
||||
// parser. |
||||
optional bool map_entry = 7; |
||||
|
||||
reserved 8; // javalite_serializable |
||||
reserved 9; // javanano_as_lite |
||||
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
message FieldOptions { |
||||
// The ctype option instructs the C++ code generator to use a different |
||||
// representation of the field than it normally would. See the specific |
||||
// options below. This option is not yet implemented in the open source |
||||
// release -- sorry, we'll try to include it in a future version! |
||||
optional CType ctype = 1 [default = STRING]; |
||||
enum CType { |
||||
// Default mode. |
||||
STRING = 0; |
||||
|
||||
CORD = 1; |
||||
|
||||
STRING_PIECE = 2; |
||||
} |
||||
// The packed option can be enabled for repeated primitive fields to enable |
||||
// a more efficient representation on the wire. Rather than repeatedly |
||||
// writing the tag and type for each element, the entire array is encoded as |
||||
// a single length-delimited blob. In proto3, only explicit setting it to |
||||
// false will avoid using packed encoding. |
||||
optional bool packed = 2; |
||||
|
||||
// The jstype option determines the JavaScript type used for values of the |
||||
// field. The option is permitted only for 64 bit integral and fixed types |
||||
// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING |
||||
// is represented as JavaScript string, which avoids loss of precision that |
||||
// can happen when a large value is converted to a floating point JavaScript. |
||||
// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to |
||||
// use the JavaScript "number" type. The behavior of the default option |
||||
// JS_NORMAL is implementation dependent. |
||||
// |
||||
// This option is an enum to permit additional types to be added, e.g. |
||||
// goog.math.Integer. |
||||
optional JSType jstype = 6 [default = JS_NORMAL]; |
||||
enum JSType { |
||||
// Use the default type. |
||||
JS_NORMAL = 0; |
||||
|
||||
// Use JavaScript strings. |
||||
JS_STRING = 1; |
||||
|
||||
// Use JavaScript numbers. |
||||
JS_NUMBER = 2; |
||||
} |
||||
|
||||
// Should this field be parsed lazily? Lazy applies only to message-type |
||||
// fields. It means that when the outer message is initially parsed, the |
||||
// inner message's contents will not be parsed but instead stored in encoded |
||||
// form. The inner message will actually be parsed when it is first accessed. |
||||
// |
||||
// This is only a hint. Implementations are free to choose whether to use |
||||
// eager or lazy parsing regardless of the value of this option. However, |
||||
// setting this option true suggests that the protocol author believes that |
||||
// using lazy parsing on this field is worth the additional bookkeeping |
||||
// overhead typically needed to implement it. |
||||
// |
||||
// This option does not affect the public interface of any generated code; |
||||
// all method signatures remain the same. Furthermore, thread-safety of the |
||||
// interface is not affected by this option; const methods remain safe to |
||||
// call from multiple threads concurrently, while non-const methods continue |
||||
// to require exclusive access. |
||||
// |
||||
// |
||||
// Note that implementations may choose not to check required fields within |
||||
// a lazy sub-message. That is, calling IsInitialized() on the outer message |
||||
// may return true even if the inner message has missing required fields. |
||||
// This is necessary because otherwise the inner message would have to be |
||||
// parsed in order to perform the check, defeating the purpose of lazy |
||||
// parsing. An implementation which chooses not to check required fields |
||||
// must be consistent about it. That is, for any particular sub-message, the |
||||
// implementation must either *always* check its required fields, or *never* |
||||
// check its required fields, regardless of whether or not the message has |
||||
// been parsed. |
||||
optional bool lazy = 5 [default = false]; |
||||
|
||||
// Is this field deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for accessors, or it will be completely ignored; in the very least, this |
||||
// is a formalization for deprecating fields. |
||||
optional bool deprecated = 3 [default = false]; |
||||
|
||||
// For Google-internal migration only. Do not use. |
||||
optional bool weak = 10 [default = false]; |
||||
|
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
|
||||
reserved 4; // removed jtype |
||||
} |
||||
|
||||
message OneofOptions { |
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
message EnumOptions { |
||||
|
||||
// Set this option to true to allow mapping different tag names to the same |
||||
// value. |
||||
optional bool allow_alias = 2; |
||||
|
||||
// Is this enum deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for the enum, or it will be completely ignored; in the very least, this |
||||
// is a formalization for deprecating enums. |
||||
optional bool deprecated = 3 [default = false]; |
||||
|
||||
reserved 5; // javanano_as_lite |
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
message EnumValueOptions { |
||||
// Is this enum value deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for the enum value, or it will be completely ignored; in the very least, |
||||
// this is a formalization for deprecating enum values. |
||||
optional bool deprecated = 1 [default = false]; |
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
message ServiceOptions { |
||||
|
||||
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC |
||||
// framework. We apologize for hoarding these numbers to ourselves, but |
||||
// we were already using them long before we decided to release Protocol |
||||
// Buffers. |
||||
|
||||
// Is this service deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for the service, or it will be completely ignored; in the very least, |
||||
// this is a formalization for deprecating services. |
||||
optional bool deprecated = 33 [default = false]; |
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
message MethodOptions { |
||||
|
||||
// Note: Field numbers 1 through 32 are reserved for Google's internal RPC |
||||
// framework. We apologize for hoarding these numbers to ourselves, but |
||||
// we were already using them long before we decided to release Protocol |
||||
// Buffers. |
||||
|
||||
// Is this method deprecated? |
||||
// Depending on the target platform, this can emit Deprecated annotations |
||||
// for the method, or it will be completely ignored; in the very least, |
||||
// this is a formalization for deprecating methods. |
||||
optional bool deprecated = 33 [default = false]; |
||||
|
||||
// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, |
||||
// or neither? HTTP based RPC implementation may choose GET verb for safe |
||||
// methods, and PUT verb for idempotent methods instead of the default POST. |
||||
enum IdempotencyLevel { |
||||
IDEMPOTENCY_UNKNOWN = 0; |
||||
NO_SIDE_EFFECTS = 1; // implies idempotent |
||||
IDEMPOTENT = 2; // idempotent, but may have side effects |
||||
} |
||||
optional IdempotencyLevel idempotency_level = 34 |
||||
[default = IDEMPOTENCY_UNKNOWN]; |
||||
|
||||
// The parser stores options it doesn't recognize here. See above. |
||||
repeated UninterpretedOption uninterpreted_option = 999; |
||||
|
||||
// Clients can define custom options in extensions of this message. See above. |
||||
extensions 1000 to max; |
||||
} |
||||
|
||||
|
||||
// A message representing a option the parser does not recognize. This only |
||||
// appears in options protos created by the compiler::Parser class. |
||||
// DescriptorPool resolves these when building Descriptor objects. Therefore, |
||||
// options protos in descriptor objects (e.g. returned by Descriptor::options(), |
||||
// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions |
||||
// in them. |
||||
message UninterpretedOption { |
||||
// The name of the uninterpreted option. Each string represents a segment in |
||||
// a dot-separated name. is_extension is true iff a segment represents an |
||||
// extension (denoted with parentheses in options specs in .proto files). |
||||
// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents |
||||
// "foo.(bar.baz).qux". |
||||
message NamePart { |
||||
required string name_part = 1; |
||||
required bool is_extension = 2; |
||||
} |
||||
repeated NamePart name = 2; |
||||
|
||||
// The value of the uninterpreted option, in whatever type the tokenizer |
||||
// identified it as during parsing. Exactly one of these should be set. |
||||
optional string identifier_value = 3; |
||||
optional uint64 positive_int_value = 4; |
||||
optional int64 negative_int_value = 5; |
||||
optional double double_value = 6; |
||||
optional bytes string_value = 7; |
||||
optional string aggregate_value = 8; |
||||
} |
||||
|
||||
// =================================================================== |
||||
// Optional source code info |
||||
|
||||
// Encapsulates information about the original source file from which a |
||||
// FileDescriptorProto was generated. |
||||
message SourceCodeInfo { |
||||
// A Location identifies a piece of source code in a .proto file which |
||||
// corresponds to a particular definition. This information is intended |
||||
// to be useful to IDEs, code indexers, documentation generators, and similar |
||||
// tools. |
||||
// |
||||
// For example, say we have a file like: |
||||
// message Foo { |
||||
// optional string foo = 1; |
||||
// } |
||||
// Let's look at just the field definition: |
||||
// optional string foo = 1; |
||||
// ^ ^^ ^^ ^ ^^^ |
||||
// a bc de f ghi |
||||
// We have the following locations: |
||||
// span path represents |
||||
// [a,i) [ 4, 0, 2, 0 ] The whole field definition. |
||||
// [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). |
||||
// [c,d) [ 4, 0, 2, 0, 5 ] The type (string). |
||||
// [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). |
||||
// [g,h) [ 4, 0, 2, 0, 3 ] The number (1). |
||||
// |
||||
// Notes: |
||||
// - A location may refer to a repeated field itself (i.e. not to any |
||||
// particular index within it). This is used whenever a set of elements are |
||||
// logically enclosed in a single code segment. For example, an entire |
||||
// extend block (possibly containing multiple extension definitions) will |
||||
// have an outer location whose path refers to the "extensions" repeated |
||||
// field without an index. |
||||
// - Multiple locations may have the same path. This happens when a single |
||||
// logical declaration is spread out across multiple places. The most |
||||
// obvious example is the "extend" block again -- there may be multiple |
||||
// extend blocks in the same scope, each of which will have the same path. |
||||
// - A location's span is not always a subset of its parent's span. For |
||||
// example, the "extendee" of an extension declaration appears at the |
||||
// beginning of the "extend" block and is shared by all extensions within |
||||
// the block. |
||||
// - Just because a location's span is a subset of some other location's span |
||||
// does not mean that it is a descendant. For example, a "group" defines |
||||
// both a type and a field in a single declaration. Thus, the locations |
||||
// corresponding to the type and field and their components will overlap. |
||||
// - Code which tries to interpret locations should probably be designed to |
||||
// ignore those that it doesn't understand, as more types of locations could |
||||
// be recorded in the future. |
||||
repeated Location location = 1; |
||||
message Location { |
||||
// Identifies which part of the FileDescriptorProto was defined at this |
||||
// location. |
||||
// |
||||
// Each element is a field number or an index. They form a path from |
||||
// the root FileDescriptorProto to the place where the definition occurs. For |
||||
// example, this path: |
||||
// [ 4, 3, 2, 7, 1 ] |
||||
// refers to: |
||||
// file.message_type(3) // 4, 3 |
||||
// .field(7) // 2, 7 |
||||
// .name() // 1 |
||||
// This is because FileDescriptorProto.message_type has field number 4: |
||||
// repeated DescriptorProto message_type = 4; |
||||
// and DescriptorProto.field has field number 2: |
||||
// repeated FieldDescriptorProto field = 2; |
||||
// and FieldDescriptorProto.name has field number 1: |
||||
// optional string name = 1; |
||||
// |
||||
// Thus, the above path gives the location of a field name. If we removed |
||||
// the last element: |
||||
// [ 4, 3, 2, 7 ] |
||||
// this path refers to the whole field declaration (from the beginning |
||||
// of the label to the terminating semicolon). |
||||
repeated int32 path = 1 [packed = true]; |
||||
|
||||
// Always has exactly three or four elements: start line, start column, |
||||
// end line (optional, otherwise assumed same as start line), end column. |
||||
// These are packed into a single field for efficiency. Note that line |
||||
// and column numbers are zero-based -- typically you will want to add |
||||
// 1 to each before displaying to a user. |
||||
repeated int32 span = 2 [packed = true]; |
||||
|
||||
// If this SourceCodeInfo represents a complete declaration, these are any |
||||
// comments appearing before and after the declaration which appear to be |
||||
// attached to the declaration. |
||||
// |
||||
// A series of line comments appearing on consecutive lines, with no other |
||||
// tokens appearing on those lines, will be treated as a single comment. |
||||
// |
||||
// leading_detached_comments will keep paragraphs of comments that appear |
||||
// before (but not connected to) the current element. Each paragraph, |
||||
// separated by empty lines, will be one comment element in the repeated |
||||
// field. |
||||
// |
||||
// Only the comment content is provided; comment markers (e.g. //) are |
||||
// stripped out. For block comments, leading whitespace and an asterisk |
||||
// will be stripped from the beginning of each line other than the first. |
||||
// Newlines are included in the output. |
||||
// |
||||
// Examples: |
||||
// |
||||
// optional int32 foo = 1; // Comment attached to foo. |
||||
// // Comment attached to bar. |
||||
// optional int32 bar = 2; |
||||
// |
||||
// optional string baz = 3; |
||||
// // Comment attached to baz. |
||||
// // Another line attached to baz. |
||||
// |
||||
// // Comment attached to qux. |
||||
// // |
||||
// // Another line attached to qux. |
||||
// optional double qux = 4; |
||||
// |
||||
// // Detached comment for corge. This is not leading or trailing comments |
||||
// // to qux or corge because there are blank lines separating it from |
||||
// // both. |
||||
// |
||||
// // Detached comment for corge paragraph 2. |
||||
// |
||||
// optional string corge = 5; |
||||
// /* Block comment attached |
||||
// * to corge. Leading asterisks |
||||
// * will be removed. */ |
||||
// /* Block comment attached to |
||||
// * grault. */ |
||||
// optional int32 grault = 6; |
||||
// |
||||
// // ignored detached comments. |
||||
optional string leading_comments = 3; |
||||
optional string trailing_comments = 4; |
||||
repeated string leading_detached_comments = 6; |
||||
} |
||||
} |
||||
|
||||
// Describes the relationship between generated code and its original source |
||||
// file. A GeneratedCodeInfo message is associated with only one generated |
||||
// source file, but may contain references to different source .proto files. |
||||
message GeneratedCodeInfo { |
||||
// An Annotation connects some span of text in generated code to an element |
||||
// of its generating .proto file. |
||||
repeated Annotation annotation = 1; |
||||
message Annotation { |
||||
// Identifies the element in the original source .proto file. This field |
||||
// is formatted the same as SourceCodeInfo.Location.path. |
||||
repeated int32 path = 1 [packed = true]; |
||||
|
||||
// Identifies the filesystem path to the original source .proto. |
||||
optional string source_file = 2; |
||||
|
||||
// Identifies the starting offset in bytes in the generated code |
||||
// that relates to the identified object. |
||||
optional int32 begin = 3; |
||||
|
||||
// Identifies the ending offset in bytes in the generated code that |
||||
// relates to the identified offset. The end offset should be one past |
||||
// the last relevant byte (so the length of the text = end - begin). |
||||
optional int32 end = 4; |
||||
} |
||||
} |
@ -1,193 +0,0 @@ |
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: auth/auth.proto
|
||||
|
||||
package auth |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
||||
reflect "reflect" |
||||
sync "sync" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
type AuthInfo struct { |
||||
state protoimpl.MessageState |
||||
sizeCache protoimpl.SizeCache |
||||
unknownFields protoimpl.UnknownFields |
||||
|
||||
AutoAuth bool `protobuf:"varint,1,opt,name=auto_auth,json=autoAuth,proto3" json:"auto_auth,omitempty"` |
||||
MustAuth bool `protobuf:"varint,2,opt,name=must_auth,json=mustAuth,proto3" json:"must_auth,omitempty"` |
||||
AuthKey string `protobuf:"bytes,3,opt,name=auth_key,json=authKey,proto3" json:"auth_key,omitempty"` |
||||
} |
||||
|
||||
func (x *AuthInfo) Reset() { |
||||
*x = AuthInfo{} |
||||
if protoimpl.UnsafeEnabled { |
||||
mi := &file_auth_auth_proto_msgTypes[0] |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
} |
||||
|
||||
func (x *AuthInfo) String() string { |
||||
return protoimpl.X.MessageStringOf(x) |
||||
} |
||||
|
||||
func (*AuthInfo) ProtoMessage() {} |
||||
|
||||
func (x *AuthInfo) ProtoReflect() protoreflect.Message { |
||||
mi := &file_auth_auth_proto_msgTypes[0] |
||||
if protoimpl.UnsafeEnabled && x != nil { |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
if ms.LoadMessageInfo() == nil { |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
return ms |
||||
} |
||||
return mi.MessageOf(x) |
||||
} |
||||
|
||||
// Deprecated: Use AuthInfo.ProtoReflect.Descriptor instead.
|
||||
func (*AuthInfo) Descriptor() ([]byte, []int) { |
||||
return file_auth_auth_proto_rawDescGZIP(), []int{0} |
||||
} |
||||
|
||||
func (x *AuthInfo) GetAutoAuth() bool { |
||||
if x != nil { |
||||
return x.AutoAuth |
||||
} |
||||
return false |
||||
} |
||||
|
||||
func (x *AuthInfo) GetMustAuth() bool { |
||||
if x != nil { |
||||
return x.MustAuth |
||||
} |
||||
return false |
||||
} |
||||
|
||||
func (x *AuthInfo) GetAuthKey() string { |
||||
if x != nil { |
||||
return x.AuthKey |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
var file_auth_auth_proto_extTypes = []protoimpl.ExtensionInfo{ |
||||
{ |
||||
ExtendedType: (*descriptorpb.MethodOptions)(nil), |
||||
ExtensionType: (*AuthInfo)(nil), |
||||
Field: 1111, |
||||
Name: "auth.auth", |
||||
Tag: "bytes,1111,opt,name=auth", |
||||
Filename: "auth/auth.proto", |
||||
}, |
||||
} |
||||
|
||||
// Extension fields to descriptorpb.MethodOptions.
|
||||
var ( |
||||
// optional auth.AuthInfo auth = 1111;
|
||||
E_Auth = &file_auth_auth_proto_extTypes[0] |
||||
) |
||||
|
||||
var File_auth_auth_proto protoreflect.FileDescriptor |
||||
|
||||
var file_auth_auth_proto_rawDesc = []byte{ |
||||
0x0a, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x12, 0x04, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, |
||||
0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x08, 0x41, 0x75, 0x74, |
||||
0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x75, |
||||
0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x75, |
||||
0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, |
||||
0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x75, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x12, |
||||
0x19, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, |
||||
0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x3a, 0x43, 0x0a, 0x04, 0x61, 0x75, |
||||
0x74, 0x68, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, |
||||
0x6e, 0x73, 0x18, 0xd7, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x75, 0x74, 0x68, |
||||
0x2e, 0x41, 0x75, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x42, |
||||
0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x2e, 0x64, 0x69, 0x75, 0x6c, 0x6f, 0x2e, 0x63, 0x6f, 0x6d, |
||||
0x2f, 0x6d, 0x6f, 0x67, 0x66, 0x65, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, |
||||
0x65, 0x6e, 0x2d, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, |
||||
0x61, 0x75, 0x74, 0x68, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
||||
0x33, |
||||
} |
||||
|
||||
var ( |
||||
file_auth_auth_proto_rawDescOnce sync.Once |
||||
file_auth_auth_proto_rawDescData = file_auth_auth_proto_rawDesc |
||||
) |
||||
|
||||
func file_auth_auth_proto_rawDescGZIP() []byte { |
||||
file_auth_auth_proto_rawDescOnce.Do(func() { |
||||
file_auth_auth_proto_rawDescData = protoimpl.X.CompressGZIP(file_auth_auth_proto_rawDescData) |
||||
}) |
||||
return file_auth_auth_proto_rawDescData |
||||
} |
||||
|
||||
var file_auth_auth_proto_msgTypes = make([]protoimpl.MessageInfo, 1) |
||||
var file_auth_auth_proto_goTypes = []interface{}{ |
||||
(*AuthInfo)(nil), // 0: auth.AuthInfo
|
||||
(*descriptorpb.MethodOptions)(nil), // 1: google.protobuf.MethodOptions
|
||||
} |
||||
var file_auth_auth_proto_depIdxs = []int32{ |
||||
1, // 0: auth.auth:extendee -> google.protobuf.MethodOptions
|
||||
0, // 1: auth.auth:type_name -> auth.AuthInfo
|
||||
2, // [2:2] is the sub-list for method output_type
|
||||
2, // [2:2] is the sub-list for method input_type
|
||||
1, // [1:2] is the sub-list for extension type_name
|
||||
0, // [0:1] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_auth_auth_proto_init() } |
||||
func file_auth_auth_proto_init() { |
||||
if File_auth_auth_proto != nil { |
||||
return |
||||
} |
||||
if !protoimpl.UnsafeEnabled { |
||||
file_auth_auth_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
||||
switch v := v.(*AuthInfo); i { |
||||
case 0: |
||||
return &v.state |
||||
case 1: |
||||
return &v.sizeCache |
||||
case 2: |
||||
return &v.unknownFields |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_auth_auth_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 1, |
||||
NumExtensions: 1, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_auth_auth_proto_goTypes, |
||||
DependencyIndexes: file_auth_auth_proto_depIdxs, |
||||
MessageInfos: file_auth_auth_proto_msgTypes, |
||||
ExtensionInfos: file_auth_auth_proto_extTypes, |
||||
}.Build() |
||||
File_auth_auth_proto = out.File |
||||
file_auth_auth_proto_rawDesc = nil |
||||
file_auth_auth_proto_goTypes = nil |
||||
file_auth_auth_proto_depIdxs = nil |
||||
} |
@ -1,141 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: auth/auth.proto
|
||||
|
||||
package auth |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
||||
|
||||
// Validate checks the field values on AuthInfo with the rules defined in the
|
||||
// proto definition for this message. If any rules are violated, the first
|
||||
// error encountered is returned, or nil if there are no violations.
|
||||
func (m *AuthInfo) Validate() error { |
||||
return m.validate(false) |
||||
} |
||||
|
||||
// ValidateAll checks the field values on AuthInfo with the rules defined in
|
||||
// the proto definition for this message. If any rules are violated, the
|
||||
// result is a list of violation errors wrapped in AuthInfoMultiError, or nil
|
||||
// if none found.
|
||||
func (m *AuthInfo) ValidateAll() error { |
||||
return m.validate(true) |
||||
} |
||||
|
||||
func (m *AuthInfo) validate(all bool) error { |
||||
if m == nil { |
||||
return nil |
||||
} |
||||
|
||||
var errors []error |
||||
|
||||
// no validation rules for AutoAuth
|
||||
|
||||
// no validation rules for MustAuth
|
||||
|
||||
// no validation rules for AuthKey
|
||||
|
||||
if len(errors) > 0 { |
||||
return AuthInfoMultiError(errors) |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// AuthInfoMultiError is an error wrapping multiple validation errors returned
|
||||
// by AuthInfo.ValidateAll() if the designated constraints aren't met.
|
||||
type AuthInfoMultiError []error |
||||
|
||||
// Error returns a concatenation of all the error messages it wraps.
|
||||
func (m AuthInfoMultiError) Error() string { |
||||
var msgs []string |
||||
for _, err := range m { |
||||
msgs = append(msgs, err.Error()) |
||||
} |
||||
return strings.Join(msgs, "; ") |
||||
} |
||||
|
||||
// AllErrors returns a list of validation violation errors.
|
||||
func (m AuthInfoMultiError) AllErrors() []error { return m } |
||||
|
||||
// AuthInfoValidationError is the validation error returned by
|
||||
// AuthInfo.Validate if the designated constraints aren't met.
|
||||
type AuthInfoValidationError struct { |
||||
field string |
||||
reason string |
||||
cause error |
||||
key bool |
||||
} |
||||
|
||||
// Field function returns field value.
|
||||
func (e AuthInfoValidationError) Field() string { return e.field } |
||||
|
||||
// Reason function returns reason value.
|
||||
func (e AuthInfoValidationError) Reason() string { return e.reason } |
||||
|
||||
// Cause function returns cause value.
|
||||
func (e AuthInfoValidationError) Cause() error { return e.cause } |
||||
|
||||
// Key function returns key value.
|
||||
func (e AuthInfoValidationError) Key() bool { return e.key } |
||||
|
||||
// ErrorName returns error name.
|
||||
func (e AuthInfoValidationError) ErrorName() string { return "AuthInfoValidationError" } |
||||
|
||||
// Error satisfies the builtin error interface
|
||||
func (e AuthInfoValidationError) Error() string { |
||||
cause := "" |
||||
if e.cause != nil { |
||||
cause = fmt.Sprintf(" | caused by: %v", e.cause) |
||||
} |
||||
|
||||
key := "" |
||||
if e.key { |
||||
key = "key for " |
||||
} |
||||
|
||||
return fmt.Sprintf( |
||||
"invalid %sAuthInfo.%s: %s%s", |
||||
key, |
||||
e.field, |
||||
e.reason, |
||||
cause) |
||||
} |
||||
|
||||
var _ error = AuthInfoValidationError{} |
||||
|
||||
var _ interface { |
||||
Field() string |
||||
Reason() string |
||||
Key() bool |
||||
Cause() error |
||||
ErrorName() string |
||||
} = AuthInfoValidationError{} |
@ -1,118 +0,0 @@ |
||||
// Copyright (c) 2015, Google Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: google/api/annotations.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
||||
reflect "reflect" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
var file_google_api_annotations_proto_extTypes = []protoimpl.ExtensionInfo{ |
||||
{ |
||||
ExtendedType: (*descriptorpb.MethodOptions)(nil), |
||||
ExtensionType: (*HttpRule)(nil), |
||||
Field: 72295728, |
||||
Name: "google.api.http", |
||||
Tag: "bytes,72295728,opt,name=http", |
||||
Filename: "google/api/annotations.proto", |
||||
}, |
||||
} |
||||
|
||||
// Extension fields to descriptorpb.MethodOptions.
|
||||
var ( |
||||
// See `HttpRule`.
|
||||
//
|
||||
// optional google.api.HttpRule http = 72295728;
|
||||
E_Http = &file_google_api_annotations_proto_extTypes[0] |
||||
) |
||||
|
||||
var File_google_api_annotations_proto protoreflect.FileDescriptor |
||||
|
||||
var file_google_api_annotations_proto_rawDesc = []byte{ |
||||
0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, |
||||
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, |
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67, |
||||
0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, |
||||
0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, |
||||
0x6f, 0x74, 0x6f, 0x3a, 0x4b, 0x0a, 0x04, 0x68, 0x74, 0x74, 0x70, 0x12, 0x1e, 0x2e, 0x67, 0x6f, |
||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, |
||||
0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb0, 0xca, 0xbc, 0x22, |
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, |
||||
0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, |
||||
0x42, 0x6e, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, |
||||
0x70, 0x69, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, |
||||
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, |
||||
0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, |
||||
0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, |
||||
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, |
||||
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, |
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
||||
} |
||||
|
||||
var file_google_api_annotations_proto_goTypes = []interface{}{ |
||||
(*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions
|
||||
(*HttpRule)(nil), // 1: google.api.HttpRule
|
||||
} |
||||
var file_google_api_annotations_proto_depIdxs = []int32{ |
||||
0, // 0: google.api.http:extendee -> google.protobuf.MethodOptions
|
||||
1, // 1: google.api.http:type_name -> google.api.HttpRule
|
||||
2, // [2:2] is the sub-list for method output_type
|
||||
2, // [2:2] is the sub-list for method input_type
|
||||
1, // [1:2] is the sub-list for extension type_name
|
||||
0, // [0:1] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_google_api_annotations_proto_init() } |
||||
func file_google_api_annotations_proto_init() { |
||||
if File_google_api_annotations_proto != nil { |
||||
return |
||||
} |
||||
file_google_api_http_proto_init() |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_google_api_annotations_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 0, |
||||
NumExtensions: 1, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_google_api_annotations_proto_goTypes, |
||||
DependencyIndexes: file_google_api_annotations_proto_depIdxs, |
||||
ExtensionInfos: file_google_api_annotations_proto_extTypes, |
||||
}.Build() |
||||
File_google_api_annotations_proto = out.File |
||||
file_google_api_annotations_proto_rawDesc = nil |
||||
file_google_api_annotations_proto_goTypes = nil |
||||
file_google_api_annotations_proto_depIdxs = nil |
||||
} |
@ -1,36 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: google/api/annotations.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
@ -1,213 +0,0 @@ |
||||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: google/api/client.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
||||
reflect "reflect" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
var file_google_api_client_proto_extTypes = []protoimpl.ExtensionInfo{ |
||||
{ |
||||
ExtendedType: (*descriptorpb.ServiceOptions)(nil), |
||||
ExtensionType: (*string)(nil), |
||||
Field: 1049, |
||||
Name: "google.api.default_host", |
||||
Tag: "bytes,1049,opt,name=default_host", |
||||
Filename: "google/api/client.proto", |
||||
}, |
||||
{ |
||||
ExtendedType: (*descriptorpb.ServiceOptions)(nil), |
||||
ExtensionType: (*string)(nil), |
||||
Field: 1050, |
||||
Name: "google.api.oauth_scopes", |
||||
Tag: "bytes,1050,opt,name=oauth_scopes", |
||||
Filename: "google/api/client.proto", |
||||
}, |
||||
{ |
||||
ExtendedType: (*descriptorpb.MethodOptions)(nil), |
||||
ExtensionType: ([]string)(nil), |
||||
Field: 1051, |
||||
Name: "google.api.method_signature", |
||||
Tag: "bytes,1051,rep,name=method_signature", |
||||
Filename: "google/api/client.proto", |
||||
}, |
||||
} |
||||
|
||||
// Extension fields to descriptorpb.ServiceOptions.
|
||||
var ( |
||||
// The hostname for this service.
|
||||
// This should be specified with no prefix or protocol.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// service Foo {
|
||||
// option (google.api.default_host) = "foo.googleapi.com";
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// optional string default_host = 1049;
|
||||
E_DefaultHost = &file_google_api_client_proto_extTypes[0] |
||||
// OAuth scopes needed for the client.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// service Foo {
|
||||
// option (google.api.oauth_scopes) = \
|
||||
// "https://www.googleapis.com/auth/cloud-platform";
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// If there is more than one scope, use a comma-separated string:
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// service Foo {
|
||||
// option (google.api.oauth_scopes) = \
|
||||
// "https://www.googleapis.com/auth/cloud-platform,"
|
||||
// "https://www.googleapis.com/auth/monitoring";
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// optional string oauth_scopes = 1050;
|
||||
E_OauthScopes = &file_google_api_client_proto_extTypes[1] |
||||
) |
||||
|
||||
// Extension fields to descriptorpb.MethodOptions.
|
||||
var ( |
||||
// A definition of a client library method signature.
|
||||
//
|
||||
// In client libraries, each proto RPC corresponds to one or more methods
|
||||
// which the end user is able to call, and calls the underlying RPC.
|
||||
// Normally, this method receives a single argument (a struct or instance
|
||||
// corresponding to the RPC request object). Defining this field will
|
||||
// add one or more overloads providing flattened or simpler method signatures
|
||||
// in some languages.
|
||||
//
|
||||
// The fields on the method signature are provided as a comma-separated
|
||||
// string.
|
||||
//
|
||||
// For example, the proto RPC and annotation:
|
||||
//
|
||||
// rpc CreateSubscription(CreateSubscriptionRequest)
|
||||
// returns (Subscription) {
|
||||
// option (google.api.method_signature) = "name,topic";
|
||||
// }
|
||||
//
|
||||
// Would add the following Java overload (in addition to the method accepting
|
||||
// the request object):
|
||||
//
|
||||
// public final Subscription createSubscription(String name, String topic)
|
||||
//
|
||||
// The following backwards-compatibility guidelines apply:
|
||||
//
|
||||
// - Adding this annotation to an unannotated method is backwards
|
||||
// compatible.
|
||||
// - Adding this annotation to a method which already has existing
|
||||
// method signature annotations is backwards compatible if and only if
|
||||
// the new method signature annotation is last in the sequence.
|
||||
// - Modifying or removing an existing method signature annotation is
|
||||
// a breaking change.
|
||||
// - Re-ordering existing method signature annotations is a breaking
|
||||
// change.
|
||||
//
|
||||
// repeated string method_signature = 1051;
|
||||
E_MethodSignature = &file_google_api_client_proto_extTypes[2] |
||||
) |
||||
|
||||
var File_google_api_client_proto protoreflect.FileDescriptor |
||||
|
||||
var file_google_api_client_proto_rawDesc = []byte{ |
||||
0x0a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, |
||||
0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
||||
0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, |
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, |
||||
0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x43, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, |
||||
0x6c, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, |
||||
0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x99, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, |
||||
0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x43, 0x0a, 0x0c, |
||||
0x6f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, |
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, |
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x08, |
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, |
||||
0x73, 0x3a, 0x4a, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, |
||||
0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, |
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, |
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, |
||||
0x74, 0x68, 0x6f, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x0a, |
||||
0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, |
||||
0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, |
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, |
||||
0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
||||
0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, |
||||
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
||||
0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
||||
} |
||||
|
||||
var file_google_api_client_proto_goTypes = []interface{}{ |
||||
(*descriptorpb.ServiceOptions)(nil), // 0: google.protobuf.ServiceOptions
|
||||
(*descriptorpb.MethodOptions)(nil), // 1: google.protobuf.MethodOptions
|
||||
} |
||||
var file_google_api_client_proto_depIdxs = []int32{ |
||||
0, // 0: google.api.default_host:extendee -> google.protobuf.ServiceOptions
|
||||
0, // 1: google.api.oauth_scopes:extendee -> google.protobuf.ServiceOptions
|
||||
1, // 2: google.api.method_signature:extendee -> google.protobuf.MethodOptions
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
0, // [0:3] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_google_api_client_proto_init() } |
||||
func file_google_api_client_proto_init() { |
||||
if File_google_api_client_proto != nil { |
||||
return |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_google_api_client_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 0, |
||||
NumExtensions: 3, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_google_api_client_proto_goTypes, |
||||
DependencyIndexes: file_google_api_client_proto_depIdxs, |
||||
ExtensionInfos: file_google_api_client_proto_extTypes, |
||||
}.Build() |
||||
File_google_api_client_proto = out.File |
||||
file_google_api_client_proto_rawDesc = nil |
||||
file_google_api_client_proto_goTypes = nil |
||||
file_google_api_client_proto_depIdxs = nil |
||||
} |
@ -1,36 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: google/api/client.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
@ -1,232 +0,0 @@ |
||||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: google/api/field_behavior.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
||||
reflect "reflect" |
||||
sync "sync" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
// An indicator of the behavior of a given field (for example, that a field
|
||||
// is required in requests, or given as output but ignored as input).
|
||||
// This **does not** change the behavior in protocol buffers itself; it only
|
||||
// denotes the behavior and may affect how API tooling handles the field.
|
||||
//
|
||||
// Note: This enum **may** receive new values in the future.
|
||||
type FieldBehavior int32 |
||||
|
||||
const ( |
||||
// Conventional default for enums. Do not use this.
|
||||
FieldBehavior_FIELD_BEHAVIOR_UNSPECIFIED FieldBehavior = 0 |
||||
// Specifically denotes a field as optional.
|
||||
// While all fields in protocol buffers are optional, this may be specified
|
||||
// for emphasis if appropriate.
|
||||
FieldBehavior_OPTIONAL FieldBehavior = 1 |
||||
// Denotes a field as required.
|
||||
// This indicates that the field **must** be provided as part of the request,
|
||||
// and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
|
||||
FieldBehavior_REQUIRED FieldBehavior = 2 |
||||
// Denotes a field as output only.
|
||||
// This indicates that the field is provided in responses, but including the
|
||||
// field in a request does nothing (the server *must* ignore it and
|
||||
// *must not* throw an error as a result of the field's presence).
|
||||
FieldBehavior_OUTPUT_ONLY FieldBehavior = 3 |
||||
// Denotes a field as input only.
|
||||
// This indicates that the field is provided in requests, and the
|
||||
// corresponding field is not included in output.
|
||||
FieldBehavior_INPUT_ONLY FieldBehavior = 4 |
||||
// Denotes a field as immutable.
|
||||
// This indicates that the field may be set once in a request to create a
|
||||
// resource, but may not be changed thereafter.
|
||||
FieldBehavior_IMMUTABLE FieldBehavior = 5 |
||||
) |
||||
|
||||
// Enum value maps for FieldBehavior.
|
||||
var ( |
||||
FieldBehavior_name = map[int32]string{ |
||||
0: "FIELD_BEHAVIOR_UNSPECIFIED", |
||||
1: "OPTIONAL", |
||||
2: "REQUIRED", |
||||
3: "OUTPUT_ONLY", |
||||
4: "INPUT_ONLY", |
||||
5: "IMMUTABLE", |
||||
} |
||||
FieldBehavior_value = map[string]int32{ |
||||
"FIELD_BEHAVIOR_UNSPECIFIED": 0, |
||||
"OPTIONAL": 1, |
||||
"REQUIRED": 2, |
||||
"OUTPUT_ONLY": 3, |
||||
"INPUT_ONLY": 4, |
||||
"IMMUTABLE": 5, |
||||
} |
||||
) |
||||
|
||||
func (x FieldBehavior) Enum() *FieldBehavior { |
||||
p := new(FieldBehavior) |
||||
*p = x |
||||
return p |
||||
} |
||||
|
||||
func (x FieldBehavior) String() string { |
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
||||
} |
||||
|
||||
func (FieldBehavior) Descriptor() protoreflect.EnumDescriptor { |
||||
return file_google_api_field_behavior_proto_enumTypes[0].Descriptor() |
||||
} |
||||
|
||||
func (FieldBehavior) Type() protoreflect.EnumType { |
||||
return &file_google_api_field_behavior_proto_enumTypes[0] |
||||
} |
||||
|
||||
func (x FieldBehavior) Number() protoreflect.EnumNumber { |
||||
return protoreflect.EnumNumber(x) |
||||
} |
||||
|
||||
// Deprecated: Use FieldBehavior.Descriptor instead.
|
||||
func (FieldBehavior) EnumDescriptor() ([]byte, []int) { |
||||
return file_google_api_field_behavior_proto_rawDescGZIP(), []int{0} |
||||
} |
||||
|
||||
var file_google_api_field_behavior_proto_extTypes = []protoimpl.ExtensionInfo{ |
||||
{ |
||||
ExtendedType: (*descriptorpb.FieldOptions)(nil), |
||||
ExtensionType: ([]FieldBehavior)(nil), |
||||
Field: 1052, |
||||
Name: "google.api.field_behavior", |
||||
Tag: "varint,1052,rep,name=field_behavior,enum=google.api.FieldBehavior", |
||||
Filename: "google/api/field_behavior.proto", |
||||
}, |
||||
} |
||||
|
||||
// Extension fields to descriptorpb.FieldOptions.
|
||||
var ( |
||||
// A designation of a specific field behavior (required, output only, etc.)
|
||||
// in protobuf messages.
|
||||
//
|
||||
// Examples:
|
||||
//
|
||||
// string name = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
// State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
// google.protobuf.Duration ttl = 1
|
||||
// [(google.api.field_behavior) = INPUT_ONLY];
|
||||
// google.protobuf.Timestamp expire_time = 1
|
||||
// [(google.api.field_behavior) = OUTPUT_ONLY,
|
||||
// (google.api.field_behavior) = IMMUTABLE];
|
||||
//
|
||||
// repeated google.api.FieldBehavior field_behavior = 1052;
|
||||
E_FieldBehavior = &file_google_api_field_behavior_proto_extTypes[0] |
||||
) |
||||
|
||||
var File_google_api_field_behavior_proto protoreflect.FileDescriptor |
||||
|
||||
var file_google_api_field_behavior_proto_rawDesc = []byte{ |
||||
0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, |
||||
0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, |
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, |
||||
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, |
||||
0x7b, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, |
||||
0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, |
||||
0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, |
||||
0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, |
||||
0x0a, 0x08, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, |
||||
0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, |
||||
0x0a, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, |
||||
0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x3a, 0x60, 0x0a, 0x0e, |
||||
0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1d, |
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, |
||||
0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9c, 0x08, |
||||
0x20, 0x03, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, |
||||
0x69, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, |
||||
0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x70, |
||||
0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, |
||||
0x42, 0x12, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, |
||||
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, |
||||
0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, |
||||
0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, |
||||
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, |
||||
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, |
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
||||
} |
||||
|
||||
var ( |
||||
file_google_api_field_behavior_proto_rawDescOnce sync.Once |
||||
file_google_api_field_behavior_proto_rawDescData = file_google_api_field_behavior_proto_rawDesc |
||||
) |
||||
|
||||
func file_google_api_field_behavior_proto_rawDescGZIP() []byte { |
||||
file_google_api_field_behavior_proto_rawDescOnce.Do(func() { |
||||
file_google_api_field_behavior_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_field_behavior_proto_rawDescData) |
||||
}) |
||||
return file_google_api_field_behavior_proto_rawDescData |
||||
} |
||||
|
||||
var file_google_api_field_behavior_proto_enumTypes = make([]protoimpl.EnumInfo, 1) |
||||
var file_google_api_field_behavior_proto_goTypes = []interface{}{ |
||||
(FieldBehavior)(0), // 0: google.api.FieldBehavior
|
||||
(*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions
|
||||
} |
||||
var file_google_api_field_behavior_proto_depIdxs = []int32{ |
||||
1, // 0: google.api.field_behavior:extendee -> google.protobuf.FieldOptions
|
||||
0, // 1: google.api.field_behavior:type_name -> google.api.FieldBehavior
|
||||
2, // [2:2] is the sub-list for method output_type
|
||||
2, // [2:2] is the sub-list for method input_type
|
||||
1, // [1:2] is the sub-list for extension type_name
|
||||
0, // [0:1] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_google_api_field_behavior_proto_init() } |
||||
func file_google_api_field_behavior_proto_init() { |
||||
if File_google_api_field_behavior_proto != nil { |
||||
return |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_google_api_field_behavior_proto_rawDesc, |
||||
NumEnums: 1, |
||||
NumMessages: 0, |
||||
NumExtensions: 1, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_google_api_field_behavior_proto_goTypes, |
||||
DependencyIndexes: file_google_api_field_behavior_proto_depIdxs, |
||||
EnumInfos: file_google_api_field_behavior_proto_enumTypes, |
||||
ExtensionInfos: file_google_api_field_behavior_proto_extTypes, |
||||
}.Build() |
||||
File_google_api_field_behavior_proto = out.File |
||||
file_google_api_field_behavior_proto_rawDesc = nil |
||||
file_google_api_field_behavior_proto_goTypes = nil |
||||
file_google_api_field_behavior_proto_depIdxs = nil |
||||
} |
@ -1,36 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: google/api/field_behavior.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
@ -1,777 +0,0 @@ |
||||
// Copyright 2020 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: google/api/http.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
reflect "reflect" |
||||
sync "sync" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
// Defines the HTTP configuration for an API service. It contains a list of
|
||||
// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
|
||||
// to one or more HTTP REST API methods.
|
||||
type Http struct { |
||||
state protoimpl.MessageState |
||||
sizeCache protoimpl.SizeCache |
||||
unknownFields protoimpl.UnknownFields |
||||
|
||||
// A list of HTTP configuration rules that apply to individual API methods.
|
||||
//
|
||||
// **NOTE:** All service configuration rules follow "last one wins" order.
|
||||
Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` |
||||
// When set to true, URL path parameters will be fully URI-decoded except in
|
||||
// cases of single segment matches in reserved expansion, where "%2F" will be
|
||||
// left encoded.
|
||||
//
|
||||
// The default behavior is to not decode RFC 6570 reserved characters in multi
|
||||
// segment matches.
|
||||
FullyDecodeReservedExpansion bool `protobuf:"varint,2,opt,name=fully_decode_reserved_expansion,json=fullyDecodeReservedExpansion,proto3" json:"fully_decode_reserved_expansion,omitempty"` |
||||
} |
||||
|
||||
func (x *Http) Reset() { |
||||
*x = Http{} |
||||
if protoimpl.UnsafeEnabled { |
||||
mi := &file_google_api_http_proto_msgTypes[0] |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
} |
||||
|
||||
func (x *Http) String() string { |
||||
return protoimpl.X.MessageStringOf(x) |
||||
} |
||||
|
||||
func (*Http) ProtoMessage() {} |
||||
|
||||
func (x *Http) ProtoReflect() protoreflect.Message { |
||||
mi := &file_google_api_http_proto_msgTypes[0] |
||||
if protoimpl.UnsafeEnabled && x != nil { |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
if ms.LoadMessageInfo() == nil { |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
return ms |
||||
} |
||||
return mi.MessageOf(x) |
||||
} |
||||
|
||||
// Deprecated: Use Http.ProtoReflect.Descriptor instead.
|
||||
func (*Http) Descriptor() ([]byte, []int) { |
||||
return file_google_api_http_proto_rawDescGZIP(), []int{0} |
||||
} |
||||
|
||||
func (x *Http) GetRules() []*HttpRule { |
||||
if x != nil { |
||||
return x.Rules |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
func (x *Http) GetFullyDecodeReservedExpansion() bool { |
||||
if x != nil { |
||||
return x.FullyDecodeReservedExpansion |
||||
} |
||||
return false |
||||
} |
||||
|
||||
// # gRPC Transcoding
|
||||
//
|
||||
// gRPC Transcoding is a feature for mapping between a gRPC method and one or
|
||||
// more HTTP REST endpoints. It allows developers to build a single API service
|
||||
// that supports both gRPC APIs and REST APIs. Many systems, including [Google
|
||||
// APIs](https://github.com/googleapis/googleapis),
|
||||
// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
|
||||
// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
|
||||
// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
|
||||
// and use it for large scale production services.
|
||||
//
|
||||
// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
|
||||
// how different portions of the gRPC request message are mapped to the URL
|
||||
// path, URL query parameters, and HTTP request body. It also controls how the
|
||||
// gRPC response message is mapped to the HTTP response body. `HttpRule` is
|
||||
// typically specified as an `google.api.http` annotation on the gRPC method.
|
||||
//
|
||||
// Each mapping specifies a URL path template and an HTTP method. The path
|
||||
// template may refer to one or more fields in the gRPC request message, as long
|
||||
// as each field is a non-repeated field with a primitive (non-message) type.
|
||||
// The path template controls how fields of the request message are mapped to
|
||||
// the URL path.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// service Messaging {
|
||||
// rpc GetMessage(GetMessageRequest) returns (Message) {
|
||||
// option (google.api.http) = {
|
||||
// get: "/v1/{name=messages/*}"
|
||||
// };
|
||||
// }
|
||||
// }
|
||||
// message GetMessageRequest {
|
||||
// string name = 1; // Mapped to URL path.
|
||||
// }
|
||||
// message Message {
|
||||
// string text = 1; // The resource content.
|
||||
// }
|
||||
//
|
||||
// This enables an HTTP REST to gRPC mapping as below:
|
||||
//
|
||||
// HTTP | gRPC
|
||||
// -----|-----
|
||||
// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")`
|
||||
//
|
||||
// Any fields in the request message which are not bound by the path template
|
||||
// automatically become HTTP query parameters if there is no HTTP request body.
|
||||
// For example:
|
||||
//
|
||||
// service Messaging {
|
||||
// rpc GetMessage(GetMessageRequest) returns (Message) {
|
||||
// option (google.api.http) = {
|
||||
// get:"/v1/messages/{message_id}"
|
||||
// };
|
||||
// }
|
||||
// }
|
||||
// message GetMessageRequest {
|
||||
// message SubMessage {
|
||||
// string subfield = 1;
|
||||
// }
|
||||
// string message_id = 1; // Mapped to URL path.
|
||||
// int64 revision = 2; // Mapped to URL query parameter `revision`.
|
||||
// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`.
|
||||
// }
|
||||
//
|
||||
// This enables a HTTP JSON to RPC mapping as below:
|
||||
//
|
||||
// HTTP | gRPC
|
||||
// -----|-----
|
||||
// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
|
||||
// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
|
||||
// "foo"))`
|
||||
//
|
||||
// Note that fields which are mapped to URL query parameters must have a
|
||||
// primitive type or a repeated primitive type or a non-repeated message type.
|
||||
// In the case of a repeated type, the parameter can be repeated in the URL
|
||||
// as `...?param=A¶m=B`. In the case of a message type, each field of the
|
||||
// message is mapped to a separate parameter, such as
|
||||
// `...?foo.a=A&foo.b=B&foo.c=C`.
|
||||
//
|
||||
// For HTTP methods that allow a request body, the `body` field
|
||||
// specifies the mapping. Consider a REST update method on the
|
||||
// message resource collection:
|
||||
//
|
||||
// service Messaging {
|
||||
// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
|
||||
// option (google.api.http) = {
|
||||
// patch: "/v1/messages/{message_id}"
|
||||
// body: "message"
|
||||
// };
|
||||
// }
|
||||
// }
|
||||
// message UpdateMessageRequest {
|
||||
// string message_id = 1; // mapped to the URL
|
||||
// Message message = 2; // mapped to the body
|
||||
// }
|
||||
//
|
||||
// The following HTTP JSON to RPC mapping is enabled, where the
|
||||
// representation of the JSON in the request body is determined by
|
||||
// protos JSON encoding:
|
||||
//
|
||||
// HTTP | gRPC
|
||||
// -----|-----
|
||||
// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
|
||||
// "123456" message { text: "Hi!" })`
|
||||
//
|
||||
// The special name `*` can be used in the body mapping to define that
|
||||
// every field not bound by the path template should be mapped to the
|
||||
// request body. This enables the following alternative definition of
|
||||
// the update method:
|
||||
//
|
||||
// service Messaging {
|
||||
// rpc UpdateMessage(Message) returns (Message) {
|
||||
// option (google.api.http) = {
|
||||
// patch: "/v1/messages/{message_id}"
|
||||
// body: "*"
|
||||
// };
|
||||
// }
|
||||
// }
|
||||
// message Message {
|
||||
// string message_id = 1;
|
||||
// string text = 2;
|
||||
// }
|
||||
//
|
||||
// The following HTTP JSON to RPC mapping is enabled:
|
||||
//
|
||||
// HTTP | gRPC
|
||||
// -----|-----
|
||||
// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
|
||||
// "123456" text: "Hi!")`
|
||||
//
|
||||
// Note that when using `*` in the body mapping, it is not possible to
|
||||
// have HTTP parameters, as all fields not bound by the path end in
|
||||
// the body. This makes this option more rarely used in practice when
|
||||
// defining REST APIs. The common usage of `*` is in custom methods
|
||||
// which don't use the URL at all for transferring data.
|
||||
//
|
||||
// It is possible to define multiple HTTP methods for one RPC by using
|
||||
// the `additional_bindings` option. Example:
|
||||
//
|
||||
// service Messaging {
|
||||
// rpc GetMessage(GetMessageRequest) returns (Message) {
|
||||
// option (google.api.http) = {
|
||||
// get: "/v1/messages/{message_id}"
|
||||
// additional_bindings {
|
||||
// get: "/v1/users/{user_id}/messages/{message_id}"
|
||||
// }
|
||||
// };
|
||||
// }
|
||||
// }
|
||||
// message GetMessageRequest {
|
||||
// string message_id = 1;
|
||||
// string user_id = 2;
|
||||
// }
|
||||
//
|
||||
// This enables the following two alternative HTTP JSON to RPC mappings:
|
||||
//
|
||||
// HTTP | gRPC
|
||||
// -----|-----
|
||||
// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
|
||||
// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
|
||||
// "123456")`
|
||||
//
|
||||
// ## Rules for HTTP mapping
|
||||
//
|
||||
// 1. Leaf request fields (recursive expansion nested messages in the request
|
||||
// message) are classified into three categories:
|
||||
// - Fields referred by the path template. They are passed via the URL path.
|
||||
// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
|
||||
// request body.
|
||||
// - All other fields are passed via the URL query parameters, and the
|
||||
// parameter name is the field path in the request message. A repeated
|
||||
// field can be represented as multiple query parameters under the same
|
||||
// name.
|
||||
// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
|
||||
// are passed via URL path and HTTP request body.
|
||||
// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
|
||||
// fields are passed via URL path and URL query parameters.
|
||||
//
|
||||
// ### Path template syntax
|
||||
//
|
||||
// Template = "/" Segments [ Verb ] ;
|
||||
// Segments = Segment { "/" Segment } ;
|
||||
// Segment = "*" | "**" | LITERAL | Variable ;
|
||||
// Variable = "{" FieldPath [ "=" Segments ] "}" ;
|
||||
// FieldPath = IDENT { "." IDENT } ;
|
||||
// Verb = ":" LITERAL ;
|
||||
//
|
||||
// The syntax `*` matches a single URL path segment. The syntax `**` matches
|
||||
// zero or more URL path segments, which must be the last part of the URL path
|
||||
// except the `Verb`.
|
||||
//
|
||||
// The syntax `Variable` matches part of the URL path as specified by its
|
||||
// template. A variable template must not contain other variables. If a variable
|
||||
// matches a single path segment, its template may be omitted, e.g. `{var}`
|
||||
// is equivalent to `{var=*}`.
|
||||
//
|
||||
// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL`
|
||||
// contains any reserved character, such characters should be percent-encoded
|
||||
// before the matching.
|
||||
//
|
||||
// If a variable contains exactly one path segment, such as `"{var}"` or
|
||||
// `"{var=*}"`, when such a variable is expanded into a URL path on the client
|
||||
// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
|
||||
// server side does the reverse decoding. Such variables show up in the
|
||||
// [Discovery
|
||||
// Document](https://developers.google.com/discovery/v1/reference/apis) as
|
||||
// `{var}`.
|
||||
//
|
||||
// If a variable contains multiple path segments, such as `"{var=foo/*}"`
|
||||
// or `"{var=**}"`, when such a variable is expanded into a URL path on the
|
||||
// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
|
||||
// The server side does the reverse decoding, except "%2F" and "%2f" are left
|
||||
// unchanged. Such variables show up in the
|
||||
// [Discovery
|
||||
// Document](https://developers.google.com/discovery/v1/reference/apis) as
|
||||
// `{+var}`.
|
||||
//
|
||||
// ## Using gRPC API Service Configuration
|
||||
//
|
||||
// gRPC API Service Configuration (service config) is a configuration language
|
||||
// for configuring a gRPC service to become a user-facing product. The
|
||||
// service config is simply the YAML representation of the `google.api.Service`
|
||||
// proto message.
|
||||
//
|
||||
// As an alternative to annotating your proto file, you can configure gRPC
|
||||
// transcoding in your service config YAML files. You do this by specifying a
|
||||
// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same
|
||||
// effect as the proto annotation. This can be particularly useful if you
|
||||
// have a proto that is reused in multiple services. Note that any transcoding
|
||||
// specified in the service config will override any matching transcoding
|
||||
// configuration in the proto.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// http:
|
||||
// rules:
|
||||
// # Selects a gRPC method and applies HttpRule to it.
|
||||
// - selector: example.v1.Messaging.GetMessage
|
||||
// get: /v1/messages/{message_id}/{sub.subfield}
|
||||
//
|
||||
// ## Special notes
|
||||
//
|
||||
// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
|
||||
// proto to JSON conversion must follow the [proto3
|
||||
// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
|
||||
//
|
||||
// While the single segment variable follows the semantics of
|
||||
// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
|
||||
// Expansion, the multi segment variable **does not** follow RFC 6570 Section
|
||||
// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
|
||||
// does not expand special characters like `?` and `#`, which would lead
|
||||
// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
|
||||
// for multi segment variables.
|
||||
//
|
||||
// The path variables **must not** refer to any repeated or mapped field,
|
||||
// because client libraries are not capable of handling such variable expansion.
|
||||
//
|
||||
// The path variables **must not** capture the leading "/" character. The reason
|
||||
// is that the most common use case "{var}" does not capture the leading "/"
|
||||
// character. For consistency, all path variables must share the same behavior.
|
||||
//
|
||||
// Repeated message fields must not be mapped to URL query parameters, because
|
||||
// no client library can support such complicated mapping.
|
||||
//
|
||||
// If an API needs to use a JSON array for request or response body, it can map
|
||||
// the request or response body to a repeated field. However, some gRPC
|
||||
// Transcoding implementations may not support this feature.
|
||||
type HttpRule struct { |
||||
state protoimpl.MessageState |
||||
sizeCache protoimpl.SizeCache |
||||
unknownFields protoimpl.UnknownFields |
||||
|
||||
// Selects a method to which this rule applies.
|
||||
//
|
||||
// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
|
||||
Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` |
||||
// Determines the URL pattern is matched by this rules. This pattern can be
|
||||
// used with any of the {get|put|post|delete|patch} methods. A custom method
|
||||
// can be defined using the 'custom' field.
|
||||
//
|
||||
// Types that are assignable to Pattern:
|
||||
//
|
||||
// *HttpRule_Get
|
||||
// *HttpRule_Put
|
||||
// *HttpRule_Post
|
||||
// *HttpRule_Delete
|
||||
// *HttpRule_Patch
|
||||
// *HttpRule_Custom
|
||||
Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"` |
||||
// The name of the request field whose value is mapped to the HTTP request
|
||||
// body, or `*` for mapping all request fields not captured by the path
|
||||
// pattern to the HTTP body, or omitted for not having any HTTP request body.
|
||||
//
|
||||
// NOTE: the referred field must be present at the top-level of the request
|
||||
// message type.
|
||||
Body string `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"` |
||||
// Optional. The name of the response field whose value is mapped to the HTTP
|
||||
// response body. When omitted, the entire response message will be used
|
||||
// as the HTTP response body.
|
||||
//
|
||||
// NOTE: The referred field must be present at the top-level of the response
|
||||
// message type.
|
||||
ResponseBody string `protobuf:"bytes,12,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"` |
||||
// Additional HTTP bindings for the selector. Nested bindings must
|
||||
// not contain an `additional_bindings` field themselves (that is,
|
||||
// the nesting may only be one level deep).
|
||||
AdditionalBindings []*HttpRule `protobuf:"bytes,11,rep,name=additional_bindings,json=additionalBindings,proto3" json:"additional_bindings,omitempty"` |
||||
} |
||||
|
||||
func (x *HttpRule) Reset() { |
||||
*x = HttpRule{} |
||||
if protoimpl.UnsafeEnabled { |
||||
mi := &file_google_api_http_proto_msgTypes[1] |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
} |
||||
|
||||
func (x *HttpRule) String() string { |
||||
return protoimpl.X.MessageStringOf(x) |
||||
} |
||||
|
||||
func (*HttpRule) ProtoMessage() {} |
||||
|
||||
func (x *HttpRule) ProtoReflect() protoreflect.Message { |
||||
mi := &file_google_api_http_proto_msgTypes[1] |
||||
if protoimpl.UnsafeEnabled && x != nil { |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
if ms.LoadMessageInfo() == nil { |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
return ms |
||||
} |
||||
return mi.MessageOf(x) |
||||
} |
||||
|
||||
// Deprecated: Use HttpRule.ProtoReflect.Descriptor instead.
|
||||
func (*HttpRule) Descriptor() ([]byte, []int) { |
||||
return file_google_api_http_proto_rawDescGZIP(), []int{1} |
||||
} |
||||
|
||||
func (x *HttpRule) GetSelector() string { |
||||
if x != nil { |
||||
return x.Selector |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (m *HttpRule) GetPattern() isHttpRule_Pattern { |
||||
if m != nil { |
||||
return m.Pattern |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
func (x *HttpRule) GetGet() string { |
||||
if x, ok := x.GetPattern().(*HttpRule_Get); ok { |
||||
return x.Get |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetPut() string { |
||||
if x, ok := x.GetPattern().(*HttpRule_Put); ok { |
||||
return x.Put |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetPost() string { |
||||
if x, ok := x.GetPattern().(*HttpRule_Post); ok { |
||||
return x.Post |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetDelete() string { |
||||
if x, ok := x.GetPattern().(*HttpRule_Delete); ok { |
||||
return x.Delete |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetPatch() string { |
||||
if x, ok := x.GetPattern().(*HttpRule_Patch); ok { |
||||
return x.Patch |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetCustom() *CustomHttpPattern { |
||||
if x, ok := x.GetPattern().(*HttpRule_Custom); ok { |
||||
return x.Custom |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
func (x *HttpRule) GetBody() string { |
||||
if x != nil { |
||||
return x.Body |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetResponseBody() string { |
||||
if x != nil { |
||||
return x.ResponseBody |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpRule) GetAdditionalBindings() []*HttpRule { |
||||
if x != nil { |
||||
return x.AdditionalBindings |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
type isHttpRule_Pattern interface { |
||||
isHttpRule_Pattern() |
||||
} |
||||
|
||||
type HttpRule_Get struct { |
||||
// Maps to HTTP GET. Used for listing and getting information about
|
||||
// resources.
|
||||
Get string `protobuf:"bytes,2,opt,name=get,proto3,oneof"` |
||||
} |
||||
|
||||
type HttpRule_Put struct { |
||||
// Maps to HTTP PUT. Used for replacing a resource.
|
||||
Put string `protobuf:"bytes,3,opt,name=put,proto3,oneof"` |
||||
} |
||||
|
||||
type HttpRule_Post struct { |
||||
// Maps to HTTP POST. Used for creating a resource or performing an action.
|
||||
Post string `protobuf:"bytes,4,opt,name=post,proto3,oneof"` |
||||
} |
||||
|
||||
type HttpRule_Delete struct { |
||||
// Maps to HTTP DELETE. Used for deleting a resource.
|
||||
Delete string `protobuf:"bytes,5,opt,name=delete,proto3,oneof"` |
||||
} |
||||
|
||||
type HttpRule_Patch struct { |
||||
// Maps to HTTP PATCH. Used for updating a resource.
|
||||
Patch string `protobuf:"bytes,6,opt,name=patch,proto3,oneof"` |
||||
} |
||||
|
||||
type HttpRule_Custom struct { |
||||
// The custom pattern is used for specifying an HTTP method that is not
|
||||
// included in the `pattern` field, such as HEAD, or "*" to leave the
|
||||
// HTTP method unspecified for this rule. The wild-card rule is useful
|
||||
// for services that provide content to Web (HTML) clients.
|
||||
Custom *CustomHttpPattern `protobuf:"bytes,8,opt,name=custom,proto3,oneof"` |
||||
} |
||||
|
||||
func (*HttpRule_Get) isHttpRule_Pattern() {} |
||||
|
||||
func (*HttpRule_Put) isHttpRule_Pattern() {} |
||||
|
||||
func (*HttpRule_Post) isHttpRule_Pattern() {} |
||||
|
||||
func (*HttpRule_Delete) isHttpRule_Pattern() {} |
||||
|
||||
func (*HttpRule_Patch) isHttpRule_Pattern() {} |
||||
|
||||
func (*HttpRule_Custom) isHttpRule_Pattern() {} |
||||
|
||||
// A custom pattern is used for defining custom HTTP verb.
|
||||
type CustomHttpPattern struct { |
||||
state protoimpl.MessageState |
||||
sizeCache protoimpl.SizeCache |
||||
unknownFields protoimpl.UnknownFields |
||||
|
||||
// The name of this custom HTTP verb.
|
||||
Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` |
||||
// The path matched by this custom verb.
|
||||
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` |
||||
} |
||||
|
||||
func (x *CustomHttpPattern) Reset() { |
||||
*x = CustomHttpPattern{} |
||||
if protoimpl.UnsafeEnabled { |
||||
mi := &file_google_api_http_proto_msgTypes[2] |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
} |
||||
|
||||
func (x *CustomHttpPattern) String() string { |
||||
return protoimpl.X.MessageStringOf(x) |
||||
} |
||||
|
||||
func (*CustomHttpPattern) ProtoMessage() {} |
||||
|
||||
func (x *CustomHttpPattern) ProtoReflect() protoreflect.Message { |
||||
mi := &file_google_api_http_proto_msgTypes[2] |
||||
if protoimpl.UnsafeEnabled && x != nil { |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
if ms.LoadMessageInfo() == nil { |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
return ms |
||||
} |
||||
return mi.MessageOf(x) |
||||
} |
||||
|
||||
// Deprecated: Use CustomHttpPattern.ProtoReflect.Descriptor instead.
|
||||
func (*CustomHttpPattern) Descriptor() ([]byte, []int) { |
||||
return file_google_api_http_proto_rawDescGZIP(), []int{2} |
||||
} |
||||
|
||||
func (x *CustomHttpPattern) GetKind() string { |
||||
if x != nil { |
||||
return x.Kind |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *CustomHttpPattern) GetPath() string { |
||||
if x != nil { |
||||
return x.Path |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
var File_google_api_http_proto protoreflect.FileDescriptor |
||||
|
||||
var file_google_api_http_proto_rawDesc = []byte{ |
||||
0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, |
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
||||
0x61, 0x70, 0x69, 0x22, 0x79, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x72, |
||||
0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, |
||||
0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, |
||||
0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x75, 0x6c, 0x6c, 0x79, |
||||
0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, |
||||
0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, |
||||
0x52, 0x1c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, |
||||
0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda, |
||||
0x02, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, |
||||
0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, |
||||
0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x18, 0x02, |
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x70, |
||||
0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, 0x75, 0x74, 0x12, |
||||
0x14, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, |
||||
0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, |
||||
0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, |
||||
0x16, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, |
||||
0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, |
||||
0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, |
||||
0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, |
||||
0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, |
||||
0x62, 0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
||||
0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, |
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x13, 0x61, 0x64, 0x64, |
||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, |
||||
0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
||||
0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x12, 0x61, 0x64, |
||||
0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, |
||||
0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x3b, 0x0a, 0x11, 0x43, |
||||
0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, |
||||
0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, |
||||
0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, |
||||
0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, |
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, 0x48, 0x74, 0x74, 0x70, |
||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
||||
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, |
||||
0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, |
||||
0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, |
||||
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04, |
||||
0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
||||
} |
||||
|
||||
var ( |
||||
file_google_api_http_proto_rawDescOnce sync.Once |
||||
file_google_api_http_proto_rawDescData = file_google_api_http_proto_rawDesc |
||||
) |
||||
|
||||
func file_google_api_http_proto_rawDescGZIP() []byte { |
||||
file_google_api_http_proto_rawDescOnce.Do(func() { |
||||
file_google_api_http_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_http_proto_rawDescData) |
||||
}) |
||||
return file_google_api_http_proto_rawDescData |
||||
} |
||||
|
||||
var file_google_api_http_proto_msgTypes = make([]protoimpl.MessageInfo, 3) |
||||
var file_google_api_http_proto_goTypes = []interface{}{ |
||||
(*Http)(nil), // 0: google.api.Http
|
||||
(*HttpRule)(nil), // 1: google.api.HttpRule
|
||||
(*CustomHttpPattern)(nil), // 2: google.api.CustomHttpPattern
|
||||
} |
||||
var file_google_api_http_proto_depIdxs = []int32{ |
||||
1, // 0: google.api.Http.rules:type_name -> google.api.HttpRule
|
||||
2, // 1: google.api.HttpRule.custom:type_name -> google.api.CustomHttpPattern
|
||||
1, // 2: google.api.HttpRule.additional_bindings:type_name -> google.api.HttpRule
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_google_api_http_proto_init() } |
||||
func file_google_api_http_proto_init() { |
||||
if File_google_api_http_proto != nil { |
||||
return |
||||
} |
||||
if !protoimpl.UnsafeEnabled { |
||||
file_google_api_http_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
||||
switch v := v.(*Http); i { |
||||
case 0: |
||||
return &v.state |
||||
case 1: |
||||
return &v.sizeCache |
||||
case 2: |
||||
return &v.unknownFields |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
file_google_api_http_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
||||
switch v := v.(*HttpRule); i { |
||||
case 0: |
||||
return &v.state |
||||
case 1: |
||||
return &v.sizeCache |
||||
case 2: |
||||
return &v.unknownFields |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
file_google_api_http_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
||||
switch v := v.(*CustomHttpPattern); i { |
||||
case 0: |
||||
return &v.state |
||||
case 1: |
||||
return &v.sizeCache |
||||
case 2: |
||||
return &v.unknownFields |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
} |
||||
file_google_api_http_proto_msgTypes[1].OneofWrappers = []interface{}{ |
||||
(*HttpRule_Get)(nil), |
||||
(*HttpRule_Put)(nil), |
||||
(*HttpRule_Post)(nil), |
||||
(*HttpRule_Delete)(nil), |
||||
(*HttpRule_Patch)(nil), |
||||
(*HttpRule_Custom)(nil), |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_google_api_http_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 3, |
||||
NumExtensions: 0, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_google_api_http_proto_goTypes, |
||||
DependencyIndexes: file_google_api_http_proto_depIdxs, |
||||
MessageInfos: file_google_api_http_proto_msgTypes, |
||||
}.Build() |
||||
File_google_api_http_proto = out.File |
||||
file_google_api_http_proto_rawDesc = nil |
||||
file_google_api_http_proto_goTypes = nil |
||||
file_google_api_http_proto_depIdxs = nil |
||||
} |
@ -1,465 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: google/api/http.proto
|
||||
|
||||
package annotations |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
||||
|
||||
// Validate checks the field values on Http with the rules defined in the proto
|
||||
// definition for this message. If any rules are violated, the first error
|
||||
// encountered is returned, or nil if there are no violations.
|
||||
func (m *Http) Validate() error { |
||||
return m.validate(false) |
||||
} |
||||
|
||||
// ValidateAll checks the field values on Http with the rules defined in the
|
||||
// proto definition for this message. If any rules are violated, the result is
|
||||
// a list of violation errors wrapped in HttpMultiError, or nil if none found.
|
||||
func (m *Http) ValidateAll() error { |
||||
return m.validate(true) |
||||
} |
||||
|
||||
func (m *Http) validate(all bool) error { |
||||
if m == nil { |
||||
return nil |
||||
} |
||||
|
||||
var errors []error |
||||
|
||||
for idx, item := range m.GetRules() { |
||||
_, _ = idx, item |
||||
|
||||
if all { |
||||
switch v := interface{}(item).(type) { |
||||
case interface{ ValidateAll() error }: |
||||
if err := v.ValidateAll(); err != nil { |
||||
errors = append(errors, HttpValidationError{ |
||||
field: fmt.Sprintf("Rules[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
case interface{ Validate() error }: |
||||
if err := v.Validate(); err != nil { |
||||
errors = append(errors, HttpValidationError{ |
||||
field: fmt.Sprintf("Rules[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
} |
||||
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok { |
||||
if err := v.Validate(); err != nil { |
||||
return HttpValidationError{ |
||||
field: fmt.Sprintf("Rules[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
// no validation rules for FullyDecodeReservedExpansion
|
||||
|
||||
if len(errors) > 0 { |
||||
return HttpMultiError(errors) |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// HttpMultiError is an error wrapping multiple validation errors returned by
|
||||
// Http.ValidateAll() if the designated constraints aren't met.
|
||||
type HttpMultiError []error |
||||
|
||||
// Error returns a concatenation of all the error messages it wraps.
|
||||
func (m HttpMultiError) Error() string { |
||||
var msgs []string |
||||
for _, err := range m { |
||||
msgs = append(msgs, err.Error()) |
||||
} |
||||
return strings.Join(msgs, "; ") |
||||
} |
||||
|
||||
// AllErrors returns a list of validation violation errors.
|
||||
func (m HttpMultiError) AllErrors() []error { return m } |
||||
|
||||
// HttpValidationError is the validation error returned by Http.Validate if the
|
||||
// designated constraints aren't met.
|
||||
type HttpValidationError struct { |
||||
field string |
||||
reason string |
||||
cause error |
||||
key bool |
||||
} |
||||
|
||||
// Field function returns field value.
|
||||
func (e HttpValidationError) Field() string { return e.field } |
||||
|
||||
// Reason function returns reason value.
|
||||
func (e HttpValidationError) Reason() string { return e.reason } |
||||
|
||||
// Cause function returns cause value.
|
||||
func (e HttpValidationError) Cause() error { return e.cause } |
||||
|
||||
// Key function returns key value.
|
||||
func (e HttpValidationError) Key() bool { return e.key } |
||||
|
||||
// ErrorName returns error name.
|
||||
func (e HttpValidationError) ErrorName() string { return "HttpValidationError" } |
||||
|
||||
// Error satisfies the builtin error interface
|
||||
func (e HttpValidationError) Error() string { |
||||
cause := "" |
||||
if e.cause != nil { |
||||
cause = fmt.Sprintf(" | caused by: %v", e.cause) |
||||
} |
||||
|
||||
key := "" |
||||
if e.key { |
||||
key = "key for " |
||||
} |
||||
|
||||
return fmt.Sprintf( |
||||
"invalid %sHttp.%s: %s%s", |
||||
key, |
||||
e.field, |
||||
e.reason, |
||||
cause) |
||||
} |
||||
|
||||
var _ error = HttpValidationError{} |
||||
|
||||
var _ interface { |
||||
Field() string |
||||
Reason() string |
||||
Key() bool |
||||
Cause() error |
||||
ErrorName() string |
||||
} = HttpValidationError{} |
||||
|
||||
// Validate checks the field values on HttpRule with the rules defined in the
|
||||
// proto definition for this message. If any rules are violated, the first
|
||||
// error encountered is returned, or nil if there are no violations.
|
||||
func (m *HttpRule) Validate() error { |
||||
return m.validate(false) |
||||
} |
||||
|
||||
// ValidateAll checks the field values on HttpRule with the rules defined in
|
||||
// the proto definition for this message. If any rules are violated, the
|
||||
// result is a list of violation errors wrapped in HttpRuleMultiError, or nil
|
||||
// if none found.
|
||||
func (m *HttpRule) ValidateAll() error { |
||||
return m.validate(true) |
||||
} |
||||
|
||||
func (m *HttpRule) validate(all bool) error { |
||||
if m == nil { |
||||
return nil |
||||
} |
||||
|
||||
var errors []error |
||||
|
||||
// no validation rules for Selector
|
||||
|
||||
// no validation rules for Body
|
||||
|
||||
// no validation rules for ResponseBody
|
||||
|
||||
for idx, item := range m.GetAdditionalBindings() { |
||||
_, _ = idx, item |
||||
|
||||
if all { |
||||
switch v := interface{}(item).(type) { |
||||
case interface{ ValidateAll() error }: |
||||
if err := v.ValidateAll(); err != nil { |
||||
errors = append(errors, HttpRuleValidationError{ |
||||
field: fmt.Sprintf("AdditionalBindings[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
case interface{ Validate() error }: |
||||
if err := v.Validate(); err != nil { |
||||
errors = append(errors, HttpRuleValidationError{ |
||||
field: fmt.Sprintf("AdditionalBindings[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
} |
||||
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok { |
||||
if err := v.Validate(); err != nil { |
||||
return HttpRuleValidationError{ |
||||
field: fmt.Sprintf("AdditionalBindings[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
switch m.Pattern.(type) { |
||||
|
||||
case *HttpRule_Get: |
||||
// no validation rules for Get
|
||||
|
||||
case *HttpRule_Put: |
||||
// no validation rules for Put
|
||||
|
||||
case *HttpRule_Post: |
||||
// no validation rules for Post
|
||||
|
||||
case *HttpRule_Delete: |
||||
// no validation rules for Delete
|
||||
|
||||
case *HttpRule_Patch: |
||||
// no validation rules for Patch
|
||||
|
||||
case *HttpRule_Custom: |
||||
|
||||
if all { |
||||
switch v := interface{}(m.GetCustom()).(type) { |
||||
case interface{ ValidateAll() error }: |
||||
if err := v.ValidateAll(); err != nil { |
||||
errors = append(errors, HttpRuleValidationError{ |
||||
field: "Custom", |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
case interface{ Validate() error }: |
||||
if err := v.Validate(); err != nil { |
||||
errors = append(errors, HttpRuleValidationError{ |
||||
field: "Custom", |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
} |
||||
} else if v, ok := interface{}(m.GetCustom()).(interface{ Validate() error }); ok { |
||||
if err := v.Validate(); err != nil { |
||||
return HttpRuleValidationError{ |
||||
field: "Custom", |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
if len(errors) > 0 { |
||||
return HttpRuleMultiError(errors) |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// HttpRuleMultiError is an error wrapping multiple validation errors returned
|
||||
// by HttpRule.ValidateAll() if the designated constraints aren't met.
|
||||
type HttpRuleMultiError []error |
||||
|
||||
// Error returns a concatenation of all the error messages it wraps.
|
||||
func (m HttpRuleMultiError) Error() string { |
||||
var msgs []string |
||||
for _, err := range m { |
||||
msgs = append(msgs, err.Error()) |
||||
} |
||||
return strings.Join(msgs, "; ") |
||||
} |
||||
|
||||
// AllErrors returns a list of validation violation errors.
|
||||
func (m HttpRuleMultiError) AllErrors() []error { return m } |
||||
|
||||
// HttpRuleValidationError is the validation error returned by
|
||||
// HttpRule.Validate if the designated constraints aren't met.
|
||||
type HttpRuleValidationError struct { |
||||
field string |
||||
reason string |
||||
cause error |
||||
key bool |
||||
} |
||||
|
||||
// Field function returns field value.
|
||||
func (e HttpRuleValidationError) Field() string { return e.field } |
||||
|
||||
// Reason function returns reason value.
|
||||
func (e HttpRuleValidationError) Reason() string { return e.reason } |
||||
|
||||
// Cause function returns cause value.
|
||||
func (e HttpRuleValidationError) Cause() error { return e.cause } |
||||
|
||||
// Key function returns key value.
|
||||
func (e HttpRuleValidationError) Key() bool { return e.key } |
||||
|
||||
// ErrorName returns error name.
|
||||
func (e HttpRuleValidationError) ErrorName() string { return "HttpRuleValidationError" } |
||||
|
||||
// Error satisfies the builtin error interface
|
||||
func (e HttpRuleValidationError) Error() string { |
||||
cause := "" |
||||
if e.cause != nil { |
||||
cause = fmt.Sprintf(" | caused by: %v", e.cause) |
||||
} |
||||
|
||||
key := "" |
||||
if e.key { |
||||
key = "key for " |
||||
} |
||||
|
||||
return fmt.Sprintf( |
||||
"invalid %sHttpRule.%s: %s%s", |
||||
key, |
||||
e.field, |
||||
e.reason, |
||||
cause) |
||||
} |
||||
|
||||
var _ error = HttpRuleValidationError{} |
||||
|
||||
var _ interface { |
||||
Field() string |
||||
Reason() string |
||||
Key() bool |
||||
Cause() error |
||||
ErrorName() string |
||||
} = HttpRuleValidationError{} |
||||
|
||||
// Validate checks the field values on CustomHttpPattern with the rules defined
|
||||
// in the proto definition for this message. If any rules are violated, the
|
||||
// first error encountered is returned, or nil if there are no violations.
|
||||
func (m *CustomHttpPattern) Validate() error { |
||||
return m.validate(false) |
||||
} |
||||
|
||||
// ValidateAll checks the field values on CustomHttpPattern with the rules
|
||||
// defined in the proto definition for this message. If any rules are
|
||||
// violated, the result is a list of violation errors wrapped in
|
||||
// CustomHttpPatternMultiError, or nil if none found.
|
||||
func (m *CustomHttpPattern) ValidateAll() error { |
||||
return m.validate(true) |
||||
} |
||||
|
||||
func (m *CustomHttpPattern) validate(all bool) error { |
||||
if m == nil { |
||||
return nil |
||||
} |
||||
|
||||
var errors []error |
||||
|
||||
// no validation rules for Kind
|
||||
|
||||
// no validation rules for Path
|
||||
|
||||
if len(errors) > 0 { |
||||
return CustomHttpPatternMultiError(errors) |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// CustomHttpPatternMultiError is an error wrapping multiple validation errors
|
||||
// returned by CustomHttpPattern.ValidateAll() if the designated constraints
|
||||
// aren't met.
|
||||
type CustomHttpPatternMultiError []error |
||||
|
||||
// Error returns a concatenation of all the error messages it wraps.
|
||||
func (m CustomHttpPatternMultiError) Error() string { |
||||
var msgs []string |
||||
for _, err := range m { |
||||
msgs = append(msgs, err.Error()) |
||||
} |
||||
return strings.Join(msgs, "; ") |
||||
} |
||||
|
||||
// AllErrors returns a list of validation violation errors.
|
||||
func (m CustomHttpPatternMultiError) AllErrors() []error { return m } |
||||
|
||||
// CustomHttpPatternValidationError is the validation error returned by
|
||||
// CustomHttpPattern.Validate if the designated constraints aren't met.
|
||||
type CustomHttpPatternValidationError struct { |
||||
field string |
||||
reason string |
||||
cause error |
||||
key bool |
||||
} |
||||
|
||||
// Field function returns field value.
|
||||
func (e CustomHttpPatternValidationError) Field() string { return e.field } |
||||
|
||||
// Reason function returns reason value.
|
||||
func (e CustomHttpPatternValidationError) Reason() string { return e.reason } |
||||
|
||||
// Cause function returns cause value.
|
||||
func (e CustomHttpPatternValidationError) Cause() error { return e.cause } |
||||
|
||||
// Key function returns key value.
|
||||
func (e CustomHttpPatternValidationError) Key() bool { return e.key } |
||||
|
||||
// ErrorName returns error name.
|
||||
func (e CustomHttpPatternValidationError) ErrorName() string { |
||||
return "CustomHttpPatternValidationError" |
||||
} |
||||
|
||||
// Error satisfies the builtin error interface
|
||||
func (e CustomHttpPatternValidationError) Error() string { |
||||
cause := "" |
||||
if e.cause != nil { |
||||
cause = fmt.Sprintf(" | caused by: %v", e.cause) |
||||
} |
||||
|
||||
key := "" |
||||
if e.key { |
||||
key = "key for " |
||||
} |
||||
|
||||
return fmt.Sprintf( |
||||
"invalid %sCustomHttpPattern.%s: %s%s", |
||||
key, |
||||
e.field, |
||||
e.reason, |
||||
cause) |
||||
} |
||||
|
||||
var _ error = CustomHttpPatternValidationError{} |
||||
|
||||
var _ interface { |
||||
Field() string |
||||
Reason() string |
||||
Key() bool |
||||
Cause() error |
||||
ErrorName() string |
||||
} = CustomHttpPatternValidationError{} |
@ -1,230 +0,0 @@ |
||||
// Copyright 2020 Google LLC
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.18.1
|
||||
// source: google/api/httpbody.proto
|
||||
|
||||
package httpbody |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
anypb "google.golang.org/protobuf/types/known/anypb" |
||||
reflect "reflect" |
||||
sync "sync" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
// Message that represents an arbitrary HTTP body. It should only be used for
|
||||
// payload formats that can't be represented as JSON, such as raw binary or
|
||||
// an HTML page.
|
||||
//
|
||||
// This message can be used both in streaming and non-streaming API methods in
|
||||
// the request as well as the response.
|
||||
//
|
||||
// It can be used as a top-level request field, which is convenient if one
|
||||
// wants to extract parameters from either the URL or HTTP template into the
|
||||
// request fields and also want access to the raw HTTP body.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// message GetResourceRequest {
|
||||
// // A unique request id.
|
||||
// string request_id = 1;
|
||||
//
|
||||
// // The raw HTTP body is bound to this field.
|
||||
// google.api.HttpBody http_body = 2;
|
||||
// }
|
||||
//
|
||||
// service ResourceService {
|
||||
// rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
|
||||
// rpc UpdateResource(google.api.HttpBody) returns
|
||||
// (google.protobuf.Empty);
|
||||
// }
|
||||
//
|
||||
// Example with streaming methods:
|
||||
//
|
||||
// service CaldavService {
|
||||
// rpc GetCalendar(stream google.api.HttpBody)
|
||||
// returns (stream google.api.HttpBody);
|
||||
// rpc UpdateCalendar(stream google.api.HttpBody)
|
||||
// returns (stream google.api.HttpBody);
|
||||
// }
|
||||
//
|
||||
// Use of this type only changes how the request and response bodies are
|
||||
// handled, all other features will continue to work unchanged.
|
||||
type HttpBody struct { |
||||
state protoimpl.MessageState |
||||
sizeCache protoimpl.SizeCache |
||||
unknownFields protoimpl.UnknownFields |
||||
|
||||
// The HTTP Content-Type header value specifying the content type of the body.
|
||||
ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"` |
||||
// The HTTP request/response body as raw binary.
|
||||
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` |
||||
// Application specific response metadata. Must be set in the first response
|
||||
// for streaming APIs.
|
||||
Extensions []*anypb.Any `protobuf:"bytes,3,rep,name=extensions,proto3" json:"extensions,omitempty"` |
||||
} |
||||
|
||||
func (x *HttpBody) Reset() { |
||||
*x = HttpBody{} |
||||
if protoimpl.UnsafeEnabled { |
||||
mi := &file_google_api_httpbody_proto_msgTypes[0] |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
} |
||||
|
||||
func (x *HttpBody) String() string { |
||||
return protoimpl.X.MessageStringOf(x) |
||||
} |
||||
|
||||
func (*HttpBody) ProtoMessage() {} |
||||
|
||||
func (x *HttpBody) ProtoReflect() protoreflect.Message { |
||||
mi := &file_google_api_httpbody_proto_msgTypes[0] |
||||
if protoimpl.UnsafeEnabled && x != nil { |
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
||||
if ms.LoadMessageInfo() == nil { |
||||
ms.StoreMessageInfo(mi) |
||||
} |
||||
return ms |
||||
} |
||||
return mi.MessageOf(x) |
||||
} |
||||
|
||||
// Deprecated: Use HttpBody.ProtoReflect.Descriptor instead.
|
||||
func (*HttpBody) Descriptor() ([]byte, []int) { |
||||
return file_google_api_httpbody_proto_rawDescGZIP(), []int{0} |
||||
} |
||||
|
||||
func (x *HttpBody) GetContentType() string { |
||||
if x != nil { |
||||
return x.ContentType |
||||
} |
||||
return "" |
||||
} |
||||
|
||||
func (x *HttpBody) GetData() []byte { |
||||
if x != nil { |
||||
return x.Data |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
func (x *HttpBody) GetExtensions() []*anypb.Any { |
||||
if x != nil { |
||||
return x.Extensions |
||||
} |
||||
return nil |
||||
} |
||||
|
||||
var File_google_api_httpbody_proto protoreflect.FileDescriptor |
||||
|
||||
var file_google_api_httpbody_proto_rawDesc = []byte{ |
||||
0x0a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, |
||||
0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, |
||||
0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, |
||||
0x74, 0x6f, 0x22, 0x77, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x21, |
||||
0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, |
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, |
||||
0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, |
||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, |
||||
0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, |
||||
0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x68, 0x0a, 0x0e, 0x63, |
||||
0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0d, 0x48, |
||||
0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, |
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, |
||||
0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
||||
0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, |
||||
0x64, 0x79, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0xf8, 0x01, 0x01, 0xa2, 0x02, |
||||
0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
||||
} |
||||
|
||||
var ( |
||||
file_google_api_httpbody_proto_rawDescOnce sync.Once |
||||
file_google_api_httpbody_proto_rawDescData = file_google_api_httpbody_proto_rawDesc |
||||
) |
||||
|
||||
func file_google_api_httpbody_proto_rawDescGZIP() []byte { |
||||
file_google_api_httpbody_proto_rawDescOnce.Do(func() { |
||||
file_google_api_httpbody_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_httpbody_proto_rawDescData) |
||||
}) |
||||
return file_google_api_httpbody_proto_rawDescData |
||||
} |
||||
|
||||
var file_google_api_httpbody_proto_msgTypes = make([]protoimpl.MessageInfo, 1) |
||||
var file_google_api_httpbody_proto_goTypes = []interface{}{ |
||||
(*HttpBody)(nil), // 0: google.api.HttpBody
|
||||
(*anypb.Any)(nil), // 1: google.protobuf.Any
|
||||
} |
||||
var file_google_api_httpbody_proto_depIdxs = []int32{ |
||||
1, // 0: google.api.HttpBody.extensions:type_name -> google.protobuf.Any
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_google_api_httpbody_proto_init() } |
||||
func file_google_api_httpbody_proto_init() { |
||||
if File_google_api_httpbody_proto != nil { |
||||
return |
||||
} |
||||
if !protoimpl.UnsafeEnabled { |
||||
file_google_api_httpbody_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
||||
switch v := v.(*HttpBody); i { |
||||
case 0: |
||||
return &v.state |
||||
case 1: |
||||
return &v.sizeCache |
||||
case 2: |
||||
return &v.unknownFields |
||||
default: |
||||
return nil |
||||
} |
||||
} |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_google_api_httpbody_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 1, |
||||
NumExtensions: 0, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_google_api_httpbody_proto_goTypes, |
||||
DependencyIndexes: file_google_api_httpbody_proto_depIdxs, |
||||
MessageInfos: file_google_api_httpbody_proto_msgTypes, |
||||
}.Build() |
||||
File_google_api_httpbody_proto = out.File |
||||
file_google_api_httpbody_proto_rawDesc = nil |
||||
file_google_api_httpbody_proto_goTypes = nil |
||||
file_google_api_httpbody_proto_depIdxs = nil |
||||
} |
@ -1,173 +0,0 @@ |
||||
// Code generated by protoc-gen-validate. DO NOT EDIT.
|
||||
// source: google/api/httpbody.proto
|
||||
|
||||
package httpbody |
||||
|
||||
import ( |
||||
"bytes" |
||||
"errors" |
||||
"fmt" |
||||
"net" |
||||
"net/mail" |
||||
"net/url" |
||||
"regexp" |
||||
"sort" |
||||
"strings" |
||||
"time" |
||||
"unicode/utf8" |
||||
|
||||
"google.golang.org/protobuf/types/known/anypb" |
||||
) |
||||
|
||||
// ensure the imports are used
|
||||
var ( |
||||
_ = bytes.MinRead |
||||
_ = errors.New("") |
||||
_ = fmt.Print |
||||
_ = utf8.UTFMax |
||||
_ = (*regexp.Regexp)(nil) |
||||
_ = (*strings.Reader)(nil) |
||||
_ = net.IPv4len |
||||
_ = time.Duration(0) |
||||
_ = (*url.URL)(nil) |
||||
_ = (*mail.Address)(nil) |
||||
_ = anypb.Any{} |
||||
_ = sort.Sort |
||||
) |
||||
|
||||
// Validate checks the field values on HttpBody with the rules defined in the
|
||||
// proto definition for this message. If any rules are violated, the first
|
||||
// error encountered is returned, or nil if there are no violations.
|
||||
func (m *HttpBody) Validate() error { |
||||
return m.validate(false) |
||||
} |
||||
|
||||
// ValidateAll checks the field values on HttpBody with the rules defined in
|
||||
// the proto definition for this message. If any rules are violated, the
|
||||
// result is a list of violation errors wrapped in HttpBodyMultiError, or nil
|
||||
// if none found.
|
||||
func (m *HttpBody) ValidateAll() error { |
||||
return m.validate(true) |
||||
} |
||||
|
||||
func (m *HttpBody) validate(all bool) error { |
||||
if m == nil { |
||||
return nil |
||||
} |
||||
|
||||
var errors []error |
||||
|
||||
// no validation rules for ContentType
|
||||
|
||||
// no validation rules for Data
|
||||
|
||||
for idx, item := range m.GetExtensions() { |
||||
_, _ = idx, item |
||||
|
||||
if all { |
||||
switch v := interface{}(item).(type) { |
||||
case interface{ ValidateAll() error }: |
||||
if err := v.ValidateAll(); err != nil { |
||||
errors = append(errors, HttpBodyValidationError{ |
||||
field: fmt.Sprintf("Extensions[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
case interface{ Validate() error }: |
||||
if err := v.Validate(); err != nil { |
||||
errors = append(errors, HttpBodyValidationError{ |
||||
field: fmt.Sprintf("Extensions[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
}) |
||||
} |
||||
} |
||||
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok { |
||||
if err := v.Validate(); err != nil { |
||||
return HttpBodyValidationError{ |
||||
field: fmt.Sprintf("Extensions[%v]", idx), |
||||
reason: "embedded message failed validation", |
||||
cause: err, |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
if len(errors) > 0 { |
||||
return HttpBodyMultiError(errors) |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
|
||||
// HttpBodyMultiError is an error wrapping multiple validation errors returned
|
||||
// by HttpBody.ValidateAll() if the designated constraints aren't met.
|
||||
type HttpBodyMultiError []error |
||||
|
||||
// Error returns a concatenation of all the error messages it wraps.
|
||||
func (m HttpBodyMultiError) Error() string { |
||||
var msgs []string |
||||
for _, err := range m { |
||||
msgs = append(msgs, err.Error()) |
||||
} |
||||
return strings.Join(msgs, "; ") |
||||
} |
||||
|
||||
// AllErrors returns a list of validation violation errors.
|
||||
func (m HttpBodyMultiError) AllErrors() []error { return m } |
||||
|
||||
// HttpBodyValidationError is the validation error returned by
|
||||
// HttpBody.Validate if the designated constraints aren't met.
|
||||
type HttpBodyValidationError struct { |
||||
field string |
||||
reason string |
||||
cause error |
||||
key bool |
||||
} |
||||
|
||||
// Field function returns field value.
|
||||
func (e HttpBodyValidationError) Field() string { return e.field } |
||||
|
||||
// Reason function returns reason value.
|
||||
func (e HttpBodyValidationError) Reason() string { return e.reason } |
||||
|
||||
// Cause function returns cause value.
|
||||
func (e HttpBodyValidationError) Cause() error { return e.cause } |
||||
|
||||
// Key function returns key value.
|
||||
func (e HttpBodyValidationError) Key() bool { return e.key } |
||||
|
||||
// ErrorName returns error name.
|
||||
func (e HttpBodyValidationError) ErrorName() string { return "HttpBodyValidationError" } |
||||
|
||||
// Error satisfies the builtin error interface
|
||||
func (e HttpBodyValidationError) Error() string { |
||||
cause := "" |
||||
if e.cause != nil { |
||||
cause = fmt.Sprintf(" | caused by: %v", e.cause) |
||||
} |
||||
|
||||
key := "" |
||||
if e.key { |
||||
key = "key for " |
||||
} |
||||
|
||||
return fmt.Sprintf( |
||||
"invalid %sHttpBody.%s: %s%s", |
||||
key, |
||||
e.field, |
||||
e.reason, |
||||
cause) |
||||
} |
||||
|
||||
var _ error = HttpBodyValidationError{} |
||||
|
||||
var _ interface { |
||||
Field() string |
||||
Reason() string |
||||
Key() bool |
||||
Cause() error |
||||
ErrorName() string |
||||
} = HttpBodyValidationError{} |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,60 +0,0 @@ |
||||
package user |
||||
|
||||
import ( |
||||
"github.com/gin-gonic/gin" |
||||
"context" |
||||
"git.diulo.com/mogfee/kit/middleware" |
||||
"git.diulo.com/mogfee/kit/errors" |
||||
"git.diulo.com/mogfee/kit/response" |
||||
) |
||||
|
||||
func RegisterUserHandler(app *gin.Engine, srv UserServer, m ...middleware.Middleware) { |
||||
app.GET("/api/v1/user/list", httpListHandler(srv, m...)) |
||||
app.POST("/api/v1/user/login", httpLoginHandler(srv, m...)) |
||||
} |
||||
func httpListHandler(srv UserServer, m ...middleware.Middleware) func(c *gin.Context) { |
||||
return func(c *gin.Context) { |
||||
var post LoginRequest |
||||
resp := response.New(c) |
||||
if err := resp.BindQuery(&post); err != nil { |
||||
resp.Error(err) |
||||
return |
||||
} |
||||
h := func(ctx context.Context, a any) (any, error) { |
||||
return srv.List(ctx, a.(*LoginRequest)) |
||||
} |
||||
out, err := middleware.HttpMiddleware(c, h, m...)(c, &post) |
||||
if err != nil { |
||||
resp.Error(err) |
||||
} else { |
||||
if v, ok := out.(*LoginResponse); ok { |
||||
resp.Success(v) |
||||
} else { |
||||
resp.Error(errors.InternalServer("RESULT_TYPE_ERROR", "LoginResponse")) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
func httpLoginHandler(srv UserServer, m ...middleware.Middleware) func(c *gin.Context) { |
||||
return func(c *gin.Context) { |
||||
var post LoginRequest |
||||
resp := response.New(c) |
||||
if err := resp.BindJSON(&post); err != nil { |
||||
resp.Error(err) |
||||
return |
||||
} |
||||
h := func(ctx context.Context, a any) (any, error) { |
||||
return srv.Login(ctx, a.(*LoginRequest)) |
||||
} |
||||
out, err := middleware.HttpMiddleware(c, h, m...)(c, &post) |
||||
if err != nil { |
||||
resp.Error(err) |
||||
} else { |
||||
if v, ok := out.(*LoginResponse); ok { |
||||
resp.Success(v) |
||||
} else { |
||||
resp.Error(errors.InternalServer("RESULT_TYPE_ERROR", "LoginResponse")) |
||||
} |
||||
} |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@ |
||||
# protoc-gen-validate (PGV) |
||||
|
||||
* https://github.com/envoyproxy/protoc-gen-validate |
@ -1,863 +0,0 @@ |
||||
syntax = "proto2"; |
||||
package validate; |
||||
|
||||
option go_package = "github.com/envoyproxy/protoc-gen-validate/validate"; |
||||
option java_package = "io.envoyproxy.pgv.validate"; |
||||
|
||||
import "google/protobuf/descriptor.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
// Validation rules applied at the message level |
||||
extend google.protobuf.MessageOptions { |
||||
// Disabled nullifies any validation rules for this message, including any |
||||
// message fields associated with it that do support validation. |
||||
optional bool disabled = 1071; |
||||
// Ignore skips generation of validation methods for this message. |
||||
optional bool ignored = 1072; |
||||
} |
||||
|
||||
// Validation rules applied at the oneof level |
||||
extend google.protobuf.OneofOptions { |
||||
// Required ensures that exactly one the field options in a oneof is set; |
||||
// validation fails if no fields in the oneof are set. |
||||
optional bool required = 1071; |
||||
} |
||||
|
||||
// Validation rules applied at the field level |
||||
extend google.protobuf.FieldOptions { |
||||
// Rules specify the validations to be performed on this field. By default, |
||||
// no validation is performed against a field. |
||||
optional FieldRules rules = 1071; |
||||
} |
||||
|
||||
// FieldRules encapsulates the rules for each type of field. Depending on the |
||||
// field, the correct set should be used to ensure proper validations. |
||||
message FieldRules { |
||||
optional MessageRules message = 17; |
||||
oneof type { |
||||
// Scalar Field Types |
||||
FloatRules float = 1; |
||||
DoubleRules double = 2; |
||||
Int32Rules int32 = 3; |
||||
Int64Rules int64 = 4; |
||||
UInt32Rules uint32 = 5; |
||||
UInt64Rules uint64 = 6; |
||||
SInt32Rules sint32 = 7; |
||||
SInt64Rules sint64 = 8; |
||||
Fixed32Rules fixed32 = 9; |
||||
Fixed64Rules fixed64 = 10; |
||||
SFixed32Rules sfixed32 = 11; |
||||
SFixed64Rules sfixed64 = 12; |
||||
BoolRules bool = 13; |
||||
StringRules string = 14; |
||||
BytesRules bytes = 15; |
||||
|
||||
// Complex Field Types |
||||
EnumRules enum = 16; |
||||
RepeatedRules repeated = 18; |
||||
MapRules map = 19; |
||||
|
||||
// Well-Known Field Types |
||||
AnyRules any = 20; |
||||
DurationRules duration = 21; |
||||
TimestampRules timestamp = 22; |
||||
} |
||||
} |
||||
|
||||
// FloatRules describes the constraints applied to `float` values |
||||
message FloatRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional float const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional float lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional float lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional float gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional float gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated float in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated float not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// DoubleRules describes the constraints applied to `double` values |
||||
message DoubleRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional double const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional double lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional double lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional double gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional double gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated double in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated double not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// Int32Rules describes the constraints applied to `int32` values |
||||
message Int32Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional int32 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional int32 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional int32 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional int32 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional int32 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated int32 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated int32 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// Int64Rules describes the constraints applied to `int64` values |
||||
message Int64Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional int64 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional int64 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional int64 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional int64 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional int64 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated int64 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated int64 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// UInt32Rules describes the constraints applied to `uint32` values |
||||
message UInt32Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional uint32 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional uint32 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional uint32 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional uint32 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional uint32 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated uint32 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated uint32 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// UInt64Rules describes the constraints applied to `uint64` values |
||||
message UInt64Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional uint64 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional uint64 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional uint64 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional uint64 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional uint64 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated uint64 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated uint64 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// SInt32Rules describes the constraints applied to `sint32` values |
||||
message SInt32Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional sint32 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional sint32 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional sint32 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional sint32 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional sint32 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated sint32 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated sint32 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// SInt64Rules describes the constraints applied to `sint64` values |
||||
message SInt64Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional sint64 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional sint64 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional sint64 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional sint64 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional sint64 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated sint64 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated sint64 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// Fixed32Rules describes the constraints applied to `fixed32` values |
||||
message Fixed32Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional fixed32 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional fixed32 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional fixed32 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional fixed32 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional fixed32 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated fixed32 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated fixed32 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// Fixed64Rules describes the constraints applied to `fixed64` values |
||||
message Fixed64Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional fixed64 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional fixed64 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional fixed64 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional fixed64 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional fixed64 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated fixed64 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated fixed64 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// SFixed32Rules describes the constraints applied to `sfixed32` values |
||||
message SFixed32Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional sfixed32 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional sfixed32 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional sfixed32 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional sfixed32 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional sfixed32 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated sfixed32 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated sfixed32 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// SFixed64Rules describes the constraints applied to `sfixed64` values |
||||
message SFixed64Rules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional sfixed64 const = 1; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional sfixed64 lt = 2; |
||||
|
||||
// Lte specifies that this field must be less than or equal to the |
||||
// specified value, inclusive |
||||
optional sfixed64 lte = 3; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive. If the value of Gt is larger than a specified Lt or Lte, the |
||||
// range is reversed. |
||||
optional sfixed64 gt = 4; |
||||
|
||||
// Gte specifies that this field must be greater than or equal to the |
||||
// specified value, inclusive. If the value of Gte is larger than a |
||||
// specified Lt or Lte, the range is reversed. |
||||
optional sfixed64 gte = 5; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated sfixed64 in = 6; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated sfixed64 not_in = 7; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 8; |
||||
} |
||||
|
||||
// BoolRules describes the constraints applied to `bool` values |
||||
message BoolRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional bool const = 1; |
||||
} |
||||
|
||||
// StringRules describe the constraints applied to `string` values |
||||
message StringRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional string const = 1; |
||||
|
||||
// Len specifies that this field must be the specified number of |
||||
// characters (Unicode code points). Note that the number of |
||||
// characters may differ from the number of bytes in the string. |
||||
optional uint64 len = 19; |
||||
|
||||
// MinLen specifies that this field must be the specified number of |
||||
// characters (Unicode code points) at a minimum. Note that the number of |
||||
// characters may differ from the number of bytes in the string. |
||||
optional uint64 min_len = 2; |
||||
|
||||
// MaxLen specifies that this field must be the specified number of |
||||
// characters (Unicode code points) at a maximum. Note that the number of |
||||
// characters may differ from the number of bytes in the string. |
||||
optional uint64 max_len = 3; |
||||
|
||||
// LenBytes specifies that this field must be the specified number of bytes |
||||
// at a minimum |
||||
optional uint64 len_bytes = 20; |
||||
|
||||
// MinBytes specifies that this field must be the specified number of bytes |
||||
// at a minimum |
||||
optional uint64 min_bytes = 4; |
||||
|
||||
// MaxBytes specifies that this field must be the specified number of bytes |
||||
// at a maximum |
||||
optional uint64 max_bytes = 5; |
||||
|
||||
// Pattern specifes that this field must match against the specified |
||||
// regular expression (RE2 syntax). The included expression should elide |
||||
// any delimiters. |
||||
optional string pattern = 6; |
||||
|
||||
// Prefix specifies that this field must have the specified substring at |
||||
// the beginning of the string. |
||||
optional string prefix = 7; |
||||
|
||||
// Suffix specifies that this field must have the specified substring at |
||||
// the end of the string. |
||||
optional string suffix = 8; |
||||
|
||||
// Contains specifies that this field must have the specified substring |
||||
// anywhere in the string. |
||||
optional string contains = 9; |
||||
|
||||
// NotContains specifies that this field cannot have the specified substring |
||||
// anywhere in the string. |
||||
optional string not_contains = 23; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated string in = 10; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated string not_in = 11; |
||||
|
||||
// WellKnown rules provide advanced constraints against common string |
||||
// patterns |
||||
oneof well_known { |
||||
// Email specifies that the field must be a valid email address as |
||||
// defined by RFC 5322 |
||||
bool email = 12; |
||||
|
||||
// Hostname specifies that the field must be a valid hostname as |
||||
// defined by RFC 1034. This constraint does not support |
||||
// internationalized domain names (IDNs). |
||||
bool hostname = 13; |
||||
|
||||
// Ip specifies that the field must be a valid IP (v4 or v6) address. |
||||
// Valid IPv6 addresses should not include surrounding square brackets. |
||||
bool ip = 14; |
||||
|
||||
// Ipv4 specifies that the field must be a valid IPv4 address. |
||||
bool ipv4 = 15; |
||||
|
||||
// Ipv6 specifies that the field must be a valid IPv6 address. Valid |
||||
// IPv6 addresses should not include surrounding square brackets. |
||||
bool ipv6 = 16; |
||||
|
||||
// Uri specifies that the field must be a valid, absolute URI as defined |
||||
// by RFC 3986 |
||||
bool uri = 17; |
||||
|
||||
// UriRef specifies that the field must be a valid URI as defined by RFC |
||||
// 3986 and may be relative or absolute. |
||||
bool uri_ref = 18; |
||||
|
||||
// Address specifies that the field must be either a valid hostname as |
||||
// defined by RFC 1034 (which does not support internationalized domain |
||||
// names or IDNs), or it can be a valid IP (v4 or v6). |
||||
bool address = 21; |
||||
|
||||
// Uuid specifies that the field must be a valid UUID as defined by |
||||
// RFC 4122 |
||||
bool uuid = 22; |
||||
|
||||
// WellKnownRegex specifies a common well known pattern defined as a regex. |
||||
KnownRegex well_known_regex = 24; |
||||
} |
||||
|
||||
// This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable |
||||
// strict header validation. |
||||
// By default, this is true, and HTTP header validations are RFC-compliant. |
||||
// Setting to false will enable a looser validations that only disallows |
||||
// \r\n\0 characters, which can be used to bypass header matching rules. |
||||
optional bool strict = 25 [default = true]; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 26; |
||||
} |
||||
|
||||
// WellKnownRegex contain some well-known patterns. |
||||
enum KnownRegex { |
||||
UNKNOWN = 0; |
||||
|
||||
// HTTP header name as defined by RFC 7230. |
||||
HTTP_HEADER_NAME = 1; |
||||
|
||||
// HTTP header value as defined by RFC 7230. |
||||
HTTP_HEADER_VALUE = 2; |
||||
} |
||||
|
||||
// BytesRules describe the constraints applied to `bytes` values |
||||
message BytesRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional bytes const = 1; |
||||
|
||||
// Len specifies that this field must be the specified number of bytes |
||||
optional uint64 len = 13; |
||||
|
||||
// MinLen specifies that this field must be the specified number of bytes |
||||
// at a minimum |
||||
optional uint64 min_len = 2; |
||||
|
||||
// MaxLen specifies that this field must be the specified number of bytes |
||||
// at a maximum |
||||
optional uint64 max_len = 3; |
||||
|
||||
// Pattern specifes that this field must match against the specified |
||||
// regular expression (RE2 syntax). The included expression should elide |
||||
// any delimiters. |
||||
optional string pattern = 4; |
||||
|
||||
// Prefix specifies that this field must have the specified bytes at the |
||||
// beginning of the string. |
||||
optional bytes prefix = 5; |
||||
|
||||
// Suffix specifies that this field must have the specified bytes at the |
||||
// end of the string. |
||||
optional bytes suffix = 6; |
||||
|
||||
// Contains specifies that this field must have the specified bytes |
||||
// anywhere in the string. |
||||
optional bytes contains = 7; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated bytes in = 8; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated bytes not_in = 9; |
||||
|
||||
// WellKnown rules provide advanced constraints against common byte |
||||
// patterns |
||||
oneof well_known { |
||||
// Ip specifies that the field must be a valid IP (v4 or v6) address in |
||||
// byte format |
||||
bool ip = 10; |
||||
|
||||
// Ipv4 specifies that the field must be a valid IPv4 address in byte |
||||
// format |
||||
bool ipv4 = 11; |
||||
|
||||
// Ipv6 specifies that the field must be a valid IPv6 address in byte |
||||
// format |
||||
bool ipv6 = 12; |
||||
} |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 14; |
||||
} |
||||
|
||||
// EnumRules describe the constraints applied to enum values |
||||
message EnumRules { |
||||
// Const specifies that this field must be exactly the specified value |
||||
optional int32 const = 1; |
||||
|
||||
// DefinedOnly specifies that this field must be only one of the defined |
||||
// values for this enum, failing on any undefined value. |
||||
optional bool defined_only = 2; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated int32 in = 3; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated int32 not_in = 4; |
||||
} |
||||
|
||||
// MessageRules describe the constraints applied to embedded message values. |
||||
// For message-type fields, validation is performed recursively. |
||||
message MessageRules { |
||||
// Skip specifies that the validation rules of this field should not be |
||||
// evaluated |
||||
optional bool skip = 1; |
||||
|
||||
// Required specifies that this field must be set |
||||
optional bool required = 2; |
||||
} |
||||
|
||||
// RepeatedRules describe the constraints applied to `repeated` values |
||||
message RepeatedRules { |
||||
// MinItems specifies that this field must have the specified number of |
||||
// items at a minimum |
||||
optional uint64 min_items = 1; |
||||
|
||||
// MaxItems specifies that this field must have the specified number of |
||||
// items at a maximum |
||||
optional uint64 max_items = 2; |
||||
|
||||
// Unique specifies that all elements in this field must be unique. This |
||||
// constraint is only applicable to scalar and enum types (messages are not |
||||
// supported). |
||||
optional bool unique = 3; |
||||
|
||||
// Items specifies the constraints to be applied to each item in the field. |
||||
// Repeated message fields will still execute validation against each item |
||||
// unless skip is specified here. |
||||
optional FieldRules items = 4; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 5; |
||||
} |
||||
|
||||
// MapRules describe the constraints applied to `map` values |
||||
message MapRules { |
||||
// MinPairs specifies that this field must have the specified number of |
||||
// KVs at a minimum |
||||
optional uint64 min_pairs = 1; |
||||
|
||||
// MaxPairs specifies that this field must have the specified number of |
||||
// KVs at a maximum |
||||
optional uint64 max_pairs = 2; |
||||
|
||||
// NoSparse specifies values in this field cannot be unset. This only |
||||
// applies to map's with message value types. |
||||
optional bool no_sparse = 3; |
||||
|
||||
// Keys specifies the constraints to be applied to each key in the field. |
||||
optional FieldRules keys = 4; |
||||
|
||||
// Values specifies the constraints to be applied to the value of each key |
||||
// in the field. Message values will still have their validations evaluated |
||||
// unless skip is specified here. |
||||
optional FieldRules values = 5; |
||||
|
||||
// IgnoreEmpty specifies that the validation rules of this field should be |
||||
// evaluated only if the field is not empty |
||||
optional bool ignore_empty = 6; |
||||
} |
||||
|
||||
// AnyRules describe constraints applied exclusively to the |
||||
// `google.protobuf.Any` well-known type |
||||
message AnyRules { |
||||
// Required specifies that this field must be set |
||||
optional bool required = 1; |
||||
|
||||
// In specifies that this field's `type_url` must be equal to one of the |
||||
// specified values. |
||||
repeated string in = 2; |
||||
|
||||
// NotIn specifies that this field's `type_url` must not be equal to any of |
||||
// the specified values. |
||||
repeated string not_in = 3; |
||||
} |
||||
|
||||
// DurationRules describe the constraints applied exclusively to the |
||||
// `google.protobuf.Duration` well-known type |
||||
message DurationRules { |
||||
// Required specifies that this field must be set |
||||
optional bool required = 1; |
||||
|
||||
// Const specifies that this field must be exactly the specified value |
||||
optional google.protobuf.Duration const = 2; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional google.protobuf.Duration lt = 3; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// inclusive |
||||
optional google.protobuf.Duration lte = 4; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive |
||||
optional google.protobuf.Duration gt = 5; |
||||
|
||||
// Gte specifies that this field must be greater than the specified value, |
||||
// inclusive |
||||
optional google.protobuf.Duration gte = 6; |
||||
|
||||
// In specifies that this field must be equal to one of the specified |
||||
// values |
||||
repeated google.protobuf.Duration in = 7; |
||||
|
||||
// NotIn specifies that this field cannot be equal to one of the specified |
||||
// values |
||||
repeated google.protobuf.Duration not_in = 8; |
||||
} |
||||
|
||||
// TimestampRules describe the constraints applied exclusively to the |
||||
// `google.protobuf.Timestamp` well-known type |
||||
message TimestampRules { |
||||
// Required specifies that this field must be set |
||||
optional bool required = 1; |
||||
|
||||
// Const specifies that this field must be exactly the specified value |
||||
optional google.protobuf.Timestamp const = 2; |
||||
|
||||
// Lt specifies that this field must be less than the specified value, |
||||
// exclusive |
||||
optional google.protobuf.Timestamp lt = 3; |
||||
|
||||
// Lte specifies that this field must be less than the specified value, |
||||
// inclusive |
||||
optional google.protobuf.Timestamp lte = 4; |
||||
|
||||
// Gt specifies that this field must be greater than the specified value, |
||||
// exclusive |
||||
optional google.protobuf.Timestamp gt = 5; |
||||
|
||||
// Gte specifies that this field must be greater than the specified value, |
||||
// inclusive |
||||
optional google.protobuf.Timestamp gte = 6; |
||||
|
||||
// LtNow specifies that this must be less than the current time. LtNow |
||||
// can only be used with the Within rule. |
||||
optional bool lt_now = 7; |
||||
|
||||
// GtNow specifies that this must be greater than the current time. GtNow |
||||
// can only be used with the Within rule. |
||||
optional bool gt_now = 8; |
||||
|
||||
// Within specifies that this field must be within this duration of the |
||||
// current time. This constraint can be used alone or with the LtNow and |
||||
// GtNow rules. |
||||
optional google.protobuf.Duration within = 9; |
||||
} |
@ -0,0 +1,91 @@ |
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.28.1
|
||||
// protoc v3.17.3
|
||||
// source: third_party/auth/auth.proto
|
||||
|
||||
package auth |
||||
|
||||
import ( |
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
||||
descriptorpb "google.golang.org/protobuf/types/descriptorpb" |
||||
reflect "reflect" |
||||
) |
||||
|
||||
const ( |
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
||||
) |
||||
|
||||
var file_third_party_auth_auth_proto_extTypes = []protoimpl.ExtensionInfo{ |
||||
{ |
||||
ExtendedType: (*descriptorpb.MethodOptions)(nil), |
||||
ExtensionType: (*string)(nil), |
||||
Field: 1111, |
||||
Name: "auth.auth_key", |
||||
Tag: "bytes,1111,opt,name=auth_key", |
||||
Filename: "third_party/auth/auth.proto", |
||||
}, |
||||
} |
||||
|
||||
// Extension fields to descriptorpb.MethodOptions.
|
||||
var ( |
||||
// optional string auth_key = 1111;
|
||||
E_AuthKey = &file_third_party_auth_auth_proto_extTypes[0] |
||||
) |
||||
|
||||
var File_third_party_auth_auth_proto protoreflect.FileDescriptor |
||||
|
||||
var file_third_party_auth_auth_proto_rawDesc = []byte{ |
||||
0x0a, 0x1b, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x2f, 0x61, 0x75, |
||||
0x74, 0x68, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04, 0x61, |
||||
0x75, 0x74, 0x68, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, |
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x3a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6b, 0x65, |
||||
0x79, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
||||
0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, |
||||
0x73, 0x18, 0xd7, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, |
||||
0x79, 0x42, 0x17, 0x5a, 0x15, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, |
||||
0x2f, 0x61, 0x75, 0x74, 0x68, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, |
||||
0x6f, 0x33, |
||||
} |
||||
|
||||
var file_third_party_auth_auth_proto_goTypes = []interface{}{ |
||||
(*descriptorpb.MethodOptions)(nil), // 0: google.protobuf.MethodOptions
|
||||
} |
||||
var file_third_party_auth_auth_proto_depIdxs = []int32{ |
||||
0, // 0: auth.auth_key:extendee -> google.protobuf.MethodOptions
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
0, // [0:1] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
} |
||||
|
||||
func init() { file_third_party_auth_auth_proto_init() } |
||||
func file_third_party_auth_auth_proto_init() { |
||||
if File_third_party_auth_auth_proto != nil { |
||||
return |
||||
} |
||||
type x struct{} |
||||
out := protoimpl.TypeBuilder{ |
||||
File: protoimpl.DescBuilder{ |
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
||||
RawDescriptor: file_third_party_auth_auth_proto_rawDesc, |
||||
NumEnums: 0, |
||||
NumMessages: 0, |
||||
NumExtensions: 1, |
||||
NumServices: 0, |
||||
}, |
||||
GoTypes: file_third_party_auth_auth_proto_goTypes, |
||||
DependencyIndexes: file_third_party_auth_auth_proto_depIdxs, |
||||
ExtensionInfos: file_third_party_auth_auth_proto_extTypes, |
||||
}.Build() |
||||
File_third_party_auth_auth_proto = out.File |
||||
file_third_party_auth_auth_proto_rawDesc = nil |
||||
file_third_party_auth_auth_proto_goTypes = nil |
||||
file_third_party_auth_auth_proto_depIdxs = nil |
||||
} |
@ -0,0 +1,9 @@ |
||||
syntax = "proto3"; |
||||
package auth; |
||||
option go_package = "third_party/auth;auth"; |
||||
|
||||
import "google/protobuf/descriptor.proto"; |
||||
|
||||
extend google.protobuf.MethodOptions{ |
||||
string auth_key = 1111; |
||||
} |
Loading…
Reference in new issue