-
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathgrpcbin.proto
77 lines (70 loc) · 2.29 KB
/
grpcbin.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
syntax = "proto3";
package grpcbin;
service GRPCBin {
// This endpoint
rpc Index(EmptyMessage) returns (IndexReply) {}
// Unary endpoint that takes no argument and replies an empty message.
rpc Empty(EmptyMessage) returns (EmptyMessage) {}
// Unary endpoint that replies a received DummyMessage
rpc DummyUnary(DummyMessage) returns (DummyMessage) {}
// Stream endpoint that sends back 10 times the received DummyMessage
rpc DummyServerStream(DummyMessage) returns (stream DummyMessage) {}
// Stream endpoint that receives 10 DummyMessages and replies with the last received one
rpc DummyClientStream(stream DummyMessage) returns (DummyMessage) {}
// Stream endpoint that sends back a received DummyMessage indefinitely (chat mode)
rpc DummyBidirectionalStreamStream(stream DummyMessage) returns (stream DummyMessage) {}
// Unary endpoint that raises a specified (by code) gRPC error
rpc SpecificError(SpecificErrorRequest) returns (EmptyMessage) {}
// Unary endpoint that raises a random gRPC error
rpc RandomError(EmptyMessage) returns (EmptyMessage) {}
// Unary endpoint that returns headers
rpc HeadersUnary(EmptyMessage) returns (HeadersMessage) {}
// Unary endpoint that returns no respnose
rpc NoResponseUnary(EmptyMessage) returns (EmptyMessage) {}
}
message HeadersMessage {
message Values {
repeated string values = 1;
}
map<string, Values> Metadata = 1;
}
message SpecificErrorRequest {
uint32 code = 1;
string reason = 2;
}
message EmptyMessage {}
message DummyMessage {
message Sub {
string f_string = 1;
}
enum Enum {
ENUM_0 = 0;
ENUM_1 = 1;
ENUM_2 = 2;
}
string f_string = 1;
repeated string f_strings = 2;
int32 f_int32 = 3;
repeated int32 f_int32s = 4;
Enum f_enum = 5;
repeated Enum f_enums = 6;
Sub f_sub = 7;
repeated Sub f_subs = 8;
bool f_bool = 9;
repeated bool f_bools = 10;
int64 f_int64 = 11;
repeated int64 f_int64s= 12;
bytes f_bytes = 13;
repeated bytes f_bytess = 14;
float f_float = 15;
repeated float f_floats = 16;
// TODO: timestamp, duration, oneof, any, maps, fieldmask, wrapper type, struct, listvalue, value, nullvalue, deprecated
}
message IndexReply {
message Endpoint {
string path = 1;
string description = 2;
}
string description = 1;
repeated Endpoint endpoints = 2;
}