8 files changed
+1363
-2
Cargo.lock
+1255
@@ -2,6 +2,1261 @@
2
# It is not intended for manual editing.
3
version = 3
4
5
+[[package]]
6
+name = "anyhow"
7
+version = "1.0.69"
8
+source = "registry+https://github.com/rust-lang/crates.io-index"
9
+checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
10
+
11
+[[package]]
12
+name = "autocfg"
13
+version = "1.1.0"
14
+source = "registry+https://github.com/rust-lang/crates.io-index"
15
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
16
+
17
+[[package]]
18
+name = "base64"
19
+version = "0.21.0"
20
+source = "registry+https://github.com/rust-lang/crates.io-index"
21
+checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
22
+
23
+[[package]]
24
+name = "bitflags"
25
+version = "1.3.2"
26
+source = "registry+https://github.com/rust-lang/crates.io-index"
27
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
28
+
29
+[[package]]
30
+name = "bumpalo"
31
+version = "3.12.0"
32
+source = "registry+https://github.com/rust-lang/crates.io-index"
33
+checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
34
+
35
+[[package]]
36
+name = "bytes"
37
+version = "1.4.0"
38
+source = "registry+https://github.com/rust-lang/crates.io-index"
39
+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
40
+
41
+[[package]]
42
+name = "cc"
43
+version = "1.0.79"
44
+source = "registry+https://github.com/rust-lang/crates.io-index"
45
+checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
46
+
47
+[[package]]
48
+name = "cfg-if"
49
+version = "1.0.0"
50
+source = "registry+https://github.com/rust-lang/crates.io-index"
51
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
52
+
53
+[[package]]
54
+name = "clap"
55
+version = "4.1.6"
56
+source = "registry+https://github.com/rust-lang/crates.io-index"
57
+checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3"
58
+dependencies = [
59
+ "bitflags",
60
+ "clap_derive",
61
+ "clap_lex",
62
+ "is-terminal",
63
+ "once_cell",
64
+ "strsim",
65
+ "termcolor",
66
+]
67
+
68
+[[package]]
69
+name = "clap_derive"
70
+version = "4.1.0"
71
+source = "registry+https://github.com/rust-lang/crates.io-index"
72
+checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8"
73
+dependencies = [
74
+ "heck",
75
+ "proc-macro-error",
76
+ "proc-macro2",
77
+ "quote",
78
+ "syn",
79
+]
80
+
81
+[[package]]
82
+name = "clap_lex"
83
+version = "0.3.1"
84
+source = "registry+https://github.com/rust-lang/crates.io-index"
85
+checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade"
86
+dependencies = [
87
+ "os_str_bytes",
88
+]
89
+
90
+[[package]]
91
+name = "console"
92
+version = "0.15.5"
93
+source = "registry+https://github.com/rust-lang/crates.io-index"
94
+checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
95
+dependencies = [
96
+ "encode_unicode",
97
+ "lazy_static",
98
+ "libc",
99
+ "unicode-width",
100
+ "windows-sys 0.42.0",
101
+]
102
+
103
+[[package]]
104
+name = "core-foundation"
105
+version = "0.9.3"
106
+source = "registry+https://github.com/rust-lang/crates.io-index"
107
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
108
+dependencies = [
109
+ "core-foundation-sys",
110
+ "libc",
111
+]
112
+
113
+[[package]]
114
+name = "core-foundation-sys"
115
+version = "0.8.3"
116
+source = "registry+https://github.com/rust-lang/crates.io-index"
117
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
118
+
119
+[[package]]
120
+name = "encode_unicode"
121
+version = "0.3.6"
122
+source = "registry+https://github.com/rust-lang/crates.io-index"
123
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
124
+
125
+[[package]]
126
+name = "encoding_rs"
127
+version = "0.8.32"
128
+source = "registry+https://github.com/rust-lang/crates.io-index"
129
+checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
130
+dependencies = [
131
+ "cfg-if",
132
+]
133
+
134
+[[package]]
135
+name = "errno"
136
+version = "0.2.8"
137
+source = "registry+https://github.com/rust-lang/crates.io-index"
138
+checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
139
+dependencies = [
140
+ "errno-dragonfly",
141
+ "libc",
142
+ "winapi",
143
+]
144
+
145
+[[package]]
146
+name = "errno-dragonfly"
147
+version = "0.1.2"
148
+source = "registry+https://github.com/rust-lang/crates.io-index"
149
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
150
+dependencies = [
151
+ "cc",
152
+ "libc",
153
+]
154
+
155
+[[package]]
156
+name = "fastrand"
157
+version = "1.9.0"
158
+source = "registry+https://github.com/rust-lang/crates.io-index"
159
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
160
+dependencies = [
161
+ "instant",
162
+]
163
+
164
+[[package]]
165
+name = "fnv"
166
+version = "1.0.7"
167
+source = "registry+https://github.com/rust-lang/crates.io-index"
168
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
169
+
170
+[[package]]
171
+name = "foreign-types"
172
+version = "0.3.2"
173
+source = "registry+https://github.com/rust-lang/crates.io-index"
174
+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
175
+dependencies = [
176
+ "foreign-types-shared",
177
+]
178
+
179
+[[package]]
180
+name = "foreign-types-shared"
181
+version = "0.1.1"
182
+source = "registry+https://github.com/rust-lang/crates.io-index"
183
+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
184
+
185
+[[package]]
186
+name = "form_urlencoded"
187
+version = "1.1.0"
188
+source = "registry+https://github.com/rust-lang/crates.io-index"
189
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
190
+dependencies = [
191
+ "percent-encoding",
192
+]
193
+
194
+[[package]]
195
+name = "futures-channel"
196
+version = "0.3.26"
197
+source = "registry+https://github.com/rust-lang/crates.io-index"
198
+checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5"
199
+dependencies = [
200
+ "futures-core",
201
+]
202
+
203
+[[package]]
204
+name = "futures-core"
205
+version = "0.3.26"
206
+source = "registry+https://github.com/rust-lang/crates.io-index"
207
+checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608"
208
+
209
+[[package]]
210
+name = "futures-sink"
211
+version = "0.3.26"
212
+source = "registry+https://github.com/rust-lang/crates.io-index"
213
+checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364"
214
+
215
+[[package]]
216
+name = "futures-task"
217
+version = "0.3.26"
218
+source = "registry+https://github.com/rust-lang/crates.io-index"
219
+checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366"
220
+
221
+[[package]]
222
+name = "futures-util"
223
+version = "0.3.26"
224
+source = "registry+https://github.com/rust-lang/crates.io-index"
225
+checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1"
226
+dependencies = [
227
+ "futures-core",
228
+ "futures-task",
229
+ "pin-project-lite",
230
+ "pin-utils",
231
+]
232
+
233
+[[package]]
234
+name = "h2"
235
+version = "0.3.15"
236
+source = "registry+https://github.com/rust-lang/crates.io-index"
237
+checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4"
238
+dependencies = [
239
+ "bytes",
240
+ "fnv",
241
+ "futures-core",
242
+ "futures-sink",
243
+ "futures-util",
244
+ "http",
245
+ "indexmap",
246
+ "slab",
247
+ "tokio",
248
+ "tokio-util",
249
+ "tracing",
250
+]
251
+
252
+[[package]]
253
+name = "hashbrown"
254
+version = "0.12.3"
255
+source = "registry+https://github.com/rust-lang/crates.io-index"
256
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
257
+
258
+[[package]]
259
+name = "heck"
260
+version = "0.4.1"
261
+source = "registry+https://github.com/rust-lang/crates.io-index"
262
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
263
+
264
+[[package]]
265
+name = "hermit-abi"
266
+version = "0.2.6"
267
+source = "registry+https://github.com/rust-lang/crates.io-index"
268
+checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
269
+dependencies = [
270
+ "libc",
271
+]
272
+
273
+[[package]]
274
+name = "hermit-abi"
275
+version = "0.3.1"
276
+source = "registry+https://github.com/rust-lang/crates.io-index"
277
+checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
278
+
279
+[[package]]
280
+name = "http"
281
+version = "0.2.9"
282
+source = "registry+https://github.com/rust-lang/crates.io-index"
283
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
284
+dependencies = [
285
+ "bytes",
286
+ "fnv",
287
+ "itoa",
288
+]
289
+
290
+[[package]]
291
+name = "http-body"
292
+version = "0.4.5"
293
+source = "registry+https://github.com/rust-lang/crates.io-index"
294
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
295
+dependencies = [
296
+ "bytes",
297
+ "http",
298
+ "pin-project-lite",
299
+]
300
+
301
+[[package]]
302
+name = "httparse"
303
+version = "1.8.0"
304
+source = "registry+https://github.com/rust-lang/crates.io-index"
305
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
306
+
307
+[[package]]
308
+name = "httpdate"
309
+version = "1.0.2"
310
+source = "registry+https://github.com/rust-lang/crates.io-index"
311
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
312
+
313
+[[package]]
314
+name = "hyper"
315
+version = "0.14.24"
316
+source = "registry+https://github.com/rust-lang/crates.io-index"
317
+checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c"
318
+dependencies = [
319
+ "bytes",
320
+ "futures-channel",
321
+ "futures-core",
322
+ "futures-util",
323
+ "h2",
324
+ "http",
325
+ "http-body",
326
+ "httparse",
327
+ "httpdate",
328
+ "itoa",
329
+ "pin-project-lite",
330
+ "socket2",
331
+ "tokio",
332
+ "tower-service",
333
+ "tracing",
334
+ "want",
335
+]
336
+
337
+[[package]]
338
+name = "hyper-tls"
339
+version = "0.5.0"
340
+source = "registry+https://github.com/rust-lang/crates.io-index"
341
+checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
342
+dependencies = [
343
+ "bytes",
344
+ "hyper",
345
+ "native-tls",
346
+ "tokio",
347
+ "tokio-native-tls",
348
+]
349
+
350
+[[package]]
351
+name = "idna"
352
+version = "0.3.0"
353
+source = "registry+https://github.com/rust-lang/crates.io-index"
354
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
355
+dependencies = [
356
+ "unicode-bidi",
357
+ "unicode-normalization",
358
+]
359
+
360
+[[package]]
361
+name = "indexmap"
362
+version = "1.9.2"
363
+source = "registry+https://github.com/rust-lang/crates.io-index"
364
+checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
365
+dependencies = [
366
+ "autocfg",
367
+ "hashbrown",
368
+]
369
+
370
+[[package]]
371
+name = "instant"
372
+version = "0.1.12"
373
+source = "registry+https://github.com/rust-lang/crates.io-index"
374
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
375
+dependencies = [
376
+ "cfg-if",
377
+]
378
+
379
+[[package]]
380
+name = "io-lifetimes"
381
+version = "1.0.5"
382
+source = "registry+https://github.com/rust-lang/crates.io-index"
383
+checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3"
384
+dependencies = [
385
+ "libc",
386
+ "windows-sys 0.45.0",
387
+]
388
+
389
+[[package]]
390
+name = "ipnet"
391
+version = "2.7.1"
392
+source = "registry+https://github.com/rust-lang/crates.io-index"
393
+checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146"
394
+
395
+[[package]]
396
+name = "is-terminal"
397
+version = "0.4.3"
398
+source = "registry+https://github.com/rust-lang/crates.io-index"
399
+checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef"
400
+dependencies = [
401
+ "hermit-abi 0.3.1",
402
+ "io-lifetimes",
403
+ "rustix",
404
+ "windows-sys 0.45.0",
405
+]
406
+
407
+[[package]]
408
+name = "itoa"
409
+version = "1.0.5"
410
+source = "registry+https://github.com/rust-lang/crates.io-index"
411
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
412
+
413
+[[package]]
414
+name = "js-sys"
415
+version = "0.3.61"
416
+source = "registry+https://github.com/rust-lang/crates.io-index"
417
+checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
418
+dependencies = [
419
+ "wasm-bindgen",
420
+]
421
+
422
+[[package]]
423
+name = "lazy_static"
424
+version = "1.4.0"
425
+source = "registry+https://github.com/rust-lang/crates.io-index"
426
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
427
+
428
+[[package]]
429
+name = "libc"
430
+version = "0.2.139"
431
+source = "registry+https://github.com/rust-lang/crates.io-index"
432
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
433
+
434
+[[package]]
435
+name = "linux-raw-sys"
436
+version = "0.1.4"
437
+source = "registry+https://github.com/rust-lang/crates.io-index"
438
+checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
439
+
440
+[[package]]
441
+name = "lock_api"
442
+version = "0.4.9"
443
+source = "registry+https://github.com/rust-lang/crates.io-index"
444
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
445
+dependencies = [
446
+ "autocfg",
447
+ "scopeguard",
448
+]
449
+
450
+[[package]]
451
+name = "log"
452
+version = "0.4.17"
453
+source = "registry+https://github.com/rust-lang/crates.io-index"
454
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
455
+dependencies = [
456
+ "cfg-if",
457
+]
458
+
459
+[[package]]
460
+name = "memchr"
461
+version = "2.5.0"
462
+source = "registry+https://github.com/rust-lang/crates.io-index"
463
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
464
+
465
+[[package]]
466
+name = "mime"
467
+version = "0.3.16"
468
+source = "registry+https://github.com/rust-lang/crates.io-index"
469
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
470
+
471
+[[package]]
472
+name = "mio"
473
+version = "0.8.6"
474
+source = "registry+https://github.com/rust-lang/crates.io-index"
475
+checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
476
+dependencies = [
477
+ "libc",
478
+ "log",
479
+ "wasi",
480
+ "windows-sys 0.45.0",
481
+]
482
+
483
+[[package]]
484
+name = "native-tls"
485
+version = "0.2.11"
486
+source = "registry+https://github.com/rust-lang/crates.io-index"
487
+checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
488
+dependencies = [
489
+ "lazy_static",
490
+ "libc",
491
+ "log",
492
+ "openssl",
493
+ "openssl-probe",
494
+ "openssl-sys",
495
+ "schannel",
496
+ "security-framework",
497
+ "security-framework-sys",
498
+ "tempfile",
499
+]
500
+
501
+[[package]]
502
+name = "num_cpus"
503
+version = "1.15.0"
504
+source = "registry+https://github.com/rust-lang/crates.io-index"
505
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
506
+dependencies = [
507
+ "hermit-abi 0.2.6",
508
+ "libc",
509
+]
510
+
511
+[[package]]
512
+name = "once_cell"
513
+version = "1.17.1"
514
+source = "registry+https://github.com/rust-lang/crates.io-index"
515
+checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
516
+
517
+[[package]]
518
+name = "openssl"
519
+version = "0.10.45"
520
+source = "registry+https://github.com/rust-lang/crates.io-index"
521
+checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1"
522
+dependencies = [
523
+ "bitflags",
524
+ "cfg-if",
525
+ "foreign-types",
526
+ "libc",
527
+ "once_cell",
528
+ "openssl-macros",
529
+ "openssl-sys",
530
+]
531
+
532
+[[package]]
533
+name = "openssl-macros"
534
+version = "0.1.0"
535
+source = "registry+https://github.com/rust-lang/crates.io-index"
536
+checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
537
+dependencies = [
538
+ "proc-macro2",
539
+ "quote",
540
+ "syn",
541
+]
542
+
543
+[[package]]
544
+name = "openssl-probe"
545
+version = "0.1.5"
546
+source = "registry+https://github.com/rust-lang/crates.io-index"
547
+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
548
+
549
+[[package]]
550
+name = "openssl-sys"
551
+version = "0.9.80"
552
+source = "registry+https://github.com/rust-lang/crates.io-index"
553
+checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7"
554
+dependencies = [
555
+ "autocfg",
556
+ "cc",
557
+ "libc",
558
+ "pkg-config",
559
+ "vcpkg",
560
+]
561
+
562
+[[package]]
563
+name = "os_str_bytes"
564
+version = "6.4.1"
565
+source = "registry+https://github.com/rust-lang/crates.io-index"
566
+checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
567
+
568
+[[package]]
569
+name = "parking_lot"
570
+version = "0.12.1"
571
+source = "registry+https://github.com/rust-lang/crates.io-index"
572
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
573
+dependencies = [
574
+ "lock_api",
575
+ "parking_lot_core",
576
+]
577
+
578
+[[package]]
579
+name = "parking_lot_core"
580
+version = "0.9.7"
581
+source = "registry+https://github.com/rust-lang/crates.io-index"
582
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
583
+dependencies = [
584
+ "cfg-if",
585
+ "libc",
586
+ "redox_syscall",
587
+ "smallvec",
588
+ "windows-sys 0.45.0",
589
+]
590
+
591
+[[package]]
592
+name = "percent-encoding"
593
+version = "2.2.0"
594
+source = "registry+https://github.com/rust-lang/crates.io-index"
595
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
596
+
597
+[[package]]
598
+name = "pin-project-lite"
599
+version = "0.2.9"
600
+source = "registry+https://github.com/rust-lang/crates.io-index"
601
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
602
+
603
+[[package]]
604
+name = "pin-utils"
605
+version = "0.1.0"
606
+source = "registry+https://github.com/rust-lang/crates.io-index"
607
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
608
+
609
+[[package]]
610
+name = "pkg-config"
611
+version = "0.3.26"
612
+source = "registry+https://github.com/rust-lang/crates.io-index"
613
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
614
+
615
+[[package]]
616
+name = "proc-macro-error"
617
+version = "1.0.4"
618
+source = "registry+https://github.com/rust-lang/crates.io-index"
619
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
620
+dependencies = [
621
+ "proc-macro-error-attr",
622
+ "proc-macro2",
623
+ "quote",
624
+ "syn",
625
+ "version_check",
626
+]
627
+
628
+[[package]]
629
+name = "proc-macro-error-attr"
630
+version = "1.0.4"
631
+source = "registry+https://github.com/rust-lang/crates.io-index"
632
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
633
+dependencies = [
634
+ "proc-macro2",
635
+ "quote",
636
+ "version_check",
637
+]
638
+
639
+[[package]]
640
+name = "proc-macro2"
641
+version = "1.0.51"
642
+source = "registry+https://github.com/rust-lang/crates.io-index"
643
+checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
644
+dependencies = [
645
+ "unicode-ident",
646
+]
647
+
648
+[[package]]
649
+name = "quote"
650
+version = "1.0.23"
651
+source = "registry+https://github.com/rust-lang/crates.io-index"
652
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
653
+dependencies = [
654
+ "proc-macro2",
655
+]
656
+
657
+[[package]]
658
+name = "redox_syscall"
659
+version = "0.2.16"
660
+source = "registry+https://github.com/rust-lang/crates.io-index"
661
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
662
+dependencies = [
663
+ "bitflags",
664
+]
665
+
666
+[[package]]
667
+name = "remove_dir_all"
668
+version = "0.5.3"
669
+source = "registry+https://github.com/rust-lang/crates.io-index"
670
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
671
+dependencies = [
672
+ "winapi",
673
+]
674
+
675
+[[package]]
676
+name = "reqwest"
677
+version = "0.11.14"
678
+source = "registry+https://github.com/rust-lang/crates.io-index"
679
+checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9"
680
+dependencies = [
681
+ "base64",
682
+ "bytes",
683
+ "encoding_rs",
684
+ "futures-core",
685
+ "futures-util",
686
+ "h2",
687
+ "http",
688
+ "http-body",
689
+ "hyper",
690
+ "hyper-tls",
691
+ "ipnet",
692
+ "js-sys",
693
+ "log",
694
+ "mime",
695
+ "native-tls",
696
+ "once_cell",
697
+ "percent-encoding",
698
+ "pin-project-lite",
699
+ "serde",
700
+ "serde_json",
701
+ "serde_urlencoded",
702
+ "tokio",
703
+ "tokio-native-tls",
704
+ "tower-service",
705
+ "url",
706
+ "wasm-bindgen",
707
+ "wasm-bindgen-futures",
708
+ "web-sys",
709
+ "winreg",
710
+]
711
+
712
+[[package]]
713
+name = "rustix"
714
+version = "0.36.8"
715
+source = "registry+https://github.com/rust-lang/crates.io-index"
716
+checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644"
717
+dependencies = [
718
+ "bitflags",
719
+ "errno",
720
+ "io-lifetimes",
721
+ "libc",
722
+ "linux-raw-sys",
723
+ "windows-sys 0.45.0",
724
+]
725
+
726
+[[package]]
727
+name = "ryu"
728
+version = "1.0.12"
729
+source = "registry+https://github.com/rust-lang/crates.io-index"
730
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
731
+
732
+[[package]]
733
+name = "schannel"
734
+version = "0.1.21"
735
+source = "registry+https://github.com/rust-lang/crates.io-index"
736
+checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
737
+dependencies = [
738
+ "windows-sys 0.42.0",
739
+]
740
+
741
+[[package]]
742
+name = "scopeguard"
743
+version = "1.1.0"
744
+source = "registry+https://github.com/rust-lang/crates.io-index"
745
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
746
+
747
+[[package]]
748
+name = "security-framework"
749
+version = "2.8.2"
750
+source = "registry+https://github.com/rust-lang/crates.io-index"
751
+checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
752
+dependencies = [
753
+ "bitflags",
754
+ "core-foundation",
755
+ "core-foundation-sys",
756
+ "libc",
757
+ "security-framework-sys",
758
+]
759
+
760
+[[package]]
761
+name = "security-framework-sys"
762
+version = "2.8.0"
763
+source = "registry+https://github.com/rust-lang/crates.io-index"
764
+checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
765
+dependencies = [
766
+ "core-foundation-sys",
767
+ "libc",
768
+]
769
+
770
+[[package]]
771
+name = "serde"
772
+version = "1.0.152"
773
+source = "registry+https://github.com/rust-lang/crates.io-index"
774
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
775
+dependencies = [
776
+ "serde_derive",
777
+]
778
+
779
+[[package]]
780
+name = "serde_derive"
781
+version = "1.0.152"
782
+source = "registry+https://github.com/rust-lang/crates.io-index"
783
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
784
+dependencies = [
785
+ "proc-macro2",
786
+ "quote",
787
+ "syn",
788
+]
789
+
790
+[[package]]
791
+name = "serde_json"
792
+version = "1.0.93"
793
+source = "registry+https://github.com/rust-lang/crates.io-index"
794
+checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
795
+dependencies = [
796
+ "itoa",
797
+ "ryu",
798
+ "serde",
799
+]
800
+
801
+[[package]]
802
+name = "serde_urlencoded"
803
+version = "0.7.1"
804
+source = "registry+https://github.com/rust-lang/crates.io-index"
805
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
806
+dependencies = [
807
+ "form_urlencoded",
808
+ "itoa",
809
+ "ryu",
810
+ "serde",
811
+]
812
+
813
+[[package]]
814
+name = "signal-hook-registry"
815
+version = "1.4.1"
816
+source = "registry+https://github.com/rust-lang/crates.io-index"
817
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
818
+dependencies = [
819
+ "libc",
820
+]
821
+
822
+[[package]]
823
+name = "slab"
824
+version = "0.4.7"
825
+source = "registry+https://github.com/rust-lang/crates.io-index"
826
+checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
827
+dependencies = [
828
+ "autocfg",
829
+]
830
+
831
+[[package]]
832
+name = "smallvec"
833
+version = "1.10.0"
834
+source = "registry+https://github.com/rust-lang/crates.io-index"
835
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
836
+
837
[[package]]
838
name = "smbpndk-cli"
839
version = "0.1.0"
840
+dependencies = [
841
+ "anyhow",
842
+ "clap",
843
+ "console",
844
+ "reqwest",
845
+ "serde",
846
+ "tokio",
847
+]
848
+
849
+[[package]]
850
+name = "socket2"
851
+version = "0.4.7"
852
+source = "registry+https://github.com/rust-lang/crates.io-index"
853
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
854
+dependencies = [
855
+ "libc",
856
+ "winapi",
857
+]
858
+
859
+[[package]]
860
+name = "strsim"
861
+version = "0.10.0"
862
+source = "registry+https://github.com/rust-lang/crates.io-index"
863
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
864
+
865
+[[package]]
866
+name = "syn"
867
+version = "1.0.107"
868
+source = "registry+https://github.com/rust-lang/crates.io-index"
869
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
870
+dependencies = [
871
+ "proc-macro2",
872
+ "quote",
873
+ "unicode-ident",
874
+]
875
+
876
+[[package]]
877
+name = "tempfile"
878
+version = "3.3.0"
879
+source = "registry+https://github.com/rust-lang/crates.io-index"
880
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
881
+dependencies = [
882
+ "cfg-if",
883
+ "fastrand",
884
+ "libc",
885
+ "redox_syscall",
886
+ "remove_dir_all",
887
+ "winapi",
888
+]
889
+
890
+[[package]]
891
+name = "termcolor"
892
+version = "1.2.0"
893
+source = "registry+https://github.com/rust-lang/crates.io-index"
894
+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
895
+dependencies = [
896
+ "winapi-util",
897
+]
898
+
899
+[[package]]
900
+name = "tinyvec"
901
+version = "1.6.0"
902
+source = "registry+https://github.com/rust-lang/crates.io-index"
903
+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
904
+dependencies = [
905
+ "tinyvec_macros",
906
+]
907
+
908
+[[package]]
909
+name = "tinyvec_macros"
910
+version = "0.1.1"
911
+source = "registry+https://github.com/rust-lang/crates.io-index"
912
+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
913
+
914
+[[package]]
915
+name = "tokio"
916
+version = "1.25.0"
917
+source = "registry+https://github.com/rust-lang/crates.io-index"
918
+checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
919
+dependencies = [
920
+ "autocfg",
921
+ "bytes",
922
+ "libc",
923
+ "memchr",
924
+ "mio",
925
+ "num_cpus",
926
+ "parking_lot",
927
+ "pin-project-lite",
928
+ "signal-hook-registry",
929
+ "socket2",
930
+ "tokio-macros",
931
+ "windows-sys 0.42.0",
932
+]
933
+
934
+[[package]]
935
+name = "tokio-macros"
936
+version = "1.8.2"
937
+source = "registry+https://github.com/rust-lang/crates.io-index"
938
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
939
+dependencies = [
940
+ "proc-macro2",
941
+ "quote",
942
+ "syn",
943
+]
944
+
945
+[[package]]
946
+name = "tokio-native-tls"
947
+version = "0.3.1"
948
+source = "registry+https://github.com/rust-lang/crates.io-index"
949
+checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
950
+dependencies = [
951
+ "native-tls",
952
+ "tokio",
953
+]
954
+
955
+[[package]]
956
+name = "tokio-util"
957
+version = "0.7.7"
958
+source = "registry+https://github.com/rust-lang/crates.io-index"
959
+checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
960
+dependencies = [
961
+ "bytes",
962
+ "futures-core",
963
+ "futures-sink",
964
+ "pin-project-lite",
965
+ "tokio",
966
+ "tracing",
967
+]
968
+
969
+[[package]]
970
+name = "tower-service"
971
+version = "0.3.2"
972
+source = "registry+https://github.com/rust-lang/crates.io-index"
973
+checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
974
+
975
+[[package]]
976
+name = "tracing"
977
+version = "0.1.37"
978
+source = "registry+https://github.com/rust-lang/crates.io-index"
979
+checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
980
+dependencies = [
981
+ "cfg-if",
982
+ "pin-project-lite",
983
+ "tracing-core",
984
+]
985
+
986
+[[package]]
987
+name = "tracing-core"
988
+version = "0.1.30"
989
+source = "registry+https://github.com/rust-lang/crates.io-index"
990
+checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
991
+dependencies = [
992
+ "once_cell",
993
+]
994
+
995
+[[package]]
996
+name = "try-lock"
997
+version = "0.2.4"
998
+source = "registry+https://github.com/rust-lang/crates.io-index"
999
+checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
1000
+
1001
+[[package]]
1002
+name = "unicode-bidi"
1003
+version = "0.3.10"
1004
+source = "registry+https://github.com/rust-lang/crates.io-index"
1005
+checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58"
1006
+
1007
+[[package]]
1008
+name = "unicode-ident"
1009
+version = "1.0.6"
1010
+source = "registry+https://github.com/rust-lang/crates.io-index"
1011
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
1012
+
1013
+[[package]]
1014
+name = "unicode-normalization"
1015
+version = "0.1.22"
1016
+source = "registry+https://github.com/rust-lang/crates.io-index"
1017
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
1018
+dependencies = [
1019
+ "tinyvec",
1020
+]
1021
+
1022
+[[package]]
1023
+name = "unicode-width"
1024
+version = "0.1.10"
1025
+source = "registry+https://github.com/rust-lang/crates.io-index"
1026
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
1027
+
1028
+[[package]]
1029
+name = "url"
1030
+version = "2.3.1"
1031
+source = "registry+https://github.com/rust-lang/crates.io-index"
1032
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
1033
+dependencies = [
1034
+ "form_urlencoded",
1035
+ "idna",
1036
+ "percent-encoding",
1037
+]
1038
+
1039
+[[package]]
1040
+name = "vcpkg"
1041
+version = "0.2.15"
1042
+source = "registry+https://github.com/rust-lang/crates.io-index"
1043
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
1044
+
1045
+[[package]]
1046
+name = "version_check"
1047
+version = "0.9.4"
1048
+source = "registry+https://github.com/rust-lang/crates.io-index"
1049
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1050
+
1051
+[[package]]
1052
+name = "want"
1053
+version = "0.3.0"
1054
+source = "registry+https://github.com/rust-lang/crates.io-index"
1055
+checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
1056
+dependencies = [
1057
+ "log",
1058
+ "try-lock",
1059
+]
1060
+
1061
+[[package]]
1062
+name = "wasi"
1063
+version = "0.11.0+wasi-snapshot-preview1"
1064
+source = "registry+https://github.com/rust-lang/crates.io-index"
1065
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
1066
+
1067
+[[package]]
1068
+name = "wasm-bindgen"
1069
+version = "0.2.84"
1070
+source = "registry+https://github.com/rust-lang/crates.io-index"
1071
+checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
1072
+dependencies = [
1073
+ "cfg-if",
1074
+ "wasm-bindgen-macro",
1075
+]
1076
+
1077
+[[package]]
1078
+name = "wasm-bindgen-backend"
1079
+version = "0.2.84"
1080
+source = "registry+https://github.com/rust-lang/crates.io-index"
1081
+checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
1082
+dependencies = [
1083
+ "bumpalo",
1084
+ "log",
1085
+ "once_cell",
1086
+ "proc-macro2",
1087
+ "quote",
1088
+ "syn",
1089
+ "wasm-bindgen-shared",
1090
+]
1091
+
1092
+[[package]]
1093
+name = "wasm-bindgen-futures"
1094
+version = "0.4.34"
1095
+source = "registry+https://github.com/rust-lang/crates.io-index"
1096
+checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
1097
+dependencies = [
1098
+ "cfg-if",
1099
+ "js-sys",
1100
+ "wasm-bindgen",
1101
+ "web-sys",
1102
+]
1103
+
1104
+[[package]]
1105
+name = "wasm-bindgen-macro"
1106
+version = "0.2.84"
1107
+source = "registry+https://github.com/rust-lang/crates.io-index"
1108
+checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
1109
+dependencies = [
1110
+ "quote",
1111
+ "wasm-bindgen-macro-support",
1112
+]
1113
+
1114
+[[package]]
1115
+name = "wasm-bindgen-macro-support"
1116
+version = "0.2.84"
1117
+source = "registry+https://github.com/rust-lang/crates.io-index"
1118
+checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
1119
+dependencies = [
1120
+ "proc-macro2",
1121
+ "quote",
1122
+ "syn",
1123
+ "wasm-bindgen-backend",
1124
+ "wasm-bindgen-shared",
1125
+]
1126
+
1127
+[[package]]
1128
+name = "wasm-bindgen-shared"
1129
+version = "0.2.84"
1130
+source = "registry+https://github.com/rust-lang/crates.io-index"
1131
+checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
1132
+
1133
+[[package]]
1134
+name = "web-sys"
1135
+version = "0.3.61"
1136
+source = "registry+https://github.com/rust-lang/crates.io-index"
1137
+checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
1138
+dependencies = [
1139
+ "js-sys",
1140
+ "wasm-bindgen",
1141
+]
1142
+
1143
+[[package]]
1144
+name = "winapi"
1145
+version = "0.3.9"
1146
+source = "registry+https://github.com/rust-lang/crates.io-index"
1147
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
1148
+dependencies = [
1149
+ "winapi-i686-pc-windows-gnu",
1150
+ "winapi-x86_64-pc-windows-gnu",
1151
+]
1152
+
1153
+[[package]]
1154
+name = "winapi-i686-pc-windows-gnu"
1155
+version = "0.4.0"
1156
+source = "registry+https://github.com/rust-lang/crates.io-index"
1157
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1158
+
1159
+[[package]]
1160
+name = "winapi-util"
1161
+version = "0.1.5"
1162
+source = "registry+https://github.com/rust-lang/crates.io-index"
1163
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
1164
+dependencies = [
1165
+ "winapi",
1166
+]
1167
+
1168
+[[package]]
1169
+name = "winapi-x86_64-pc-windows-gnu"
1170
+version = "0.4.0"
1171
+source = "registry+https://github.com/rust-lang/crates.io-index"
1172
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
1173
+
1174
+[[package]]
1175
+name = "windows-sys"
1176
+version = "0.42.0"
1177
+source = "registry+https://github.com/rust-lang/crates.io-index"
1178
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
1179
+dependencies = [
1180
+ "windows_aarch64_gnullvm",
1181
+ "windows_aarch64_msvc",
1182
+ "windows_i686_gnu",
1183
+ "windows_i686_msvc",
1184
+ "windows_x86_64_gnu",
1185
+ "windows_x86_64_gnullvm",
1186
+ "windows_x86_64_msvc",
1187
+]
1188
+
1189
+[[package]]
1190
+name = "windows-sys"
1191
+version = "0.45.0"
1192
+source = "registry+https://github.com/rust-lang/crates.io-index"
1193
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
1194
+dependencies = [
1195
+ "windows-targets",
1196
+]
1197
+
1198
+[[package]]
1199
+name = "windows-targets"
1200
+version = "0.42.1"
1201
+source = "registry+https://github.com/rust-lang/crates.io-index"
1202
+checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
1203
+dependencies = [
1204
+ "windows_aarch64_gnullvm",
1205
+ "windows_aarch64_msvc",
1206
+ "windows_i686_gnu",
1207
+ "windows_i686_msvc",
1208
+ "windows_x86_64_gnu",
1209
+ "windows_x86_64_gnullvm",
1210
+ "windows_x86_64_msvc",
1211
+]
1212
+
1213
+[[package]]
1214
+name = "windows_aarch64_gnullvm"
1215
+version = "0.42.1"
1216
+source = "registry+https://github.com/rust-lang/crates.io-index"
1217
+checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
1218
+
1219
+[[package]]
1220
+name = "windows_aarch64_msvc"
1221
+version = "0.42.1"
1222
+source = "registry+https://github.com/rust-lang/crates.io-index"
1223
+checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
1224
+
1225
+[[package]]
1226
+name = "windows_i686_gnu"
1227
+version = "0.42.1"
1228
+source = "registry+https://github.com/rust-lang/crates.io-index"
1229
+checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
1230
+
1231
+[[package]]
1232
+name = "windows_i686_msvc"
1233
+version = "0.42.1"
1234
+source = "registry+https://github.com/rust-lang/crates.io-index"
1235
+checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
1236
+
1237
+[[package]]
1238
+name = "windows_x86_64_gnu"
1239
+version = "0.42.1"
1240
+source = "registry+https://github.com/rust-lang/crates.io-index"
1241
+checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
1242
+
1243
+[[package]]
1244
+name = "windows_x86_64_gnullvm"
1245
+version = "0.42.1"
1246
+source = "registry+https://github.com/rust-lang/crates.io-index"
1247
+checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
1248
+
1249
+[[package]]
1250
+name = "windows_x86_64_msvc"
1251
+version = "0.42.1"
1252
+source = "registry+https://github.com/rust-lang/crates.io-index"
1253
+checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
1254
+
1255
+[[package]]
1256
+name = "winreg"
1257
+version = "0.10.1"
1258
+source = "registry+https://github.com/rust-lang/crates.io-index"
1259
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
1260
+dependencies = [
1261
+ "winapi",
1262
+]
Cargo.toml
+6
@@ -14,3 +14,9 @@ name = "smb"
14
path = "src/main.rs"
15
16
[dependencies]
17
+anyhow = "1.0.58"
18
+clap = { version = "4.1.6", features = ["derive"] }
19
+console = "0.15.0"
20
+reqwest = { version = "0.11", features = ["json"] }
21
+serde = { version = "1", features = ["derive"] }
22
+tokio = { version = "1.14.1", features = ["full"] }
\ No newline at end of file
src/cli/mod.rs
new
+19
@@ -0,0 +1,19 @@
1
+use clap::{Parser, Subcommand};
2
+
3
+#[derive(Parser)]
4
+#[clap(author, version, about)]
5
+pub struct Cli {
6
+ #[clap(subcommand)]
7
+ pub command: Commands,
8
+}
9
+
10
+#[derive(Subcommand)]
11
+pub enum Commands {
12
+ #[clap(about = "Create a new project")]
13
+ Login {
14
+ #[clap(short, long)]
15
+ username: String,
16
+ #[clap(short, long)]
17
+ password: String,
18
+ },
19
+}
src/constants.rs
new
+4
@@ -0,0 +1,4 @@
1
+use console::Emoji;
2
+pub const BASE_URL: &str = "http://localhost:3000";
3
+
4
+pub const GUARD_EMOJI: Emoji<'_, '_> = Emoji("🛡 ", "");
src/lib.rs
new
+2
@@ -0,0 +1,2 @@
1
+pub mod cli;
2
+pub mod login;
src/login/mod.rs
new
+2
@@ -0,0 +1,2 @@
1
+pub mod process;
2
+pub use process::*;
src/login/process.rs
new
+45
@@ -0,0 +1,45 @@
1
+use anyhow::Result;
2
+use reqwest::Client;
3
+use serde::{Deserialize, Serialize};
4
+
5
+pub struct LoginArgs {
6
+ pub username: String,
7
+ pub password: String,
8
+}
9
+
10
+#[derive(Debug, Serialize)]
11
+struct LoginParams {
12
+ user: User,
13
+}
14
+
15
+#[derive(Debug, Serialize)]
16
+struct User {
17
+ email: String,
18
+ password: String,
19
+}
20
+
21
+#[derive(Debug, Serialize, Deserialize)]
22
+struct LoginResult {
23
+ status: i32,
24
+ error: String,
25
+}
26
+
27
+pub async fn process_login(args: LoginArgs) -> Result<()> {
28
+ let login_params = LoginParams {
29
+ user: User {
30
+ email: args.username,
31
+ password: args.password,
32
+ },
33
+ };
34
+
35
+ let response: LoginResult = Client::new()
36
+ .post("http://localhost:3000/v1/users/sign_in")
37
+ .json(&login_params)
38
+ .send()
39
+ .await?
40
+ .json()
41
+ .await?;
42
+
43
+ println!("Response: {:?}", response);
44
+ Ok(())
45
+}
src/main.rs
+30
-2
@@ -1,3 +1,31 @@
1
-fn main() {
2
- println!("Hello, world!");
1
+use anyhow::Result;
2
+use clap::Parser;
3
+use smbpndk_cli::{
4
+ cli::{Cli, Commands},
5
+ login::{process_login, LoginArgs},
6
+};
7
+
8
+#[tokio::main]
9
+async fn main() {
10
+ match run().await {
11
+ Ok(_) => {
12
+ println!("Command successful.");
13
+ }
14
+ Err(e) => {
15
+ eprintln!("{}", e);
16
+ std::process::exit(1);
17
+ }
18
+ }
19
+}
20
+
21
+async fn run() -> Result<()> {
22
+ let cli = Cli::parse();
23
+ match cli.command {
24
+ Commands::Login { username, password } => {
25
+ println!("Login: {}, {}", username, password);
26
+ process_login(LoginArgs { username, password }).await?;
27
+ }
28
+ }
29
+
30
+ Ok(())
31
}