1// Copyright 2022 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.rpc; 18 19option go_package = "google.golang.org/genproto/googleapis/rpc/http;http"; 20option java_multiple_files = true; 21option java_outer_classname = "HttpProto"; 22option java_package = "com.google.rpc"; 23option objc_class_prefix = "RPC"; 24 25// Represents an HTTP request. 26message HttpRequest { 27 // The HTTP request method. 28 string method = 1; 29 30 // The HTTP request URI. 31 string uri = 2; 32 33 // The HTTP request headers. The ordering of the headers is significant. 34 // Multiple headers with the same key may present for the request. 35 repeated HttpHeader headers = 3; 36 37 // The HTTP request body. If the body is not expected, it should be empty. 38 bytes body = 4; 39} 40 41// Represents an HTTP response. 42message HttpResponse { 43 // The HTTP status code, such as 200 or 404. 44 int32 status = 1; 45 46 // The HTTP reason phrase, such as "OK" or "Not Found". 47 string reason = 2; 48 49 // The HTTP response headers. The ordering of the headers is significant. 50 // Multiple headers with the same key may present for the response. 51 repeated HttpHeader headers = 3; 52 53 // The HTTP response body. If the body is not expected, it should be empty. 54 bytes body = 4; 55} 56 57// Represents an HTTP header. 58message HttpHeader { 59 // The HTTP header key. It is case insensitive. 60 string key = 1; 61 62 // The HTTP header value. 63 string value = 2; 64} 65