|  | // Copyright 2017 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; | 
|  |  | 
|  | 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 string representing the content type of the body. | 
|  | string content_type = 1; | 
|  |  | 
|  | // HTTP body binary data. | 
|  | bytes data = 2; | 
|  | } |