xref: /aosp_15_r20/external/grpc-grpc/src/proto/grpc/testing/istio_echo.proto (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1// Copyright 2022 gRPC authors.
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
17import "google/protobuf/wrappers.proto";
18
19package proto;
20
21service EchoTestService {
22  rpc Echo (EchoRequest) returns (EchoResponse);
23  rpc ForwardEcho (ForwardEchoRequest) returns (ForwardEchoResponse);
24}
25
26message EchoRequest {
27  string message = 1;
28}
29
30message EchoResponse {
31  string message = 1;
32}
33
34message Header {
35  string key = 1;
36  string value = 2;
37}
38
39message ForwardEchoRequest {
40  int32 count = 1;
41  int32 qps = 2;
42  int64 timeout_micros = 3;
43  string url = 4;
44  repeated Header headers = 5;
45  string message = 6;
46  // Method for the request. Valid only for HTTP
47  string method = 9;
48  // If true, requests will be sent using h2c prior knowledge
49  bool http2 = 7;
50  // If true, requests will be sent using http3
51  bool http3 = 15;
52  // If true, requests will not be sent until magic string is received
53  bool serverFirst = 8;
54  // If true, 301 redirects will be followed
55  bool followRedirects = 14;
56  // If non-empty, make the request with the corresponding cert and key.
57  string cert = 10;
58  string key = 11;
59  // If non-empty, verify the server CA
60  string caCert = 12;
61  // If non-empty, make the request with the corresponding cert and key file.
62  string certFile = 16;
63  string keyFile = 17;
64  // If non-empty, verify the server CA with the ca cert file.
65  string caCertFile = 18;
66  // Skip verifying peer's certificate.
67  bool insecureSkipVerify = 19;
68  // List of ALPNs to present. If not set, this will be automatically be set based on the protocol
69  Alpn alpn = 13;
70  // Server name (SNI) to present in TLS connections. If not set, Host will be used for http requests.
71  string serverName = 20;
72  // Expected response determines what string to look for in the response to validate TCP requests succeeded.
73  // If not set, defaults to "StatusCode=200"
74  google.protobuf.StringValue expectedResponse = 21;
75}
76
77message Alpn {
78  repeated string value = 1;
79}
80
81message ForwardEchoResponse {
82  repeated string output = 1;
83}
84