-
Notifications
You must be signed in to change notification settings - Fork 0
/
ratio.pb.go
251 lines (217 loc) · 8.89 KB
/
ratio.pb.go
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ratio.proto
package ratio
import (
context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
grpc "google.golang.org/grpc"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type RateLimitResponse_Code int32
const (
RateLimitResponse_UNKNOWN RateLimitResponse_Code = 0
RateLimitResponse_OK RateLimitResponse_Code = 1
RateLimitResponse_OVER_LIMIT RateLimitResponse_Code = 2
)
var RateLimitResponse_Code_name = map[int32]string{
0: "UNKNOWN",
1: "OK",
2: "OVER_LIMIT",
}
var RateLimitResponse_Code_value = map[string]int32{
"UNKNOWN": 0,
"OK": 1,
"OVER_LIMIT": 2,
}
func (x RateLimitResponse_Code) String() string {
return proto.EnumName(RateLimitResponse_Code_name, int32(x))
}
func (RateLimitResponse_Code) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_022a6ac14e109943, []int{1, 0}
}
// The main request message made to the RateLimitService.
type RateLimitRequest struct {
// The owner of the target resource. Usually the service name from where
// the request was made. Used for storing the hits in a dedicated bucket
// per service.
//
// Examples:
// 1. my-awesome-service
Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"`
// The target resource behind the rate limit.
//
// Examples:
// 1. /v1/order/pay
// 2. /v1/order/pay#customer123
// 3. graphql_resolver_root
Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RateLimitRequest) Reset() { *m = RateLimitRequest{} }
func (m *RateLimitRequest) String() string { return proto.CompactTextString(m) }
func (*RateLimitRequest) ProtoMessage() {}
func (*RateLimitRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_022a6ac14e109943, []int{0}
}
func (m *RateLimitRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RateLimitRequest.Unmarshal(m, b)
}
func (m *RateLimitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RateLimitRequest.Marshal(b, m, deterministic)
}
func (m *RateLimitRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RateLimitRequest.Merge(m, src)
}
func (m *RateLimitRequest) XXX_Size() int {
return xxx_messageInfo_RateLimitRequest.Size(m)
}
func (m *RateLimitRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RateLimitRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RateLimitRequest proto.InternalMessageInfo
func (m *RateLimitRequest) GetOwner() string {
if m != nil {
return m.Owner
}
return ""
}
func (m *RateLimitRequest) GetResource() string {
if m != nil {
return m.Resource
}
return ""
}
// The response of RateLimit. Strongly based on Envoy.
// See https://github.com/envoyproxy/envoy/blob/master/api/envoy/service/ratelimit/v2/rls.proto
type RateLimitResponse struct {
Code RateLimitResponse_Code `protobuf:"varint,1,opt,name=code,proto3,enum=RateLimitResponse_Code" json:"code,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RateLimitResponse) Reset() { *m = RateLimitResponse{} }
func (m *RateLimitResponse) String() string { return proto.CompactTextString(m) }
func (*RateLimitResponse) ProtoMessage() {}
func (*RateLimitResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_022a6ac14e109943, []int{1}
}
func (m *RateLimitResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RateLimitResponse.Unmarshal(m, b)
}
func (m *RateLimitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RateLimitResponse.Marshal(b, m, deterministic)
}
func (m *RateLimitResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_RateLimitResponse.Merge(m, src)
}
func (m *RateLimitResponse) XXX_Size() int {
return xxx_messageInfo_RateLimitResponse.Size(m)
}
func (m *RateLimitResponse) XXX_DiscardUnknown() {
xxx_messageInfo_RateLimitResponse.DiscardUnknown(m)
}
var xxx_messageInfo_RateLimitResponse proto.InternalMessageInfo
func (m *RateLimitResponse) GetCode() RateLimitResponse_Code {
if m != nil {
return m.Code
}
return RateLimitResponse_UNKNOWN
}
func init() {
proto.RegisterEnum("RateLimitResponse_Code", RateLimitResponse_Code_name, RateLimitResponse_Code_value)
proto.RegisterType((*RateLimitRequest)(nil), "RateLimitRequest")
proto.RegisterType((*RateLimitResponse)(nil), "RateLimitResponse")
}
func init() { proto.RegisterFile("ratio.proto", fileDescriptor_022a6ac14e109943) }
var fileDescriptor_022a6ac14e109943 = []byte{
// 204 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x4a, 0x2c, 0xc9,
0xcc, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x57, 0x72, 0xe1, 0x12, 0x08, 0x4a, 0x2c, 0x49, 0xf5,
0xc9, 0xcc, 0xcd, 0x2c, 0x09, 0x4a, 0x2d, 0x2c, 0x4d, 0x2d, 0x2e, 0x11, 0x12, 0xe1, 0x62, 0xcd,
0x2f, 0xcf, 0x4b, 0x2d, 0x92, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x82, 0x70, 0x84, 0xa4, 0xb8,
0x38, 0x8a, 0x52, 0x8b, 0xf3, 0x4b, 0x8b, 0x92, 0x53, 0x25, 0x98, 0xc0, 0x12, 0x70, 0xbe, 0x52,
0x2e, 0x97, 0x20, 0x92, 0x29, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0xda, 0x5c, 0x2c, 0xc9,
0xf9, 0x29, 0xa9, 0x60, 0x53, 0xf8, 0x8c, 0xc4, 0xf5, 0x30, 0x54, 0xe8, 0x39, 0xe7, 0xa7, 0xa4,
0x06, 0x81, 0x15, 0x29, 0x69, 0x73, 0xb1, 0x80, 0x78, 0x42, 0xdc, 0x5c, 0xec, 0xa1, 0x7e, 0xde,
0x7e, 0xfe, 0xe1, 0x7e, 0x02, 0x0c, 0x42, 0x6c, 0x5c, 0x4c, 0xfe, 0xde, 0x02, 0x8c, 0x42, 0x7c,
0x5c, 0x5c, 0xfe, 0x61, 0xae, 0x41, 0xf1, 0x3e, 0x9e, 0xbe, 0x9e, 0x21, 0x02, 0x4c, 0x46, 0x6e,
0x48, 0x8e, 0x0e, 0x4e, 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0x15, 0x32, 0xe2, 0xe2, 0x84, 0x8b, 0x09,
0x09, 0xea, 0xa1, 0x7b, 0x4a, 0x4a, 0x08, 0xd3, 0xfe, 0x24, 0x36, 0x70, 0x18, 0x18, 0x03, 0x02,
0x00, 0x00, 0xff, 0xff, 0xfc, 0x97, 0xae, 0xf6, 0x12, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// RateLimitServiceClient is the client API for RateLimitService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type RateLimitServiceClient interface {
// Provides info about whether the rate limit should apply or not.
RateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error)
}
type rateLimitServiceClient struct {
cc *grpc.ClientConn
}
func NewRateLimitServiceClient(cc *grpc.ClientConn) RateLimitServiceClient {
return &rateLimitServiceClient{cc}
}
func (c *rateLimitServiceClient) RateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error) {
out := new(RateLimitResponse)
err := c.cc.Invoke(ctx, "/RateLimitService/RateLimit", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RateLimitServiceServer is the server API for RateLimitService service.
type RateLimitServiceServer interface {
// Provides info about whether the rate limit should apply or not.
RateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error)
}
func RegisterRateLimitServiceServer(s *grpc.Server, srv RateLimitServiceServer) {
s.RegisterService(&_RateLimitService_serviceDesc, srv)
}
func _RateLimitService_RateLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RateLimitRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RateLimitServiceServer).RateLimit(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/RateLimitService/RateLimit",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RateLimitServiceServer).RateLimit(ctx, req.(*RateLimitRequest))
}
return interceptor(ctx, in, info, handler)
}
var _RateLimitService_serviceDesc = grpc.ServiceDesc{
ServiceName: "RateLimitService",
HandlerType: (*RateLimitServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "RateLimit",
Handler: _RateLimitService_RateLimit_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "ratio.proto",
}