fbcrawl-colly 0.2.2 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,416 @@
1
+ // Code generated by protoc-gen-go-grpc. DO NOT EDIT.
2
+
3
+ package pb
4
+
5
+ import (
6
+ context "context"
7
+ grpc "google.golang.org/grpc"
8
+ codes "google.golang.org/grpc/codes"
9
+ status "google.golang.org/grpc/status"
10
+ )
11
+
12
+ // This is a compile-time assertion to ensure that this generated file
13
+ // is compatible with the grpc package it is being compiled against.
14
+ const _ = grpc.SupportPackageIsVersion6
15
+
16
+ // GrpcClient is the client API for Grpc service.
17
+ //
18
+ // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
19
+ type GrpcClient interface {
20
+ // Sends a greeting
21
+ Init(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Pointer, error)
22
+ FreeColly(ctx context.Context, in *Pointer, opts ...grpc.CallOption) (*Empty, error)
23
+ Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error)
24
+ LoginWithCookies(ctx context.Context, in *LoginWithCookiesRequest, opts ...grpc.CallOption) (*Empty, error)
25
+ FetchGroupInfo(ctx context.Context, in *FetchGroupInfoRequest, opts ...grpc.CallOption) (*FacebookGroup, error)
26
+ FetchUserInfo(ctx context.Context, in *FetchUserInfoRequest, opts ...grpc.CallOption) (*FacebookUser, error)
27
+ FetchGroupFeed(ctx context.Context, in *FetchGroupFeedRequest, opts ...grpc.CallOption) (*FacebookPostList, error)
28
+ FetchPost(ctx context.Context, in *FetchPostRequest, opts ...grpc.CallOption) (*FacebookPost, error)
29
+ FetchContentImages(ctx context.Context, in *FetchContentImagesRequest, opts ...grpc.CallOption) (*FacebookImageList, error)
30
+ FetchImageUrl(ctx context.Context, in *FetchImageUrlRequest, opts ...grpc.CallOption) (*FacebookImage, error)
31
+ }
32
+
33
+ type grpcClient struct {
34
+ cc grpc.ClientConnInterface
35
+ }
36
+
37
+ func NewGrpcClient(cc grpc.ClientConnInterface) GrpcClient {
38
+ return &grpcClient{cc}
39
+ }
40
+
41
+ func (c *grpcClient) Init(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Pointer, error) {
42
+ out := new(Pointer)
43
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/Init", in, out, opts...)
44
+ if err != nil {
45
+ return nil, err
46
+ }
47
+ return out, nil
48
+ }
49
+
50
+ func (c *grpcClient) FreeColly(ctx context.Context, in *Pointer, opts ...grpc.CallOption) (*Empty, error) {
51
+ out := new(Empty)
52
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FreeColly", in, out, opts...)
53
+ if err != nil {
54
+ return nil, err
55
+ }
56
+ return out, nil
57
+ }
58
+
59
+ func (c *grpcClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
60
+ out := new(LoginResponse)
61
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/Login", in, out, opts...)
62
+ if err != nil {
63
+ return nil, err
64
+ }
65
+ return out, nil
66
+ }
67
+
68
+ func (c *grpcClient) LoginWithCookies(ctx context.Context, in *LoginWithCookiesRequest, opts ...grpc.CallOption) (*Empty, error) {
69
+ out := new(Empty)
70
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/LoginWithCookies", in, out, opts...)
71
+ if err != nil {
72
+ return nil, err
73
+ }
74
+ return out, nil
75
+ }
76
+
77
+ func (c *grpcClient) FetchGroupInfo(ctx context.Context, in *FetchGroupInfoRequest, opts ...grpc.CallOption) (*FacebookGroup, error) {
78
+ out := new(FacebookGroup)
79
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchGroupInfo", in, out, opts...)
80
+ if err != nil {
81
+ return nil, err
82
+ }
83
+ return out, nil
84
+ }
85
+
86
+ func (c *grpcClient) FetchUserInfo(ctx context.Context, in *FetchUserInfoRequest, opts ...grpc.CallOption) (*FacebookUser, error) {
87
+ out := new(FacebookUser)
88
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchUserInfo", in, out, opts...)
89
+ if err != nil {
90
+ return nil, err
91
+ }
92
+ return out, nil
93
+ }
94
+
95
+ func (c *grpcClient) FetchGroupFeed(ctx context.Context, in *FetchGroupFeedRequest, opts ...grpc.CallOption) (*FacebookPostList, error) {
96
+ out := new(FacebookPostList)
97
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchGroupFeed", in, out, opts...)
98
+ if err != nil {
99
+ return nil, err
100
+ }
101
+ return out, nil
102
+ }
103
+
104
+ func (c *grpcClient) FetchPost(ctx context.Context, in *FetchPostRequest, opts ...grpc.CallOption) (*FacebookPost, error) {
105
+ out := new(FacebookPost)
106
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchPost", in, out, opts...)
107
+ if err != nil {
108
+ return nil, err
109
+ }
110
+ return out, nil
111
+ }
112
+
113
+ func (c *grpcClient) FetchContentImages(ctx context.Context, in *FetchContentImagesRequest, opts ...grpc.CallOption) (*FacebookImageList, error) {
114
+ out := new(FacebookImageList)
115
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchContentImages", in, out, opts...)
116
+ if err != nil {
117
+ return nil, err
118
+ }
119
+ return out, nil
120
+ }
121
+
122
+ func (c *grpcClient) FetchImageUrl(ctx context.Context, in *FetchImageUrlRequest, opts ...grpc.CallOption) (*FacebookImage, error) {
123
+ out := new(FacebookImage)
124
+ err := c.cc.Invoke(ctx, "/fbcrawl_colly.Grpc/FetchImageUrl", in, out, opts...)
125
+ if err != nil {
126
+ return nil, err
127
+ }
128
+ return out, nil
129
+ }
130
+
131
+ // GrpcServer is the server API for Grpc service.
132
+ // All implementations must embed UnimplementedGrpcServer
133
+ // for forward compatibility
134
+ type GrpcServer interface {
135
+ // Sends a greeting
136
+ Init(context.Context, *Empty) (*Pointer, error)
137
+ FreeColly(context.Context, *Pointer) (*Empty, error)
138
+ Login(context.Context, *LoginRequest) (*LoginResponse, error)
139
+ LoginWithCookies(context.Context, *LoginWithCookiesRequest) (*Empty, error)
140
+ FetchGroupInfo(context.Context, *FetchGroupInfoRequest) (*FacebookGroup, error)
141
+ FetchUserInfo(context.Context, *FetchUserInfoRequest) (*FacebookUser, error)
142
+ FetchGroupFeed(context.Context, *FetchGroupFeedRequest) (*FacebookPostList, error)
143
+ FetchPost(context.Context, *FetchPostRequest) (*FacebookPost, error)
144
+ FetchContentImages(context.Context, *FetchContentImagesRequest) (*FacebookImageList, error)
145
+ FetchImageUrl(context.Context, *FetchImageUrlRequest) (*FacebookImage, error)
146
+ mustEmbedUnimplementedGrpcServer()
147
+ }
148
+
149
+ // UnimplementedGrpcServer must be embedded to have forward compatible implementations.
150
+ type UnimplementedGrpcServer struct {
151
+ }
152
+
153
+ func (*UnimplementedGrpcServer) Init(context.Context, *Empty) (*Pointer, error) {
154
+ return nil, status.Errorf(codes.Unimplemented, "method Init not implemented")
155
+ }
156
+ func (*UnimplementedGrpcServer) FreeColly(context.Context, *Pointer) (*Empty, error) {
157
+ return nil, status.Errorf(codes.Unimplemented, "method FreeColly not implemented")
158
+ }
159
+ func (*UnimplementedGrpcServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) {
160
+ return nil, status.Errorf(codes.Unimplemented, "method Login not implemented")
161
+ }
162
+ func (*UnimplementedGrpcServer) LoginWithCookies(context.Context, *LoginWithCookiesRequest) (*Empty, error) {
163
+ return nil, status.Errorf(codes.Unimplemented, "method LoginWithCookies not implemented")
164
+ }
165
+ func (*UnimplementedGrpcServer) FetchGroupInfo(context.Context, *FetchGroupInfoRequest) (*FacebookGroup, error) {
166
+ return nil, status.Errorf(codes.Unimplemented, "method FetchGroupInfo not implemented")
167
+ }
168
+ func (*UnimplementedGrpcServer) FetchUserInfo(context.Context, *FetchUserInfoRequest) (*FacebookUser, error) {
169
+ return nil, status.Errorf(codes.Unimplemented, "method FetchUserInfo not implemented")
170
+ }
171
+ func (*UnimplementedGrpcServer) FetchGroupFeed(context.Context, *FetchGroupFeedRequest) (*FacebookPostList, error) {
172
+ return nil, status.Errorf(codes.Unimplemented, "method FetchGroupFeed not implemented")
173
+ }
174
+ func (*UnimplementedGrpcServer) FetchPost(context.Context, *FetchPostRequest) (*FacebookPost, error) {
175
+ return nil, status.Errorf(codes.Unimplemented, "method FetchPost not implemented")
176
+ }
177
+ func (*UnimplementedGrpcServer) FetchContentImages(context.Context, *FetchContentImagesRequest) (*FacebookImageList, error) {
178
+ return nil, status.Errorf(codes.Unimplemented, "method FetchContentImages not implemented")
179
+ }
180
+ func (*UnimplementedGrpcServer) FetchImageUrl(context.Context, *FetchImageUrlRequest) (*FacebookImage, error) {
181
+ return nil, status.Errorf(codes.Unimplemented, "method FetchImageUrl not implemented")
182
+ }
183
+ func (*UnimplementedGrpcServer) mustEmbedUnimplementedGrpcServer() {}
184
+
185
+ func RegisterGrpcServer(s *grpc.Server, srv GrpcServer) {
186
+ s.RegisterService(&_Grpc_serviceDesc, srv)
187
+ }
188
+
189
+ func _Grpc_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
190
+ in := new(Empty)
191
+ if err := dec(in); err != nil {
192
+ return nil, err
193
+ }
194
+ if interceptor == nil {
195
+ return srv.(GrpcServer).Init(ctx, in)
196
+ }
197
+ info := &grpc.UnaryServerInfo{
198
+ Server: srv,
199
+ FullMethod: "/fbcrawl_colly.Grpc/Init",
200
+ }
201
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
202
+ return srv.(GrpcServer).Init(ctx, req.(*Empty))
203
+ }
204
+ return interceptor(ctx, in, info, handler)
205
+ }
206
+
207
+ func _Grpc_FreeColly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
208
+ in := new(Pointer)
209
+ if err := dec(in); err != nil {
210
+ return nil, err
211
+ }
212
+ if interceptor == nil {
213
+ return srv.(GrpcServer).FreeColly(ctx, in)
214
+ }
215
+ info := &grpc.UnaryServerInfo{
216
+ Server: srv,
217
+ FullMethod: "/fbcrawl_colly.Grpc/FreeColly",
218
+ }
219
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
220
+ return srv.(GrpcServer).FreeColly(ctx, req.(*Pointer))
221
+ }
222
+ return interceptor(ctx, in, info, handler)
223
+ }
224
+
225
+ func _Grpc_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
226
+ in := new(LoginRequest)
227
+ if err := dec(in); err != nil {
228
+ return nil, err
229
+ }
230
+ if interceptor == nil {
231
+ return srv.(GrpcServer).Login(ctx, in)
232
+ }
233
+ info := &grpc.UnaryServerInfo{
234
+ Server: srv,
235
+ FullMethod: "/fbcrawl_colly.Grpc/Login",
236
+ }
237
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
238
+ return srv.(GrpcServer).Login(ctx, req.(*LoginRequest))
239
+ }
240
+ return interceptor(ctx, in, info, handler)
241
+ }
242
+
243
+ func _Grpc_LoginWithCookies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
244
+ in := new(LoginWithCookiesRequest)
245
+ if err := dec(in); err != nil {
246
+ return nil, err
247
+ }
248
+ if interceptor == nil {
249
+ return srv.(GrpcServer).LoginWithCookies(ctx, in)
250
+ }
251
+ info := &grpc.UnaryServerInfo{
252
+ Server: srv,
253
+ FullMethod: "/fbcrawl_colly.Grpc/LoginWithCookies",
254
+ }
255
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
256
+ return srv.(GrpcServer).LoginWithCookies(ctx, req.(*LoginWithCookiesRequest))
257
+ }
258
+ return interceptor(ctx, in, info, handler)
259
+ }
260
+
261
+ func _Grpc_FetchGroupInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
262
+ in := new(FetchGroupInfoRequest)
263
+ if err := dec(in); err != nil {
264
+ return nil, err
265
+ }
266
+ if interceptor == nil {
267
+ return srv.(GrpcServer).FetchGroupInfo(ctx, in)
268
+ }
269
+ info := &grpc.UnaryServerInfo{
270
+ Server: srv,
271
+ FullMethod: "/fbcrawl_colly.Grpc/FetchGroupInfo",
272
+ }
273
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
274
+ return srv.(GrpcServer).FetchGroupInfo(ctx, req.(*FetchGroupInfoRequest))
275
+ }
276
+ return interceptor(ctx, in, info, handler)
277
+ }
278
+
279
+ func _Grpc_FetchUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
280
+ in := new(FetchUserInfoRequest)
281
+ if err := dec(in); err != nil {
282
+ return nil, err
283
+ }
284
+ if interceptor == nil {
285
+ return srv.(GrpcServer).FetchUserInfo(ctx, in)
286
+ }
287
+ info := &grpc.UnaryServerInfo{
288
+ Server: srv,
289
+ FullMethod: "/fbcrawl_colly.Grpc/FetchUserInfo",
290
+ }
291
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
292
+ return srv.(GrpcServer).FetchUserInfo(ctx, req.(*FetchUserInfoRequest))
293
+ }
294
+ return interceptor(ctx, in, info, handler)
295
+ }
296
+
297
+ func _Grpc_FetchGroupFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
298
+ in := new(FetchGroupFeedRequest)
299
+ if err := dec(in); err != nil {
300
+ return nil, err
301
+ }
302
+ if interceptor == nil {
303
+ return srv.(GrpcServer).FetchGroupFeed(ctx, in)
304
+ }
305
+ info := &grpc.UnaryServerInfo{
306
+ Server: srv,
307
+ FullMethod: "/fbcrawl_colly.Grpc/FetchGroupFeed",
308
+ }
309
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
310
+ return srv.(GrpcServer).FetchGroupFeed(ctx, req.(*FetchGroupFeedRequest))
311
+ }
312
+ return interceptor(ctx, in, info, handler)
313
+ }
314
+
315
+ func _Grpc_FetchPost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
316
+ in := new(FetchPostRequest)
317
+ if err := dec(in); err != nil {
318
+ return nil, err
319
+ }
320
+ if interceptor == nil {
321
+ return srv.(GrpcServer).FetchPost(ctx, in)
322
+ }
323
+ info := &grpc.UnaryServerInfo{
324
+ Server: srv,
325
+ FullMethod: "/fbcrawl_colly.Grpc/FetchPost",
326
+ }
327
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
328
+ return srv.(GrpcServer).FetchPost(ctx, req.(*FetchPostRequest))
329
+ }
330
+ return interceptor(ctx, in, info, handler)
331
+ }
332
+
333
+ func _Grpc_FetchContentImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
334
+ in := new(FetchContentImagesRequest)
335
+ if err := dec(in); err != nil {
336
+ return nil, err
337
+ }
338
+ if interceptor == nil {
339
+ return srv.(GrpcServer).FetchContentImages(ctx, in)
340
+ }
341
+ info := &grpc.UnaryServerInfo{
342
+ Server: srv,
343
+ FullMethod: "/fbcrawl_colly.Grpc/FetchContentImages",
344
+ }
345
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
346
+ return srv.(GrpcServer).FetchContentImages(ctx, req.(*FetchContentImagesRequest))
347
+ }
348
+ return interceptor(ctx, in, info, handler)
349
+ }
350
+
351
+ func _Grpc_FetchImageUrl_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
352
+ in := new(FetchImageUrlRequest)
353
+ if err := dec(in); err != nil {
354
+ return nil, err
355
+ }
356
+ if interceptor == nil {
357
+ return srv.(GrpcServer).FetchImageUrl(ctx, in)
358
+ }
359
+ info := &grpc.UnaryServerInfo{
360
+ Server: srv,
361
+ FullMethod: "/fbcrawl_colly.Grpc/FetchImageUrl",
362
+ }
363
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
364
+ return srv.(GrpcServer).FetchImageUrl(ctx, req.(*FetchImageUrlRequest))
365
+ }
366
+ return interceptor(ctx, in, info, handler)
367
+ }
368
+
369
+ var _Grpc_serviceDesc = grpc.ServiceDesc{
370
+ ServiceName: "fbcrawl_colly.Grpc",
371
+ HandlerType: (*GrpcServer)(nil),
372
+ Methods: []grpc.MethodDesc{
373
+ {
374
+ MethodName: "Init",
375
+ Handler: _Grpc_Init_Handler,
376
+ },
377
+ {
378
+ MethodName: "FreeColly",
379
+ Handler: _Grpc_FreeColly_Handler,
380
+ },
381
+ {
382
+ MethodName: "Login",
383
+ Handler: _Grpc_Login_Handler,
384
+ },
385
+ {
386
+ MethodName: "LoginWithCookies",
387
+ Handler: _Grpc_LoginWithCookies_Handler,
388
+ },
389
+ {
390
+ MethodName: "FetchGroupInfo",
391
+ Handler: _Grpc_FetchGroupInfo_Handler,
392
+ },
393
+ {
394
+ MethodName: "FetchUserInfo",
395
+ Handler: _Grpc_FetchUserInfo_Handler,
396
+ },
397
+ {
398
+ MethodName: "FetchGroupFeed",
399
+ Handler: _Grpc_FetchGroupFeed_Handler,
400
+ },
401
+ {
402
+ MethodName: "FetchPost",
403
+ Handler: _Grpc_FetchPost_Handler,
404
+ },
405
+ {
406
+ MethodName: "FetchContentImages",
407
+ Handler: _Grpc_FetchContentImages_Handler,
408
+ },
409
+ {
410
+ MethodName: "FetchImageUrl",
411
+ Handler: _Grpc_FetchImageUrl_Handler,
412
+ },
413
+ },
414
+ Streams: []grpc.StreamDesc{},
415
+ Metadata: "fbcrawl.proto",
416
+ }
data/go.mod CHANGED
@@ -4,21 +4,15 @@ go 1.14
4
4
 
5
5
  require (
6
6
  github.com/PuerkitoBio/goquery v1.5.1
7
- github.com/andybalholm/cascadia v1.2.0 // indirect
8
- github.com/antchfx/htmlquery v1.2.3 // indirect
9
- github.com/antchfx/xmlquery v1.2.4 // indirect
10
- github.com/antchfx/xpath v1.1.9 // indirect
11
- github.com/gobwas/glob v0.2.3 // indirect
12
- github.com/gocolly/colly v1.2.0
7
+ github.com/gocolly/colly/v2 v2.1.0
13
8
  github.com/golang/protobuf v1.4.2
14
9
  github.com/google/logger v1.1.0
15
- github.com/kennygrant/sanitize v1.2.4 // indirect
10
+ github.com/hashicorp/golang-lru v0.5.4
16
11
  github.com/olebedev/when v0.0.0-20190311101825-c3b538a97254
17
- github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca // indirect
18
- github.com/temoto/robotstxt v1.1.1 // indirect
19
12
  github.com/thoas/go-funk v0.7.0
13
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119
20
14
  golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect
21
- golang.org/x/text v0.3.3 // indirect
22
- google.golang.org/appengine v1.6.6 // indirect
15
+ google.golang.org/grpc v1.27.0
16
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326 // indirect
23
17
  google.golang.org/protobuf v1.25.0
24
18
  )
data/go.sum CHANGED
@@ -4,7 +4,6 @@ github.com/AlekSi/pointer v1.0.0/go.mod h1:1kjywbfcPFCmncIxtk6fIEub6LKrfMz3gc5QK
4
4
  github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
5
5
  github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE=
6
6
  github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
7
- github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo=
8
7
  github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
9
8
  github.com/andybalholm/cascadia v1.2.0 h1:vuRCkM5Ozh/BfmsaTm26kbjm0mIOM3yS5Ek/F5h18aE=
10
9
  github.com/andybalholm/cascadia v1.2.0/go.mod h1:YCyR8vOZT9aZ1CHEd8ap0gMVm2aFgxBp0T0eFw1RUQY=
@@ -12,14 +11,13 @@ github.com/antchfx/htmlquery v1.2.3 h1:sP3NFDneHx2stfNXCKbhHFo8XgNjCACnU/4AO5gWz
12
11
  github.com/antchfx/htmlquery v1.2.3/go.mod h1:B0ABL+F5irhhMWg54ymEZinzMSi0Kt3I2if0BLYa3V0=
13
12
  github.com/antchfx/xmlquery v1.2.4 h1:T/SH1bYdzdjTMoz2RgsfVKbM5uWh3gjDYYepFqQmFv4=
14
13
  github.com/antchfx/xmlquery v1.2.4/go.mod h1:KQQuESaxSlqugE2ZBcM/qn+ebIpt+d+4Xx7YcSGAIrM=
15
- github.com/antchfx/xpath v1.1.6 h1:6sVh6hB5T6phw1pFpHRQ+C4bd8sNI+O58flqtg7h0R0=
16
14
  github.com/antchfx/xpath v1.1.6/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
17
- github.com/antchfx/xpath v1.1.9 h1:s3QDSTRoZMK6EqLajCUt/BJMUATPHvzwlRqKqg12yjU=
18
- github.com/antchfx/xpath v1.1.9/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
15
+ github.com/antchfx/xpath v1.1.8 h1:PcL6bIX42Px5usSx6xRYw/wjB3wYGkj0MJ9MBzEKVgk=
16
+ github.com/antchfx/xpath v1.1.8/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
19
17
  github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
20
18
  github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
21
- github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
22
19
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
20
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
23
21
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
24
22
  github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
25
23
  github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
@@ -27,12 +25,14 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
27
25
  github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
28
26
  github.com/gocolly/colly v1.2.0 h1:qRz9YAn8FIH0qzgNUw+HT9UN7wm1oF9OBAilwEWpyrI=
29
27
  github.com/gocolly/colly v1.2.0/go.mod h1:Hof5T3ZswNVsOHYmba1u03W65HDWgpV5HifSuueE0EA=
28
+ github.com/gocolly/colly/v2 v2.1.0 h1:k0DuZkDoCsx51bKpRJNEmcxcp+W5N8ziuwGaSDuFoGs=
29
+ github.com/gocolly/colly/v2 v2.1.0/go.mod h1:I2MuhsLjQ+Ex+IzK3afNS8/1qP3AedHOusRPcRdC5o0=
30
+ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
30
31
  github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
31
32
  github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
32
33
  github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
33
34
  github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
34
35
  github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
35
- github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
36
36
  github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
37
37
  github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
38
38
  github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
@@ -51,6 +51,9 @@ github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
51
51
  github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
52
52
  github.com/google/logger v1.1.0 h1:saB74Etb4EAJNH3z74CVbCKk75hld/8T0CsXKetWCwM=
53
53
  github.com/google/logger v1.1.0/go.mod h1:w7O8nrRr0xufejBlQMI83MXqRusvREoJdaAxV+CoAB4=
54
+ github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
55
+ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
56
+ github.com/jawher/mow.cli v1.1.0/go.mod h1:aNaQlc7ozF3vw6IJ2dHjp2ZFiA4ozMIYY6PyuRJwlUg=
54
57
  github.com/kennygrant/sanitize v1.2.4 h1:gN25/otpP5vAsO2djbMhF/LQX6R7+O1TB4yv8NzpJ3o=
55
58
  github.com/kennygrant/sanitize v1.2.4/go.mod h1:LGsjYYtgxbetdg5owWB2mpgUL6e2nfw2eObZ0u0qvak=
56
59
  github.com/olebedev/when v0.0.0-20190311101825-c3b538a97254 h1:JYoQR67E1vv1WGoeW8DkdFs7vrIEe/5wP+qJItd5tUE=
@@ -63,7 +66,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:
63
66
  github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca h1:NugYot0LIVPxTvN8n+Kvkn6TrbMyxQiuvKdEwFdR9vI=
64
67
  github.com/saintfish/chardet v0.0.0-20120816061221-3af4cd4741ca/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU=
65
68
  github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
66
- github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
69
+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
67
70
  github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
68
71
  github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
69
72
  github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -71,7 +74,10 @@ github.com/temoto/robotstxt v1.1.1 h1:Gh8RCs8ouX3hRSxxK7B1mO5RFByQ4CmJZDwgom++Ja
71
74
  github.com/temoto/robotstxt v1.1.1/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo=
72
75
  github.com/thoas/go-funk v0.7.0 h1:GmirKrs6j6zJbhJIficOsz2aAI7700KsU/5YrdHRM1Y=
73
76
  github.com/thoas/go-funk v0.7.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
77
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119 h1:YyPWX3jLOtYKulBR6AScGIs74lLrJcgeKRwcbAuQOG4=
78
+ github.com/xlzd/gotp v0.0.0-20181030022105-c8557ba2c119/go.mod h1:/nuTSlK+okRfR/vnIPqR89fFKonnWPiZymN5ydRJkX8=
74
79
  golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
80
+ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
75
81
  golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
76
82
  golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
77
83
  golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -86,6 +92,7 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
86
92
  golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
87
93
  golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
88
94
  golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
95
+ golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
89
96
  golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
90
97
  golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
91
98
  golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -100,13 +107,12 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
100
107
  golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
101
108
  golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
102
109
  golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
103
- golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
104
- golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
105
110
  golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
106
111
  golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
107
112
  golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
108
113
  golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
109
114
  golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
115
+ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
110
116
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
111
117
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
112
118
  google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -115,19 +121,24 @@ google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuh
115
121
  google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
116
122
  google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
117
123
  google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
124
+ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
118
125
  google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
119
126
  google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
120
127
  google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
128
+ google.golang.org/grpc v1.27.0 h1:rRYRFMVgRv6E0D70Skyfsr28tDXIuuPZyWGMPdMcnXg=
121
129
  google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
130
+ google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI=
131
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326 h1:9xXKDULLQoff9XAN3whAGrh4vrLLvydDbmFGWofOWI0=
132
+ google.golang.org/grpc/cmd/protoc-gen-go-grpc v0.0.0-20200814200710-a3740e5ed326/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
122
133
  google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
123
134
  google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
124
135
  google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
125
136
  google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
126
137
  google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
127
138
  google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
128
- google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
129
139
  google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
130
140
  google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
141
+ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
131
142
  google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
132
143
  google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
133
144
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=