aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Protos/objc/google/api/HTTP.pbobjc.h
diff options
context:
space:
mode:
Diffstat (limited to 'Firestore/Protos/objc/google/api/HTTP.pbobjc.h')
-rw-r--r--Firestore/Protos/objc/google/api/HTTP.pbobjc.h406
1 files changed, 406 insertions, 0 deletions
diff --git a/Firestore/Protos/objc/google/api/HTTP.pbobjc.h b/Firestore/Protos/objc/google/api/HTTP.pbobjc.h
new file mode 100644
index 0000000..9cc00dc
--- /dev/null
+++ b/Firestore/Protos/objc/google/api/HTTP.pbobjc.h
@@ -0,0 +1,406 @@
+/*
+ * Copyright 2017 Google
+ *
+ * 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.
+ */
+
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/api/http.proto
+
+// This CPP symbol can be defined to use imports that match up to the framework
+// imports needed when using CocoaPods.
+#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
+ #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
+#endif
+
+#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
+ #import <Protobuf/GPBProtocolBuffers.h>
+#else
+ #import "GPBProtocolBuffers.h"
+#endif
+
+#if GOOGLE_PROTOBUF_OBJC_VERSION < 30002
+#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
+#endif
+#if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
+#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
+#endif
+
+// @@protoc_insertion_point(imports)
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
+CF_EXTERN_C_BEGIN
+
+@class GAPICustomHttpPattern;
+@class GAPIHttpRule;
+
+NS_ASSUME_NONNULL_BEGIN
+
+#pragma mark - GAPIHTTPRoot
+
+/**
+ * Exposes the extension registry for this file.
+ *
+ * The base class provides:
+ * @code
+ * + (GPBExtensionRegistry *)extensionRegistry;
+ * @endcode
+ * which is a @c GPBExtensionRegistry that includes all the extensions defined by
+ * this file and all files that it depends on.
+ **/
+@interface GAPIHTTPRoot : GPBRootObject
+@end
+
+#pragma mark - GAPIHttp
+
+typedef GPB_ENUM(GAPIHttp_FieldNumber) {
+ GAPIHttp_FieldNumber_RulesArray = 1,
+};
+
+/**
+ * Defines the HTTP configuration for a 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.
+ **/
+@interface GAPIHttp : GPBMessage
+
+/**
+ * A list of HTTP configuration rules that apply to individual API methods.
+ *
+ * **NOTE:** All service configuration rules follow "last one wins" order.
+ **/
+@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GAPIHttpRule*> *rulesArray;
+/** The number of items in @c rulesArray without causing the array to be created. */
+@property(nonatomic, readonly) NSUInteger rulesArray_Count;
+
+@end
+
+#pragma mark - GAPIHttpRule
+
+typedef GPB_ENUM(GAPIHttpRule_FieldNumber) {
+ GAPIHttpRule_FieldNumber_Selector = 1,
+ GAPIHttpRule_FieldNumber_Get = 2,
+ GAPIHttpRule_FieldNumber_Put = 3,
+ GAPIHttpRule_FieldNumber_Post = 4,
+ GAPIHttpRule_FieldNumber_Delete_p = 5,
+ GAPIHttpRule_FieldNumber_Patch = 6,
+ GAPIHttpRule_FieldNumber_Body = 7,
+ GAPIHttpRule_FieldNumber_Custom = 8,
+ GAPIHttpRule_FieldNumber_AdditionalBindingsArray = 11,
+};
+
+typedef GPB_ENUM(GAPIHttpRule_Pattern_OneOfCase) {
+ GAPIHttpRule_Pattern_OneOfCase_GPBUnsetOneOfCase = 0,
+ GAPIHttpRule_Pattern_OneOfCase_Get = 2,
+ GAPIHttpRule_Pattern_OneOfCase_Put = 3,
+ GAPIHttpRule_Pattern_OneOfCase_Post = 4,
+ GAPIHttpRule_Pattern_OneOfCase_Delete_p = 5,
+ GAPIHttpRule_Pattern_OneOfCase_Patch = 6,
+ GAPIHttpRule_Pattern_OneOfCase_Custom = 8,
+};
+
+/**
+ * `HttpRule` defines the mapping of an RPC method to one or more HTTP
+ * REST APIs. The mapping determines what portions of the request
+ * message are populated from the path, query parameters, or body of
+ * the HTTP request. The mapping is typically specified as an
+ * `google.api.http` annotation, see "google/api/annotations.proto"
+ * for details.
+ *
+ * The mapping consists of a field specifying the path template and
+ * method kind. The path template can refer to fields in the request
+ * message, as in the example below which describes a REST GET
+ * operation on a resource collection of messages:
+ *
+ *
+ * service Messaging {
+ * rpc GetMessage(GetMessageRequest) returns (Message) {
+ * option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ * }
+ * }
+ * message GetMessageRequest {
+ * message SubMessage {
+ * string subfield = 1;
+ * }
+ * string message_id = 1; // mapped to the URL
+ * SubMessage sub = 2; // `sub.subfield` is url-mapped
+ * }
+ * message Message {
+ * string text = 1; // content of the resource
+ * }
+ *
+ * The same http annotation can alternatively be expressed inside the
+ * `GRPC API Configuration` YAML file.
+ *
+ * http:
+ * rules:
+ * - selector: <proto_package_name>.Messaging.GetMessage
+ * get: /v1/messages/{message_id}/{sub.subfield}
+ *
+ * This definition enables an automatic, bidrectional mapping of HTTP
+ * JSON to RPC. Example:
+ *
+ * HTTP | RPC
+ * -----|-----
+ * `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
+ *
+ * In general, not only fields but also field paths can be referenced
+ * from a path pattern. Fields mapped to the path pattern cannot be
+ * repeated and must have a primitive (non-message) type.
+ *
+ * Any fields in the request message which are not bound by the path
+ * pattern automatically become (optional) HTTP query
+ * parameters. Assume the following definition of the request message:
+ *
+ *
+ * message GetMessageRequest {
+ * message SubMessage {
+ * string subfield = 1;
+ * }
+ * string message_id = 1; // mapped to the URL
+ * int64 revision = 2; // becomes a parameter
+ * SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ * }
+ *
+ *
+ * This enables a HTTP JSON to RPC mapping as below:
+ *
+ * HTTP | RPC
+ * -----|-----
+ * `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 HTTP parameters must have a
+ * primitive type or a repeated primitive type. Message types are not
+ * allowed. In the case of a repeated type, the parameter can be
+ * repeated in the URL, as in `...?param=A&param=B`.
+ *
+ * For HTTP method kinds which 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) = {
+ * put: "/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 | RPC
+ * -----|-----
+ * `PUT /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) = {
+ * put: "/v1/messages/{message_id}"
+ * body: "*"
+ * };
+ * }
+ * }
+ * message Message {
+ * string message_id = 1;
+ * string text = 2;
+ * }
+ *
+ *
+ * The following HTTP JSON to RPC mapping is enabled:
+ *
+ * HTTP | RPC
+ * -----|-----
+ * `PUT /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 of
+ * 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 | RPC
+ * -----|-----
+ * `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
+ *
+ * The rules for mapping HTTP path, query parameters, and body fields
+ * to the request message are as follows:
+ *
+ * 1. The `body` field specifies either `*` or a field path, or is
+ * omitted. If omitted, it assumes there is no HTTP body.
+ * 2. Leaf fields (recursive expansion of nested messages in the
+ * request) can be classified into three types:
+ * (a) Matched in the URL template.
+ * (b) Covered by body (if body is `*`, everything except (a) fields;
+ * else everything under the body field)
+ * (c) All other fields.
+ * 3. URL query parameters found in the HTTP request are mapped to (c) fields.
+ * 4. Any body sent with an HTTP request can contain only (b) fields.
+ *
+ * The syntax of the path template is as follows:
+ *
+ * Template = "/" Segments [ Verb ] ;
+ * Segments = Segment { "/" Segment } ;
+ * Segment = "*" | "**" | LITERAL | Variable ;
+ * Variable = "{" FieldPath [ "=" Segments ] "}" ;
+ * FieldPath = IDENT { "." IDENT } ;
+ * Verb = ":" LITERAL ;
+ *
+ * The syntax `*` matches a single path segment. It follows the semantics of
+ * [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
+ * Expansion.
+ *
+ * The syntax `**` matches zero or more path segments. It follows the semantics
+ * of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
+ * Expansion. NOTE: it must be the last segment in the path except the Verb.
+ *
+ * The syntax `LITERAL` matches literal text in the URL path.
+ *
+ * The syntax `Variable` matches the entire path as specified by its template;
+ * this nested template must not contain further variables. If a variable
+ * matches a single path segment, its template may be omitted, e.g. `{var}`
+ * is equivalent to `{var=*}`.
+ *
+ * NOTE: the field paths in variables and in the `body` must not refer to
+ * repeated fields or map fields.
+ *
+ * Use CustomHttpPattern to specify any HTTP method that is not included in the
+ * `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified for
+ * a given URL path rule. The wild-card rule is useful for services that provide
+ * content to Web (HTML) clients.
+ **/
+@interface GAPIHttpRule : GPBMessage
+
+/**
+ * Selects methods to which this rule applies.
+ *
+ * Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
+ **/
+@property(nonatomic, readwrite, copy, null_resettable) NSString *selector;
+
+/**
+ * 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.
+ **/
+@property(nonatomic, readonly) GAPIHttpRule_Pattern_OneOfCase patternOneOfCase;
+
+/** Used for listing and getting information about resources. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *get;
+
+/** Used for updating a resource. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *put;
+
+/** Used for creating a resource. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *post;
+
+/** Used for deleting a resource. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *delete_p;
+
+/** Used for updating a resource. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *patch;
+
+/** Custom pattern is used for defining custom verbs. */
+@property(nonatomic, readwrite, strong, null_resettable) GAPICustomHttpPattern *custom;
+
+/**
+ * The name of the request field whose value is mapped to the HTTP body, or
+ * `*` for mapping all fields not captured by the path pattern to the HTTP
+ * body. NOTE: the referred field must not be a repeated field and must be
+ * present at the top-level of request message type.
+ **/
+@property(nonatomic, readwrite, copy, null_resettable) NSString *body;
+
+/**
+ * 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).
+ **/
+@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GAPIHttpRule*> *additionalBindingsArray;
+/** The number of items in @c additionalBindingsArray without causing the array to be created. */
+@property(nonatomic, readonly) NSUInteger additionalBindingsArray_Count;
+
+@end
+
+/**
+ * Clears whatever value was set for the oneof 'pattern'.
+ **/
+void GAPIHttpRule_ClearPatternOneOfCase(GAPIHttpRule *message);
+
+#pragma mark - GAPICustomHttpPattern
+
+typedef GPB_ENUM(GAPICustomHttpPattern_FieldNumber) {
+ GAPICustomHttpPattern_FieldNumber_Kind = 1,
+ GAPICustomHttpPattern_FieldNumber_Path = 2,
+};
+
+/**
+ * A custom pattern is used for defining custom HTTP verb.
+ **/
+@interface GAPICustomHttpPattern : GPBMessage
+
+/** The name of this custom HTTP verb. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *kind;
+
+/** The path matched by this custom verb. */
+@property(nonatomic, readwrite, copy, null_resettable) NSString *path;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+CF_EXTERN_C_END
+
+#pragma clang diagnostic pop
+
+// @@protoc_insertion_point(global_scope)