├── .earthlyignore
├── .envrc
├── .github
└── workflows
│ └── check.yaml
├── .gitignore
├── Cargo.lock
├── Cargo.toml
├── Configuration.md
├── Earthfile
├── LICENSE
├── README.md
├── build.rs
├── default.css
├── docker-compose.yaml
├── flake.lock
├── flake.nix
├── justfile
├── rustfmt.toml
└── src
├── html.rs
├── main.rs
├── response.rs
├── response
└── configuration.rs
└── url.rs
/.earthlyignore:
--------------------------------------------------------------------------------
1 | **
2 |
3 | !.git/
4 | !src/
5 | !build.rs
6 | !Cargo.*
7 | !default.css
8 |
9 |
--------------------------------------------------------------------------------
/.envrc:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | if type -P lorri &>/dev/null; then
4 | eval "$(lorri direnv)"
5 | else
6 | echo 'while direnv evaluated .envrc, could not find the command "lorri" [https://github.com/nix-community/lorri]'
7 |
8 | use nix
9 | fi
10 |
11 |
--------------------------------------------------------------------------------
/.github/workflows/check.yaml:
--------------------------------------------------------------------------------
1 | name: Check ✅
2 | on:
3 | workflow_dispatch:
4 | push:
5 | paths:
6 | - "*"
7 | pull_request:
8 | paths:
9 | - "*"
10 | env:
11 | CARGO_TERM_COLOR: always
12 | jobs:
13 | check:
14 | name: Check ✅
15 | runs-on: ubuntu-latest
16 | steps:
17 | - name: Checkout 🛒
18 | uses: actions/checkout@v3
19 | - name: Toolchain 🧰
20 | uses: actions-rs/toolchain@v1
21 | with:
22 | profile: minimal
23 | toolchain: 1.78.0
24 | components: rustfmt, clippy
25 | override: true
26 | - name: Check ✅
27 | uses: actions-rs/cargo@v1
28 | continue-on-error: false
29 | with:
30 | command: check
31 | args: --verbose
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Rust
2 | target
3 | **/*.rs.bk
4 |
5 | # CLion
6 | .idea
7 |
8 | # Development
9 | .env
10 | .secret
11 |
12 | # Fleet
13 | .cargo
14 | fleet.toml
15 |
16 | # Visual Studio Code
17 | .vscode
18 |
19 | # Nix
20 | result*
21 |
22 | # macOS
23 | .DS_Store
24 |
25 | # Fuwn/justfiles
26 | *.just
27 |
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
1 | # This file is automatically @generated by Cargo.
2 | # It is not intended for manual editing.
3 | version = 4
4 |
5 | [[package]]
6 | name = "actix-codec"
7 | version = "0.5.1"
8 | source = "registry+https://github.com/rust-lang/crates.io-index"
9 | checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8"
10 | dependencies = [
11 | "bitflags 1.3.2",
12 | "bytes",
13 | "futures-core",
14 | "futures-sink",
15 | "memchr",
16 | "pin-project-lite",
17 | "tokio",
18 | "tokio-util",
19 | "tracing",
20 | ]
21 |
22 | [[package]]
23 | name = "actix-http"
24 | version = "3.7.0"
25 | source = "registry+https://github.com/rust-lang/crates.io-index"
26 | checksum = "4eb9843d84c775696c37d9a418bbb01b932629d01870722c0f13eb3f95e2536d"
27 | dependencies = [
28 | "actix-codec",
29 | "actix-rt",
30 | "actix-service",
31 | "actix-utils",
32 | "ahash",
33 | "base64",
34 | "bitflags 2.5.0",
35 | "brotli",
36 | "bytes",
37 | "bytestring",
38 | "derive_more",
39 | "encoding_rs",
40 | "flate2",
41 | "futures-core",
42 | "h2",
43 | "http",
44 | "httparse",
45 | "httpdate",
46 | "itoa",
47 | "language-tags",
48 | "local-channel",
49 | "mime",
50 | "percent-encoding",
51 | "pin-project-lite",
52 | "rand",
53 | "sha1",
54 | "smallvec",
55 | "tokio",
56 | "tokio-util",
57 | "tracing",
58 | "zstd",
59 | ]
60 |
61 | [[package]]
62 | name = "actix-macros"
63 | version = "0.2.3"
64 | source = "registry+https://github.com/rust-lang/crates.io-index"
65 | checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6"
66 | dependencies = [
67 | "quote",
68 | "syn 1.0.109",
69 | ]
70 |
71 | [[package]]
72 | name = "actix-router"
73 | version = "0.5.3"
74 | source = "registry+https://github.com/rust-lang/crates.io-index"
75 | checksum = "13d324164c51f63867b57e73ba5936ea151b8a41a1d23d1031eeb9f70d0236f8"
76 | dependencies = [
77 | "bytestring",
78 | "cfg-if",
79 | "http",
80 | "regex",
81 | "regex-lite",
82 | "serde",
83 | "tracing",
84 | ]
85 |
86 | [[package]]
87 | name = "actix-rt"
88 | version = "2.8.0"
89 | source = "registry+https://github.com/rust-lang/crates.io-index"
90 | checksum = "15265b6b8e2347670eb363c47fc8c75208b4a4994b27192f345fcbe707804f3e"
91 | dependencies = [
92 | "futures-core",
93 | "tokio",
94 | ]
95 |
96 | [[package]]
97 | name = "actix-server"
98 | version = "2.2.0"
99 | source = "registry+https://github.com/rust-lang/crates.io-index"
100 | checksum = "3e8613a75dd50cc45f473cee3c34d59ed677c0f7b44480ce3b8247d7dc519327"
101 | dependencies = [
102 | "actix-rt",
103 | "actix-service",
104 | "actix-utils",
105 | "futures-core",
106 | "futures-util",
107 | "mio",
108 | "num_cpus",
109 | "socket2 0.4.9",
110 | "tokio",
111 | "tracing",
112 | ]
113 |
114 | [[package]]
115 | name = "actix-service"
116 | version = "2.0.2"
117 | source = "registry+https://github.com/rust-lang/crates.io-index"
118 | checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a"
119 | dependencies = [
120 | "futures-core",
121 | "paste",
122 | "pin-project-lite",
123 | ]
124 |
125 | [[package]]
126 | name = "actix-utils"
127 | version = "3.0.1"
128 | source = "registry+https://github.com/rust-lang/crates.io-index"
129 | checksum = "88a1dcdff1466e3c2488e1cb5c36a71822750ad43839937f85d2f4d9f8b705d8"
130 | dependencies = [
131 | "local-waker",
132 | "pin-project-lite",
133 | ]
134 |
135 | [[package]]
136 | name = "actix-web"
137 | version = "4.9.0"
138 | source = "registry+https://github.com/rust-lang/crates.io-index"
139 | checksum = "9180d76e5cc7ccbc4d60a506f2c727730b154010262df5b910eb17dbe4b8cb38"
140 | dependencies = [
141 | "actix-codec",
142 | "actix-http",
143 | "actix-macros",
144 | "actix-router",
145 | "actix-rt",
146 | "actix-server",
147 | "actix-service",
148 | "actix-utils",
149 | "actix-web-codegen",
150 | "ahash",
151 | "bytes",
152 | "bytestring",
153 | "cfg-if",
154 | "cookie",
155 | "derive_more",
156 | "encoding_rs",
157 | "futures-core",
158 | "futures-util",
159 | "impl-more",
160 | "itoa",
161 | "language-tags",
162 | "log",
163 | "mime",
164 | "once_cell",
165 | "pin-project-lite",
166 | "regex",
167 | "regex-lite",
168 | "serde",
169 | "serde_json",
170 | "serde_urlencoded",
171 | "smallvec",
172 | "socket2 0.5.7",
173 | "time",
174 | "url",
175 | ]
176 |
177 | [[package]]
178 | name = "actix-web-codegen"
179 | version = "4.3.0"
180 | source = "registry+https://github.com/rust-lang/crates.io-index"
181 | checksum = "f591380e2e68490b5dfaf1dd1aa0ebe78d84ba7067078512b4ea6e4492d622b8"
182 | dependencies = [
183 | "actix-router",
184 | "proc-macro2",
185 | "quote",
186 | "syn 2.0.66",
187 | ]
188 |
189 | [[package]]
190 | name = "adler"
191 | version = "1.0.2"
192 | source = "registry+https://github.com/rust-lang/crates.io-index"
193 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
194 |
195 | [[package]]
196 | name = "ahash"
197 | version = "0.8.11"
198 | source = "registry+https://github.com/rust-lang/crates.io-index"
199 | checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
200 | dependencies = [
201 | "cfg-if",
202 | "getrandom",
203 | "once_cell",
204 | "version_check",
205 | "zerocopy",
206 | ]
207 |
208 | [[package]]
209 | name = "aho-corasick"
210 | version = "1.0.1"
211 | source = "registry+https://github.com/rust-lang/crates.io-index"
212 | checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
213 | dependencies = [
214 | "memchr",
215 | ]
216 |
217 | [[package]]
218 | name = "alloc-no-stdlib"
219 | version = "2.0.4"
220 | source = "registry+https://github.com/rust-lang/crates.io-index"
221 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
222 |
223 | [[package]]
224 | name = "alloc-stdlib"
225 | version = "0.2.2"
226 | source = "registry+https://github.com/rust-lang/crates.io-index"
227 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
228 | dependencies = [
229 | "alloc-no-stdlib",
230 | ]
231 |
232 | [[package]]
233 | name = "allocator-api2"
234 | version = "0.2.18"
235 | source = "registry+https://github.com/rust-lang/crates.io-index"
236 | checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
237 |
238 | [[package]]
239 | name = "anstream"
240 | version = "0.6.14"
241 | source = "registry+https://github.com/rust-lang/crates.io-index"
242 | checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
243 | dependencies = [
244 | "anstyle",
245 | "anstyle-parse",
246 | "anstyle-query",
247 | "anstyle-wincon",
248 | "colorchoice",
249 | "is_terminal_polyfill",
250 | "utf8parse",
251 | ]
252 |
253 | [[package]]
254 | name = "anstyle"
255 | version = "1.0.7"
256 | source = "registry+https://github.com/rust-lang/crates.io-index"
257 | checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
258 |
259 | [[package]]
260 | name = "anstyle-parse"
261 | version = "0.2.4"
262 | source = "registry+https://github.com/rust-lang/crates.io-index"
263 | checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
264 | dependencies = [
265 | "utf8parse",
266 | ]
267 |
268 | [[package]]
269 | name = "anstyle-query"
270 | version = "1.1.0"
271 | source = "registry+https://github.com/rust-lang/crates.io-index"
272 | checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
273 | dependencies = [
274 | "windows-sys 0.52.0",
275 | ]
276 |
277 | [[package]]
278 | name = "anstyle-wincon"
279 | version = "3.0.3"
280 | source = "registry+https://github.com/rust-lang/crates.io-index"
281 | checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
282 | dependencies = [
283 | "anstyle",
284 | "windows-sys 0.52.0",
285 | ]
286 |
287 | [[package]]
288 | name = "anyhow"
289 | version = "1.0.92"
290 | source = "registry+https://github.com/rust-lang/crates.io-index"
291 | checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13"
292 |
293 | [[package]]
294 | name = "arc-swap"
295 | version = "1.6.0"
296 | source = "registry+https://github.com/rust-lang/crates.io-index"
297 | checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
298 |
299 | [[package]]
300 | name = "autocfg"
301 | version = "1.1.0"
302 | source = "registry+https://github.com/rust-lang/crates.io-index"
303 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
304 |
305 | [[package]]
306 | name = "base64"
307 | version = "0.22.1"
308 | source = "registry+https://github.com/rust-lang/crates.io-index"
309 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
310 |
311 | [[package]]
312 | name = "bincode"
313 | version = "1.3.3"
314 | source = "registry+https://github.com/rust-lang/crates.io-index"
315 | checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
316 | dependencies = [
317 | "serde",
318 | ]
319 |
320 | [[package]]
321 | name = "bit-set"
322 | version = "0.5.3"
323 | source = "registry+https://github.com/rust-lang/crates.io-index"
324 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
325 | dependencies = [
326 | "bit-vec",
327 | ]
328 |
329 | [[package]]
330 | name = "bit-vec"
331 | version = "0.6.3"
332 | source = "registry+https://github.com/rust-lang/crates.io-index"
333 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
334 |
335 | [[package]]
336 | name = "bitflags"
337 | version = "1.3.2"
338 | source = "registry+https://github.com/rust-lang/crates.io-index"
339 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
340 |
341 | [[package]]
342 | name = "bitflags"
343 | version = "2.5.0"
344 | source = "registry+https://github.com/rust-lang/crates.io-index"
345 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
346 |
347 | [[package]]
348 | name = "block-buffer"
349 | version = "0.10.4"
350 | source = "registry+https://github.com/rust-lang/crates.io-index"
351 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
352 | dependencies = [
353 | "generic-array",
354 | ]
355 |
356 | [[package]]
357 | name = "brotli"
358 | version = "6.0.0"
359 | source = "registry+https://github.com/rust-lang/crates.io-index"
360 | checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
361 | dependencies = [
362 | "alloc-no-stdlib",
363 | "alloc-stdlib",
364 | "brotli-decompressor",
365 | ]
366 |
367 | [[package]]
368 | name = "brotli-decompressor"
369 | version = "4.0.1"
370 | source = "registry+https://github.com/rust-lang/crates.io-index"
371 | checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"
372 | dependencies = [
373 | "alloc-no-stdlib",
374 | "alloc-stdlib",
375 | ]
376 |
377 | [[package]]
378 | name = "bstr"
379 | version = "1.5.0"
380 | source = "registry+https://github.com/rust-lang/crates.io-index"
381 | checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
382 | dependencies = [
383 | "memchr",
384 | "once_cell",
385 | "regex-automata",
386 | "serde",
387 | ]
388 |
389 | [[package]]
390 | name = "bumpalo"
391 | version = "3.12.2"
392 | source = "registry+https://github.com/rust-lang/crates.io-index"
393 | checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b"
394 |
395 | [[package]]
396 | name = "bytes"
397 | version = "1.4.0"
398 | source = "registry+https://github.com/rust-lang/crates.io-index"
399 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
400 |
401 | [[package]]
402 | name = "bytestring"
403 | version = "1.3.0"
404 | source = "registry+https://github.com/rust-lang/crates.io-index"
405 | checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae"
406 | dependencies = [
407 | "bytes",
408 | ]
409 |
410 | [[package]]
411 | name = "caseless"
412 | version = "0.2.1"
413 | source = "registry+https://github.com/rust-lang/crates.io-index"
414 | checksum = "808dab3318747be122cb31d36de18d4d1c81277a76f8332a02b81a3d73463d7f"
415 | dependencies = [
416 | "regex",
417 | "unicode-normalization",
418 | ]
419 |
420 | [[package]]
421 | name = "cc"
422 | version = "1.0.79"
423 | source = "registry+https://github.com/rust-lang/crates.io-index"
424 | checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
425 | dependencies = [
426 | "jobserver",
427 | ]
428 |
429 | [[package]]
430 | name = "cfg-if"
431 | version = "1.0.0"
432 | source = "registry+https://github.com/rust-lang/crates.io-index"
433 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
434 |
435 | [[package]]
436 | name = "clap"
437 | version = "4.5.10"
438 | source = "registry+https://github.com/rust-lang/crates.io-index"
439 | checksum = "8f6b81fb3c84f5563d509c59b5a48d935f689e993afa90fe39047f05adef9142"
440 | dependencies = [
441 | "clap_builder",
442 | "clap_derive",
443 | ]
444 |
445 | [[package]]
446 | name = "clap_builder"
447 | version = "4.5.10"
448 | source = "registry+https://github.com/rust-lang/crates.io-index"
449 | checksum = "5ca6706fd5224857d9ac5eb9355f6683563cc0541c7cd9d014043b57cbec78ac"
450 | dependencies = [
451 | "anstream",
452 | "anstyle",
453 | "clap_lex",
454 | "strsim",
455 | "terminal_size",
456 | ]
457 |
458 | [[package]]
459 | name = "clap_derive"
460 | version = "4.5.8"
461 | source = "registry+https://github.com/rust-lang/crates.io-index"
462 | checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
463 | dependencies = [
464 | "heck",
465 | "proc-macro2",
466 | "quote",
467 | "syn 2.0.66",
468 | ]
469 |
470 | [[package]]
471 | name = "clap_lex"
472 | version = "0.7.1"
473 | source = "registry+https://github.com/rust-lang/crates.io-index"
474 | checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
475 |
476 | [[package]]
477 | name = "clru"
478 | version = "0.6.1"
479 | source = "registry+https://github.com/rust-lang/crates.io-index"
480 | checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807"
481 |
482 | [[package]]
483 | name = "colorchoice"
484 | version = "1.0.1"
485 | source = "registry+https://github.com/rust-lang/crates.io-index"
486 | checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
487 |
488 | [[package]]
489 | name = "comrak"
490 | version = "0.29.0"
491 | source = "registry+https://github.com/rust-lang/crates.io-index"
492 | checksum = "d8c32ff8b21372fab0e9ecc4e42536055702dc5faa418362bffd1544f9d12637"
493 | dependencies = [
494 | "caseless",
495 | "clap",
496 | "derive_builder",
497 | "entities",
498 | "memchr",
499 | "once_cell",
500 | "regex",
501 | "shell-words",
502 | "slug",
503 | "syntect",
504 | "typed-arena",
505 | "unicode_categories",
506 | "xdg",
507 | ]
508 |
509 | [[package]]
510 | name = "convert_case"
511 | version = "0.4.0"
512 | source = "registry+https://github.com/rust-lang/crates.io-index"
513 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
514 |
515 | [[package]]
516 | name = "cookie"
517 | version = "0.16.2"
518 | source = "registry+https://github.com/rust-lang/crates.io-index"
519 | checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
520 | dependencies = [
521 | "percent-encoding",
522 | "time",
523 | "version_check",
524 | ]
525 |
526 | [[package]]
527 | name = "cpufeatures"
528 | version = "0.2.7"
529 | source = "registry+https://github.com/rust-lang/crates.io-index"
530 | checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
531 | dependencies = [
532 | "libc",
533 | ]
534 |
535 | [[package]]
536 | name = "crc32fast"
537 | version = "1.3.2"
538 | source = "registry+https://github.com/rust-lang/crates.io-index"
539 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
540 | dependencies = [
541 | "cfg-if",
542 | ]
543 |
544 | [[package]]
545 | name = "crypto-common"
546 | version = "0.1.6"
547 | source = "registry+https://github.com/rust-lang/crates.io-index"
548 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
549 | dependencies = [
550 | "generic-array",
551 | "typenum",
552 | ]
553 |
554 | [[package]]
555 | name = "darling"
556 | version = "0.20.10"
557 | source = "registry+https://github.com/rust-lang/crates.io-index"
558 | checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989"
559 | dependencies = [
560 | "darling_core",
561 | "darling_macro",
562 | ]
563 |
564 | [[package]]
565 | name = "darling_core"
566 | version = "0.20.10"
567 | source = "registry+https://github.com/rust-lang/crates.io-index"
568 | checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5"
569 | dependencies = [
570 | "fnv",
571 | "ident_case",
572 | "proc-macro2",
573 | "quote",
574 | "strsim",
575 | "syn 2.0.66",
576 | ]
577 |
578 | [[package]]
579 | name = "darling_macro"
580 | version = "0.20.10"
581 | source = "registry+https://github.com/rust-lang/crates.io-index"
582 | checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
583 | dependencies = [
584 | "darling_core",
585 | "quote",
586 | "syn 2.0.66",
587 | ]
588 |
589 | [[package]]
590 | name = "deranged"
591 | version = "0.3.11"
592 | source = "registry+https://github.com/rust-lang/crates.io-index"
593 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
594 | dependencies = [
595 | "powerfmt",
596 | ]
597 |
598 | [[package]]
599 | name = "derive_builder"
600 | version = "0.20.0"
601 | source = "registry+https://github.com/rust-lang/crates.io-index"
602 | checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7"
603 | dependencies = [
604 | "derive_builder_macro",
605 | ]
606 |
607 | [[package]]
608 | name = "derive_builder_core"
609 | version = "0.20.0"
610 | source = "registry+https://github.com/rust-lang/crates.io-index"
611 | checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d"
612 | dependencies = [
613 | "darling",
614 | "proc-macro2",
615 | "quote",
616 | "syn 2.0.66",
617 | ]
618 |
619 | [[package]]
620 | name = "derive_builder_macro"
621 | version = "0.20.0"
622 | source = "registry+https://github.com/rust-lang/crates.io-index"
623 | checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b"
624 | dependencies = [
625 | "derive_builder_core",
626 | "syn 2.0.66",
627 | ]
628 |
629 | [[package]]
630 | name = "derive_more"
631 | version = "0.99.17"
632 | source = "registry+https://github.com/rust-lang/crates.io-index"
633 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
634 | dependencies = [
635 | "convert_case",
636 | "proc-macro2",
637 | "quote",
638 | "rustc_version",
639 | "syn 1.0.109",
640 | ]
641 |
642 | [[package]]
643 | name = "deunicode"
644 | version = "1.6.0"
645 | source = "registry+https://github.com/rust-lang/crates.io-index"
646 | checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00"
647 |
648 | [[package]]
649 | name = "digest"
650 | version = "0.10.6"
651 | source = "registry+https://github.com/rust-lang/crates.io-index"
652 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
653 | dependencies = [
654 | "block-buffer",
655 | "crypto-common",
656 | ]
657 |
658 | [[package]]
659 | name = "dotenv"
660 | version = "0.15.0"
661 | source = "registry+https://github.com/rust-lang/crates.io-index"
662 | checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
663 |
664 | [[package]]
665 | name = "dunce"
666 | version = "1.0.4"
667 | source = "registry+https://github.com/rust-lang/crates.io-index"
668 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
669 |
670 | [[package]]
671 | name = "encoding_rs"
672 | version = "0.8.32"
673 | source = "registry+https://github.com/rust-lang/crates.io-index"
674 | checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
675 | dependencies = [
676 | "cfg-if",
677 | ]
678 |
679 | [[package]]
680 | name = "entities"
681 | version = "1.0.1"
682 | source = "registry+https://github.com/rust-lang/crates.io-index"
683 | checksum = "b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca"
684 |
685 | [[package]]
686 | name = "env_logger"
687 | version = "0.10.0"
688 | source = "registry+https://github.com/rust-lang/crates.io-index"
689 | checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
690 | dependencies = [
691 | "humantime",
692 | "is-terminal",
693 | "log",
694 | "regex",
695 | "termcolor",
696 | ]
697 |
698 | [[package]]
699 | name = "equivalent"
700 | version = "1.0.1"
701 | source = "registry+https://github.com/rust-lang/crates.io-index"
702 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
703 |
704 | [[package]]
705 | name = "errno"
706 | version = "0.3.9"
707 | source = "registry+https://github.com/rust-lang/crates.io-index"
708 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
709 | dependencies = [
710 | "libc",
711 | "windows-sys 0.52.0",
712 | ]
713 |
714 | [[package]]
715 | name = "fancy-regex"
716 | version = "0.11.0"
717 | source = "registry+https://github.com/rust-lang/crates.io-index"
718 | checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
719 | dependencies = [
720 | "bit-set",
721 | "regex",
722 | ]
723 |
724 | [[package]]
725 | name = "faster-hex"
726 | version = "0.9.0"
727 | source = "registry+https://github.com/rust-lang/crates.io-index"
728 | checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"
729 |
730 | [[package]]
731 | name = "fastrand"
732 | version = "2.1.0"
733 | source = "registry+https://github.com/rust-lang/crates.io-index"
734 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
735 |
736 | [[package]]
737 | name = "filetime"
738 | version = "0.2.21"
739 | source = "registry+https://github.com/rust-lang/crates.io-index"
740 | checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
741 | dependencies = [
742 | "cfg-if",
743 | "libc",
744 | "redox_syscall",
745 | "windows-sys 0.48.0",
746 | ]
747 |
748 | [[package]]
749 | name = "flate2"
750 | version = "1.0.26"
751 | source = "registry+https://github.com/rust-lang/crates.io-index"
752 | checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
753 | dependencies = [
754 | "crc32fast",
755 | "miniz_oxide",
756 | ]
757 |
758 | [[package]]
759 | name = "fnv"
760 | version = "1.0.7"
761 | source = "registry+https://github.com/rust-lang/crates.io-index"
762 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
763 |
764 | [[package]]
765 | name = "form_urlencoded"
766 | version = "1.2.1"
767 | source = "registry+https://github.com/rust-lang/crates.io-index"
768 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
769 | dependencies = [
770 | "percent-encoding",
771 | ]
772 |
773 | [[package]]
774 | name = "futures-core"
775 | version = "0.3.28"
776 | source = "registry+https://github.com/rust-lang/crates.io-index"
777 | checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
778 |
779 | [[package]]
780 | name = "futures-sink"
781 | version = "0.3.28"
782 | source = "registry+https://github.com/rust-lang/crates.io-index"
783 | checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
784 |
785 | [[package]]
786 | name = "futures-task"
787 | version = "0.3.28"
788 | source = "registry+https://github.com/rust-lang/crates.io-index"
789 | checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
790 |
791 | [[package]]
792 | name = "futures-util"
793 | version = "0.3.28"
794 | source = "registry+https://github.com/rust-lang/crates.io-index"
795 | checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
796 | dependencies = [
797 | "futures-core",
798 | "futures-task",
799 | "pin-project-lite",
800 | "pin-utils",
801 | ]
802 |
803 | [[package]]
804 | name = "generic-array"
805 | version = "0.14.7"
806 | source = "registry+https://github.com/rust-lang/crates.io-index"
807 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
808 | dependencies = [
809 | "typenum",
810 | "version_check",
811 | ]
812 |
813 | [[package]]
814 | name = "germ"
815 | version = "0.4.5"
816 | source = "registry+https://github.com/rust-lang/crates.io-index"
817 | checksum = "b5d74efa222baa305a6f336ff6a4c957bbd2ce8dd3d72f11537e3c9eb6044143"
818 | dependencies = [
819 | "anyhow",
820 | "rustls",
821 | "tokio",
822 | "tokio-rustls",
823 | "url",
824 | ]
825 |
826 | [[package]]
827 | name = "getrandom"
828 | version = "0.2.9"
829 | source = "registry+https://github.com/rust-lang/crates.io-index"
830 | checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
831 | dependencies = [
832 | "cfg-if",
833 | "libc",
834 | "wasi",
835 | ]
836 |
837 | [[package]]
838 | name = "gix"
839 | version = "0.63.0"
840 | source = "registry+https://github.com/rust-lang/crates.io-index"
841 | checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06"
842 | dependencies = [
843 | "gix-actor",
844 | "gix-commitgraph",
845 | "gix-config",
846 | "gix-date",
847 | "gix-diff",
848 | "gix-discover",
849 | "gix-features",
850 | "gix-fs",
851 | "gix-glob",
852 | "gix-hash",
853 | "gix-hashtable",
854 | "gix-index",
855 | "gix-lock",
856 | "gix-macros",
857 | "gix-object",
858 | "gix-odb",
859 | "gix-pack",
860 | "gix-path",
861 | "gix-ref",
862 | "gix-refspec",
863 | "gix-revision",
864 | "gix-revwalk",
865 | "gix-sec",
866 | "gix-tempfile",
867 | "gix-trace",
868 | "gix-traverse",
869 | "gix-url",
870 | "gix-utils",
871 | "gix-validate",
872 | "once_cell",
873 | "parking_lot",
874 | "signal-hook",
875 | "smallvec",
876 | "thiserror",
877 | ]
878 |
879 | [[package]]
880 | name = "gix-actor"
881 | version = "0.31.4"
882 | source = "registry+https://github.com/rust-lang/crates.io-index"
883 | checksum = "d9b8ee65074b2bbb91d9d97c15d172ea75043aefebf9869b5b329149dc76501c"
884 | dependencies = [
885 | "bstr",
886 | "gix-date",
887 | "gix-utils",
888 | "itoa",
889 | "thiserror",
890 | "winnow",
891 | ]
892 |
893 | [[package]]
894 | name = "gix-bitmap"
895 | version = "0.2.11"
896 | source = "registry+https://github.com/rust-lang/crates.io-index"
897 | checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae"
898 | dependencies = [
899 | "thiserror",
900 | ]
901 |
902 | [[package]]
903 | name = "gix-chunk"
904 | version = "0.4.8"
905 | source = "registry+https://github.com/rust-lang/crates.io-index"
906 | checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52"
907 | dependencies = [
908 | "thiserror",
909 | ]
910 |
911 | [[package]]
912 | name = "gix-commitgraph"
913 | version = "0.24.3"
914 | source = "registry+https://github.com/rust-lang/crates.io-index"
915 | checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78"
916 | dependencies = [
917 | "bstr",
918 | "gix-chunk",
919 | "gix-features",
920 | "gix-hash",
921 | "memmap2",
922 | "thiserror",
923 | ]
924 |
925 | [[package]]
926 | name = "gix-config"
927 | version = "0.37.0"
928 | source = "registry+https://github.com/rust-lang/crates.io-index"
929 | checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840"
930 | dependencies = [
931 | "bstr",
932 | "gix-config-value",
933 | "gix-features",
934 | "gix-glob",
935 | "gix-path",
936 | "gix-ref",
937 | "gix-sec",
938 | "memchr",
939 | "once_cell",
940 | "smallvec",
941 | "thiserror",
942 | "unicode-bom",
943 | "winnow",
944 | ]
945 |
946 | [[package]]
947 | name = "gix-config-value"
948 | version = "0.14.6"
949 | source = "registry+https://github.com/rust-lang/crates.io-index"
950 | checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804"
951 | dependencies = [
952 | "bitflags 2.5.0",
953 | "bstr",
954 | "gix-path",
955 | "libc",
956 | "thiserror",
957 | ]
958 |
959 | [[package]]
960 | name = "gix-date"
961 | version = "0.8.6"
962 | source = "registry+https://github.com/rust-lang/crates.io-index"
963 | checksum = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99"
964 | dependencies = [
965 | "bstr",
966 | "itoa",
967 | "thiserror",
968 | "time",
969 | ]
970 |
971 | [[package]]
972 | name = "gix-diff"
973 | version = "0.44.0"
974 | source = "registry+https://github.com/rust-lang/crates.io-index"
975 | checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4"
976 | dependencies = [
977 | "bstr",
978 | "gix-hash",
979 | "gix-object",
980 | "thiserror",
981 | ]
982 |
983 | [[package]]
984 | name = "gix-discover"
985 | version = "0.32.0"
986 | source = "registry+https://github.com/rust-lang/crates.io-index"
987 | checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf"
988 | dependencies = [
989 | "bstr",
990 | "dunce",
991 | "gix-fs",
992 | "gix-hash",
993 | "gix-path",
994 | "gix-ref",
995 | "gix-sec",
996 | "thiserror",
997 | ]
998 |
999 | [[package]]
1000 | name = "gix-features"
1001 | version = "0.38.2"
1002 | source = "registry+https://github.com/rust-lang/crates.io-index"
1003 | checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69"
1004 | dependencies = [
1005 | "crc32fast",
1006 | "flate2",
1007 | "gix-hash",
1008 | "gix-trace",
1009 | "gix-utils",
1010 | "libc",
1011 | "once_cell",
1012 | "prodash",
1013 | "sha1_smol",
1014 | "thiserror",
1015 | "walkdir",
1016 | ]
1017 |
1018 | [[package]]
1019 | name = "gix-fs"
1020 | version = "0.11.3"
1021 | source = "registry+https://github.com/rust-lang/crates.io-index"
1022 | checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575"
1023 | dependencies = [
1024 | "fastrand",
1025 | "gix-features",
1026 | "gix-utils",
1027 | ]
1028 |
1029 | [[package]]
1030 | name = "gix-glob"
1031 | version = "0.16.5"
1032 | source = "registry+https://github.com/rust-lang/crates.io-index"
1033 | checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111"
1034 | dependencies = [
1035 | "bitflags 2.5.0",
1036 | "bstr",
1037 | "gix-features",
1038 | "gix-path",
1039 | ]
1040 |
1041 | [[package]]
1042 | name = "gix-hash"
1043 | version = "0.14.2"
1044 | source = "registry+https://github.com/rust-lang/crates.io-index"
1045 | checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e"
1046 | dependencies = [
1047 | "faster-hex",
1048 | "thiserror",
1049 | ]
1050 |
1051 | [[package]]
1052 | name = "gix-hashtable"
1053 | version = "0.5.2"
1054 | source = "registry+https://github.com/rust-lang/crates.io-index"
1055 | checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242"
1056 | dependencies = [
1057 | "gix-hash",
1058 | "hashbrown",
1059 | "parking_lot",
1060 | ]
1061 |
1062 | [[package]]
1063 | name = "gix-index"
1064 | version = "0.33.0"
1065 | source = "registry+https://github.com/rust-lang/crates.io-index"
1066 | checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167"
1067 | dependencies = [
1068 | "bitflags 2.5.0",
1069 | "bstr",
1070 | "filetime",
1071 | "fnv",
1072 | "gix-bitmap",
1073 | "gix-features",
1074 | "gix-fs",
1075 | "gix-hash",
1076 | "gix-lock",
1077 | "gix-object",
1078 | "gix-traverse",
1079 | "gix-utils",
1080 | "gix-validate",
1081 | "hashbrown",
1082 | "itoa",
1083 | "libc",
1084 | "memmap2",
1085 | "rustix 0.38.34",
1086 | "smallvec",
1087 | "thiserror",
1088 | ]
1089 |
1090 | [[package]]
1091 | name = "gix-lock"
1092 | version = "14.0.0"
1093 | source = "registry+https://github.com/rust-lang/crates.io-index"
1094 | checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d"
1095 | dependencies = [
1096 | "gix-tempfile",
1097 | "gix-utils",
1098 | "thiserror",
1099 | ]
1100 |
1101 | [[package]]
1102 | name = "gix-macros"
1103 | version = "0.1.5"
1104 | source = "registry+https://github.com/rust-lang/crates.io-index"
1105 | checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17"
1106 | dependencies = [
1107 | "proc-macro2",
1108 | "quote",
1109 | "syn 2.0.66",
1110 | ]
1111 |
1112 | [[package]]
1113 | name = "gix-object"
1114 | version = "0.42.2"
1115 | source = "registry+https://github.com/rust-lang/crates.io-index"
1116 | checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df"
1117 | dependencies = [
1118 | "bstr",
1119 | "gix-actor",
1120 | "gix-date",
1121 | "gix-features",
1122 | "gix-hash",
1123 | "gix-utils",
1124 | "gix-validate",
1125 | "itoa",
1126 | "smallvec",
1127 | "thiserror",
1128 | "winnow",
1129 | ]
1130 |
1131 | [[package]]
1132 | name = "gix-odb"
1133 | version = "0.61.0"
1134 | source = "registry+https://github.com/rust-lang/crates.io-index"
1135 | checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98"
1136 | dependencies = [
1137 | "arc-swap",
1138 | "gix-date",
1139 | "gix-features",
1140 | "gix-fs",
1141 | "gix-hash",
1142 | "gix-object",
1143 | "gix-pack",
1144 | "gix-path",
1145 | "gix-quote",
1146 | "parking_lot",
1147 | "tempfile",
1148 | "thiserror",
1149 | ]
1150 |
1151 | [[package]]
1152 | name = "gix-pack"
1153 | version = "0.51.0"
1154 | source = "registry+https://github.com/rust-lang/crates.io-index"
1155 | checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3"
1156 | dependencies = [
1157 | "clru",
1158 | "gix-chunk",
1159 | "gix-features",
1160 | "gix-hash",
1161 | "gix-hashtable",
1162 | "gix-object",
1163 | "gix-path",
1164 | "gix-tempfile",
1165 | "memmap2",
1166 | "parking_lot",
1167 | "smallvec",
1168 | "thiserror",
1169 | ]
1170 |
1171 | [[package]]
1172 | name = "gix-path"
1173 | version = "0.10.10"
1174 | source = "registry+https://github.com/rust-lang/crates.io-index"
1175 | checksum = "38d5b8722112fa2fa87135298780bc833b0e9f6c56cc82795d209804b3a03484"
1176 | dependencies = [
1177 | "bstr",
1178 | "gix-trace",
1179 | "home",
1180 | "once_cell",
1181 | "thiserror",
1182 | ]
1183 |
1184 | [[package]]
1185 | name = "gix-quote"
1186 | version = "0.4.12"
1187 | source = "registry+https://github.com/rust-lang/crates.io-index"
1188 | checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff"
1189 | dependencies = [
1190 | "bstr",
1191 | "gix-utils",
1192 | "thiserror",
1193 | ]
1194 |
1195 | [[package]]
1196 | name = "gix-ref"
1197 | version = "0.44.1"
1198 | source = "registry+https://github.com/rust-lang/crates.io-index"
1199 | checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e"
1200 | dependencies = [
1201 | "gix-actor",
1202 | "gix-date",
1203 | "gix-features",
1204 | "gix-fs",
1205 | "gix-hash",
1206 | "gix-lock",
1207 | "gix-object",
1208 | "gix-path",
1209 | "gix-tempfile",
1210 | "gix-utils",
1211 | "gix-validate",
1212 | "memmap2",
1213 | "thiserror",
1214 | "winnow",
1215 | ]
1216 |
1217 | [[package]]
1218 | name = "gix-refspec"
1219 | version = "0.23.0"
1220 | source = "registry+https://github.com/rust-lang/crates.io-index"
1221 | checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2"
1222 | dependencies = [
1223 | "bstr",
1224 | "gix-hash",
1225 | "gix-revision",
1226 | "gix-validate",
1227 | "smallvec",
1228 | "thiserror",
1229 | ]
1230 |
1231 | [[package]]
1232 | name = "gix-revision"
1233 | version = "0.27.1"
1234 | source = "registry+https://github.com/rust-lang/crates.io-index"
1235 | checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b"
1236 | dependencies = [
1237 | "bstr",
1238 | "gix-date",
1239 | "gix-hash",
1240 | "gix-hashtable",
1241 | "gix-object",
1242 | "gix-revwalk",
1243 | "gix-trace",
1244 | "thiserror",
1245 | ]
1246 |
1247 | [[package]]
1248 | name = "gix-revwalk"
1249 | version = "0.13.1"
1250 | source = "registry+https://github.com/rust-lang/crates.io-index"
1251 | checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f"
1252 | dependencies = [
1253 | "gix-commitgraph",
1254 | "gix-date",
1255 | "gix-hash",
1256 | "gix-hashtable",
1257 | "gix-object",
1258 | "smallvec",
1259 | "thiserror",
1260 | ]
1261 |
1262 | [[package]]
1263 | name = "gix-sec"
1264 | version = "0.10.6"
1265 | source = "registry+https://github.com/rust-lang/crates.io-index"
1266 | checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1"
1267 | dependencies = [
1268 | "bitflags 2.5.0",
1269 | "gix-path",
1270 | "libc",
1271 | "windows-sys 0.52.0",
1272 | ]
1273 |
1274 | [[package]]
1275 | name = "gix-tempfile"
1276 | version = "14.0.2"
1277 | source = "registry+https://github.com/rust-lang/crates.io-index"
1278 | checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa"
1279 | dependencies = [
1280 | "gix-fs",
1281 | "libc",
1282 | "once_cell",
1283 | "parking_lot",
1284 | "signal-hook",
1285 | "signal-hook-registry",
1286 | "tempfile",
1287 | ]
1288 |
1289 | [[package]]
1290 | name = "gix-trace"
1291 | version = "0.1.9"
1292 | source = "registry+https://github.com/rust-lang/crates.io-index"
1293 | checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e"
1294 |
1295 | [[package]]
1296 | name = "gix-traverse"
1297 | version = "0.39.1"
1298 | source = "registry+https://github.com/rust-lang/crates.io-index"
1299 | checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0"
1300 | dependencies = [
1301 | "bitflags 2.5.0",
1302 | "gix-commitgraph",
1303 | "gix-date",
1304 | "gix-hash",
1305 | "gix-hashtable",
1306 | "gix-object",
1307 | "gix-revwalk",
1308 | "smallvec",
1309 | "thiserror",
1310 | ]
1311 |
1312 | [[package]]
1313 | name = "gix-url"
1314 | version = "0.27.5"
1315 | source = "registry+https://github.com/rust-lang/crates.io-index"
1316 | checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89"
1317 | dependencies = [
1318 | "bstr",
1319 | "gix-features",
1320 | "gix-path",
1321 | "home",
1322 | "thiserror",
1323 | "url",
1324 | ]
1325 |
1326 | [[package]]
1327 | name = "gix-utils"
1328 | version = "0.1.12"
1329 | source = "registry+https://github.com/rust-lang/crates.io-index"
1330 | checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc"
1331 | dependencies = [
1332 | "fastrand",
1333 | "unicode-normalization",
1334 | ]
1335 |
1336 | [[package]]
1337 | name = "gix-validate"
1338 | version = "0.8.5"
1339 | source = "registry+https://github.com/rust-lang/crates.io-index"
1340 | checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf"
1341 | dependencies = [
1342 | "bstr",
1343 | "thiserror",
1344 | ]
1345 |
1346 | [[package]]
1347 | name = "h2"
1348 | version = "0.3.26"
1349 | source = "registry+https://github.com/rust-lang/crates.io-index"
1350 | checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
1351 | dependencies = [
1352 | "bytes",
1353 | "fnv",
1354 | "futures-core",
1355 | "futures-sink",
1356 | "futures-util",
1357 | "http",
1358 | "indexmap",
1359 | "slab",
1360 | "tokio",
1361 | "tokio-util",
1362 | "tracing",
1363 | ]
1364 |
1365 | [[package]]
1366 | name = "hashbrown"
1367 | version = "0.14.5"
1368 | source = "registry+https://github.com/rust-lang/crates.io-index"
1369 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
1370 | dependencies = [
1371 | "ahash",
1372 | "allocator-api2",
1373 | ]
1374 |
1375 | [[package]]
1376 | name = "heck"
1377 | version = "0.5.0"
1378 | source = "registry+https://github.com/rust-lang/crates.io-index"
1379 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
1380 |
1381 | [[package]]
1382 | name = "hermit-abi"
1383 | version = "0.2.6"
1384 | source = "registry+https://github.com/rust-lang/crates.io-index"
1385 | checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
1386 | dependencies = [
1387 | "libc",
1388 | ]
1389 |
1390 | [[package]]
1391 | name = "hermit-abi"
1392 | version = "0.3.1"
1393 | source = "registry+https://github.com/rust-lang/crates.io-index"
1394 | checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
1395 |
1396 | [[package]]
1397 | name = "home"
1398 | version = "0.5.5"
1399 | source = "registry+https://github.com/rust-lang/crates.io-index"
1400 | checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
1401 | dependencies = [
1402 | "windows-sys 0.48.0",
1403 | ]
1404 |
1405 | [[package]]
1406 | name = "http"
1407 | version = "0.2.9"
1408 | source = "registry+https://github.com/rust-lang/crates.io-index"
1409 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
1410 | dependencies = [
1411 | "bytes",
1412 | "fnv",
1413 | "itoa",
1414 | ]
1415 |
1416 | [[package]]
1417 | name = "httparse"
1418 | version = "1.8.0"
1419 | source = "registry+https://github.com/rust-lang/crates.io-index"
1420 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
1421 |
1422 | [[package]]
1423 | name = "httpdate"
1424 | version = "1.0.2"
1425 | source = "registry+https://github.com/rust-lang/crates.io-index"
1426 | checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
1427 |
1428 | [[package]]
1429 | name = "humantime"
1430 | version = "2.1.0"
1431 | source = "registry+https://github.com/rust-lang/crates.io-index"
1432 | checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
1433 |
1434 | [[package]]
1435 | name = "ident_case"
1436 | version = "1.0.1"
1437 | source = "registry+https://github.com/rust-lang/crates.io-index"
1438 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
1439 |
1440 | [[package]]
1441 | name = "idna"
1442 | version = "0.5.0"
1443 | source = "registry+https://github.com/rust-lang/crates.io-index"
1444 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
1445 | dependencies = [
1446 | "unicode-bidi",
1447 | "unicode-normalization",
1448 | ]
1449 |
1450 | [[package]]
1451 | name = "impl-more"
1452 | version = "0.1.8"
1453 | source = "registry+https://github.com/rust-lang/crates.io-index"
1454 | checksum = "aae21c3177a27788957044151cc2800043d127acaa460a47ebb9b84dfa2c6aa0"
1455 |
1456 | [[package]]
1457 | name = "indexmap"
1458 | version = "2.2.6"
1459 | source = "registry+https://github.com/rust-lang/crates.io-index"
1460 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
1461 | dependencies = [
1462 | "equivalent",
1463 | "hashbrown",
1464 | ]
1465 |
1466 | [[package]]
1467 | name = "io-lifetimes"
1468 | version = "1.0.11"
1469 | source = "registry+https://github.com/rust-lang/crates.io-index"
1470 | checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
1471 | dependencies = [
1472 | "hermit-abi 0.3.1",
1473 | "libc",
1474 | "windows-sys 0.48.0",
1475 | ]
1476 |
1477 | [[package]]
1478 | name = "is-terminal"
1479 | version = "0.4.7"
1480 | source = "registry+https://github.com/rust-lang/crates.io-index"
1481 | checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
1482 | dependencies = [
1483 | "hermit-abi 0.3.1",
1484 | "io-lifetimes",
1485 | "rustix 0.37.19",
1486 | "windows-sys 0.48.0",
1487 | ]
1488 |
1489 | [[package]]
1490 | name = "is_terminal_polyfill"
1491 | version = "1.70.0"
1492 | source = "registry+https://github.com/rust-lang/crates.io-index"
1493 | checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
1494 |
1495 | [[package]]
1496 | name = "itoa"
1497 | version = "1.0.6"
1498 | source = "registry+https://github.com/rust-lang/crates.io-index"
1499 | checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
1500 |
1501 | [[package]]
1502 | name = "jobserver"
1503 | version = "0.1.26"
1504 | source = "registry+https://github.com/rust-lang/crates.io-index"
1505 | checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
1506 | dependencies = [
1507 | "libc",
1508 | ]
1509 |
1510 | [[package]]
1511 | name = "js-sys"
1512 | version = "0.3.63"
1513 | source = "registry+https://github.com/rust-lang/crates.io-index"
1514 | checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
1515 | dependencies = [
1516 | "wasm-bindgen",
1517 | ]
1518 |
1519 | [[package]]
1520 | name = "language-tags"
1521 | version = "0.3.2"
1522 | source = "registry+https://github.com/rust-lang/crates.io-index"
1523 | checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
1524 |
1525 | [[package]]
1526 | name = "libc"
1527 | version = "0.2.155"
1528 | source = "registry+https://github.com/rust-lang/crates.io-index"
1529 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
1530 |
1531 | [[package]]
1532 | name = "linked-hash-map"
1533 | version = "0.5.6"
1534 | source = "registry+https://github.com/rust-lang/crates.io-index"
1535 | checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
1536 |
1537 | [[package]]
1538 | name = "linux-raw-sys"
1539 | version = "0.3.8"
1540 | source = "registry+https://github.com/rust-lang/crates.io-index"
1541 | checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
1542 |
1543 | [[package]]
1544 | name = "linux-raw-sys"
1545 | version = "0.4.14"
1546 | source = "registry+https://github.com/rust-lang/crates.io-index"
1547 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
1548 |
1549 | [[package]]
1550 | name = "local-channel"
1551 | version = "0.1.3"
1552 | source = "registry+https://github.com/rust-lang/crates.io-index"
1553 | checksum = "7f303ec0e94c6c54447f84f3b0ef7af769858a9c4ef56ef2a986d3dcd4c3fc9c"
1554 | dependencies = [
1555 | "futures-core",
1556 | "futures-sink",
1557 | "futures-util",
1558 | "local-waker",
1559 | ]
1560 |
1561 | [[package]]
1562 | name = "local-waker"
1563 | version = "0.1.3"
1564 | source = "registry+https://github.com/rust-lang/crates.io-index"
1565 | checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1"
1566 |
1567 | [[package]]
1568 | name = "lock_api"
1569 | version = "0.4.9"
1570 | source = "registry+https://github.com/rust-lang/crates.io-index"
1571 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
1572 | dependencies = [
1573 | "autocfg",
1574 | "scopeguard",
1575 | ]
1576 |
1577 | [[package]]
1578 | name = "log"
1579 | version = "0.4.22"
1580 | source = "registry+https://github.com/rust-lang/crates.io-index"
1581 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
1582 |
1583 | [[package]]
1584 | name = "memchr"
1585 | version = "2.5.0"
1586 | source = "registry+https://github.com/rust-lang/crates.io-index"
1587 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
1588 |
1589 | [[package]]
1590 | name = "memmap2"
1591 | version = "0.9.4"
1592 | source = "registry+https://github.com/rust-lang/crates.io-index"
1593 | checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
1594 | dependencies = [
1595 | "libc",
1596 | ]
1597 |
1598 | [[package]]
1599 | name = "mime"
1600 | version = "0.3.17"
1601 | source = "registry+https://github.com/rust-lang/crates.io-index"
1602 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1603 |
1604 | [[package]]
1605 | name = "miniz_oxide"
1606 | version = "0.7.1"
1607 | source = "registry+https://github.com/rust-lang/crates.io-index"
1608 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
1609 | dependencies = [
1610 | "adler",
1611 | ]
1612 |
1613 | [[package]]
1614 | name = "mio"
1615 | version = "0.8.6"
1616 | source = "registry+https://github.com/rust-lang/crates.io-index"
1617 | checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
1618 | dependencies = [
1619 | "libc",
1620 | "log",
1621 | "wasi",
1622 | "windows-sys 0.45.0",
1623 | ]
1624 |
1625 | [[package]]
1626 | name = "num-conv"
1627 | version = "0.1.0"
1628 | source = "registry+https://github.com/rust-lang/crates.io-index"
1629 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
1630 |
1631 | [[package]]
1632 | name = "num_cpus"
1633 | version = "1.15.0"
1634 | source = "registry+https://github.com/rust-lang/crates.io-index"
1635 | checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
1636 | dependencies = [
1637 | "hermit-abi 0.2.6",
1638 | "libc",
1639 | ]
1640 |
1641 | [[package]]
1642 | name = "num_threads"
1643 | version = "0.1.6"
1644 | source = "registry+https://github.com/rust-lang/crates.io-index"
1645 | checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
1646 | dependencies = [
1647 | "libc",
1648 | ]
1649 |
1650 | [[package]]
1651 | name = "once_cell"
1652 | version = "1.19.0"
1653 | source = "registry+https://github.com/rust-lang/crates.io-index"
1654 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
1655 |
1656 | [[package]]
1657 | name = "onig"
1658 | version = "6.4.0"
1659 | source = "registry+https://github.com/rust-lang/crates.io-index"
1660 | checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
1661 | dependencies = [
1662 | "bitflags 1.3.2",
1663 | "libc",
1664 | "once_cell",
1665 | "onig_sys",
1666 | ]
1667 |
1668 | [[package]]
1669 | name = "onig_sys"
1670 | version = "69.8.1"
1671 | source = "registry+https://github.com/rust-lang/crates.io-index"
1672 | checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
1673 | dependencies = [
1674 | "cc",
1675 | "pkg-config",
1676 | ]
1677 |
1678 | [[package]]
1679 | name = "parking_lot"
1680 | version = "0.12.1"
1681 | source = "registry+https://github.com/rust-lang/crates.io-index"
1682 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
1683 | dependencies = [
1684 | "lock_api",
1685 | "parking_lot_core",
1686 | ]
1687 |
1688 | [[package]]
1689 | name = "parking_lot_core"
1690 | version = "0.9.7"
1691 | source = "registry+https://github.com/rust-lang/crates.io-index"
1692 | checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
1693 | dependencies = [
1694 | "cfg-if",
1695 | "libc",
1696 | "redox_syscall",
1697 | "smallvec",
1698 | "windows-sys 0.45.0",
1699 | ]
1700 |
1701 | [[package]]
1702 | name = "paste"
1703 | version = "1.0.12"
1704 | source = "registry+https://github.com/rust-lang/crates.io-index"
1705 | checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
1706 |
1707 | [[package]]
1708 | name = "percent-encoding"
1709 | version = "2.3.1"
1710 | source = "registry+https://github.com/rust-lang/crates.io-index"
1711 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
1712 |
1713 | [[package]]
1714 | name = "pin-project-lite"
1715 | version = "0.2.9"
1716 | source = "registry+https://github.com/rust-lang/crates.io-index"
1717 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
1718 |
1719 | [[package]]
1720 | name = "pin-utils"
1721 | version = "0.1.0"
1722 | source = "registry+https://github.com/rust-lang/crates.io-index"
1723 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1724 |
1725 | [[package]]
1726 | name = "pkg-config"
1727 | version = "0.3.27"
1728 | source = "registry+https://github.com/rust-lang/crates.io-index"
1729 | checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
1730 |
1731 | [[package]]
1732 | name = "plist"
1733 | version = "1.7.0"
1734 | source = "registry+https://github.com/rust-lang/crates.io-index"
1735 | checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
1736 | dependencies = [
1737 | "base64",
1738 | "indexmap",
1739 | "quick-xml",
1740 | "serde",
1741 | "time",
1742 | ]
1743 |
1744 | [[package]]
1745 | name = "powerfmt"
1746 | version = "0.2.0"
1747 | source = "registry+https://github.com/rust-lang/crates.io-index"
1748 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
1749 |
1750 | [[package]]
1751 | name = "ppv-lite86"
1752 | version = "0.2.17"
1753 | source = "registry+https://github.com/rust-lang/crates.io-index"
1754 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
1755 |
1756 | [[package]]
1757 | name = "pretty_env_logger"
1758 | version = "0.5.0"
1759 | source = "registry+https://github.com/rust-lang/crates.io-index"
1760 | checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c"
1761 | dependencies = [
1762 | "env_logger",
1763 | "log",
1764 | ]
1765 |
1766 | [[package]]
1767 | name = "proc-macro2"
1768 | version = "1.0.85"
1769 | source = "registry+https://github.com/rust-lang/crates.io-index"
1770 | checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
1771 | dependencies = [
1772 | "unicode-ident",
1773 | ]
1774 |
1775 | [[package]]
1776 | name = "prodash"
1777 | version = "28.0.0"
1778 | source = "registry+https://github.com/rust-lang/crates.io-index"
1779 | checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79"
1780 |
1781 | [[package]]
1782 | name = "quick-xml"
1783 | version = "0.32.0"
1784 | source = "registry+https://github.com/rust-lang/crates.io-index"
1785 | checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
1786 | dependencies = [
1787 | "memchr",
1788 | ]
1789 |
1790 | [[package]]
1791 | name = "quote"
1792 | version = "1.0.36"
1793 | source = "registry+https://github.com/rust-lang/crates.io-index"
1794 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
1795 | dependencies = [
1796 | "proc-macro2",
1797 | ]
1798 |
1799 | [[package]]
1800 | name = "rand"
1801 | version = "0.8.5"
1802 | source = "registry+https://github.com/rust-lang/crates.io-index"
1803 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
1804 | dependencies = [
1805 | "libc",
1806 | "rand_chacha",
1807 | "rand_core",
1808 | ]
1809 |
1810 | [[package]]
1811 | name = "rand_chacha"
1812 | version = "0.3.1"
1813 | source = "registry+https://github.com/rust-lang/crates.io-index"
1814 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
1815 | dependencies = [
1816 | "ppv-lite86",
1817 | "rand_core",
1818 | ]
1819 |
1820 | [[package]]
1821 | name = "rand_core"
1822 | version = "0.6.4"
1823 | source = "registry+https://github.com/rust-lang/crates.io-index"
1824 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1825 | dependencies = [
1826 | "getrandom",
1827 | ]
1828 |
1829 | [[package]]
1830 | name = "redox_syscall"
1831 | version = "0.2.16"
1832 | source = "registry+https://github.com/rust-lang/crates.io-index"
1833 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
1834 | dependencies = [
1835 | "bitflags 1.3.2",
1836 | ]
1837 |
1838 | [[package]]
1839 | name = "regex"
1840 | version = "1.8.1"
1841 | source = "registry+https://github.com/rust-lang/crates.io-index"
1842 | checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370"
1843 | dependencies = [
1844 | "aho-corasick",
1845 | "memchr",
1846 | "regex-syntax 0.7.1",
1847 | ]
1848 |
1849 | [[package]]
1850 | name = "regex-automata"
1851 | version = "0.1.10"
1852 | source = "registry+https://github.com/rust-lang/crates.io-index"
1853 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
1854 |
1855 | [[package]]
1856 | name = "regex-lite"
1857 | version = "0.1.6"
1858 | source = "registry+https://github.com/rust-lang/crates.io-index"
1859 | checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
1860 |
1861 | [[package]]
1862 | name = "regex-syntax"
1863 | version = "0.7.1"
1864 | source = "registry+https://github.com/rust-lang/crates.io-index"
1865 | checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c"
1866 |
1867 | [[package]]
1868 | name = "regex-syntax"
1869 | version = "0.8.4"
1870 | source = "registry+https://github.com/rust-lang/crates.io-index"
1871 | checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
1872 |
1873 | [[package]]
1874 | name = "ring"
1875 | version = "0.16.20"
1876 | source = "registry+https://github.com/rust-lang/crates.io-index"
1877 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
1878 | dependencies = [
1879 | "cc",
1880 | "libc",
1881 | "once_cell",
1882 | "spin",
1883 | "untrusted",
1884 | "web-sys",
1885 | "winapi",
1886 | ]
1887 |
1888 | [[package]]
1889 | name = "rustc_version"
1890 | version = "0.4.0"
1891 | source = "registry+https://github.com/rust-lang/crates.io-index"
1892 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
1893 | dependencies = [
1894 | "semver",
1895 | ]
1896 |
1897 | [[package]]
1898 | name = "rustix"
1899 | version = "0.37.19"
1900 | source = "registry+https://github.com/rust-lang/crates.io-index"
1901 | checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
1902 | dependencies = [
1903 | "bitflags 1.3.2",
1904 | "errno",
1905 | "io-lifetimes",
1906 | "libc",
1907 | "linux-raw-sys 0.3.8",
1908 | "windows-sys 0.48.0",
1909 | ]
1910 |
1911 | [[package]]
1912 | name = "rustix"
1913 | version = "0.38.34"
1914 | source = "registry+https://github.com/rust-lang/crates.io-index"
1915 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
1916 | dependencies = [
1917 | "bitflags 2.5.0",
1918 | "errno",
1919 | "libc",
1920 | "linux-raw-sys 0.4.14",
1921 | "windows-sys 0.52.0",
1922 | ]
1923 |
1924 | [[package]]
1925 | name = "rustls"
1926 | version = "0.21.1"
1927 | source = "registry+https://github.com/rust-lang/crates.io-index"
1928 | checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e"
1929 | dependencies = [
1930 | "log",
1931 | "ring",
1932 | "rustls-webpki",
1933 | "sct",
1934 | ]
1935 |
1936 | [[package]]
1937 | name = "rustls-webpki"
1938 | version = "0.100.1"
1939 | source = "registry+https://github.com/rust-lang/crates.io-index"
1940 | checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b"
1941 | dependencies = [
1942 | "ring",
1943 | "untrusted",
1944 | ]
1945 |
1946 | [[package]]
1947 | name = "rustversion"
1948 | version = "1.0.17"
1949 | source = "registry+https://github.com/rust-lang/crates.io-index"
1950 | checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
1951 |
1952 | [[package]]
1953 | name = "ryu"
1954 | version = "1.0.13"
1955 | source = "registry+https://github.com/rust-lang/crates.io-index"
1956 | checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
1957 |
1958 | [[package]]
1959 | name = "same-file"
1960 | version = "1.0.6"
1961 | source = "registry+https://github.com/rust-lang/crates.io-index"
1962 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
1963 | dependencies = [
1964 | "winapi-util",
1965 | ]
1966 |
1967 | [[package]]
1968 | name = "scopeguard"
1969 | version = "1.1.0"
1970 | source = "registry+https://github.com/rust-lang/crates.io-index"
1971 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
1972 |
1973 | [[package]]
1974 | name = "sct"
1975 | version = "0.7.0"
1976 | source = "registry+https://github.com/rust-lang/crates.io-index"
1977 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
1978 | dependencies = [
1979 | "ring",
1980 | "untrusted",
1981 | ]
1982 |
1983 | [[package]]
1984 | name = "semver"
1985 | version = "1.0.17"
1986 | source = "registry+https://github.com/rust-lang/crates.io-index"
1987 | checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
1988 |
1989 | [[package]]
1990 | name = "september"
1991 | version = "0.2.35"
1992 | dependencies = [
1993 | "actix-web",
1994 | "anyhow",
1995 | "comrak",
1996 | "dotenv",
1997 | "germ",
1998 | "log",
1999 | "pretty_env_logger",
2000 | "url",
2001 | "vergen",
2002 | ]
2003 |
2004 | [[package]]
2005 | name = "serde"
2006 | version = "1.0.203"
2007 | source = "registry+https://github.com/rust-lang/crates.io-index"
2008 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
2009 | dependencies = [
2010 | "serde_derive",
2011 | ]
2012 |
2013 | [[package]]
2014 | name = "serde_derive"
2015 | version = "1.0.203"
2016 | source = "registry+https://github.com/rust-lang/crates.io-index"
2017 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
2018 | dependencies = [
2019 | "proc-macro2",
2020 | "quote",
2021 | "syn 2.0.66",
2022 | ]
2023 |
2024 | [[package]]
2025 | name = "serde_json"
2026 | version = "1.0.96"
2027 | source = "registry+https://github.com/rust-lang/crates.io-index"
2028 | checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
2029 | dependencies = [
2030 | "itoa",
2031 | "ryu",
2032 | "serde",
2033 | ]
2034 |
2035 | [[package]]
2036 | name = "serde_urlencoded"
2037 | version = "0.7.1"
2038 | source = "registry+https://github.com/rust-lang/crates.io-index"
2039 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2040 | dependencies = [
2041 | "form_urlencoded",
2042 | "itoa",
2043 | "ryu",
2044 | "serde",
2045 | ]
2046 |
2047 | [[package]]
2048 | name = "sha1"
2049 | version = "0.10.5"
2050 | source = "registry+https://github.com/rust-lang/crates.io-index"
2051 | checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
2052 | dependencies = [
2053 | "cfg-if",
2054 | "cpufeatures",
2055 | "digest",
2056 | ]
2057 |
2058 | [[package]]
2059 | name = "sha1_smol"
2060 | version = "1.0.0"
2061 | source = "registry+https://github.com/rust-lang/crates.io-index"
2062 | checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
2063 |
2064 | [[package]]
2065 | name = "shell-words"
2066 | version = "1.1.0"
2067 | source = "registry+https://github.com/rust-lang/crates.io-index"
2068 | checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
2069 |
2070 | [[package]]
2071 | name = "signal-hook"
2072 | version = "0.3.15"
2073 | source = "registry+https://github.com/rust-lang/crates.io-index"
2074 | checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
2075 | dependencies = [
2076 | "libc",
2077 | "signal-hook-registry",
2078 | ]
2079 |
2080 | [[package]]
2081 | name = "signal-hook-registry"
2082 | version = "1.4.1"
2083 | source = "registry+https://github.com/rust-lang/crates.io-index"
2084 | checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
2085 | dependencies = [
2086 | "libc",
2087 | ]
2088 |
2089 | [[package]]
2090 | name = "slab"
2091 | version = "0.4.8"
2092 | source = "registry+https://github.com/rust-lang/crates.io-index"
2093 | checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
2094 | dependencies = [
2095 | "autocfg",
2096 | ]
2097 |
2098 | [[package]]
2099 | name = "slug"
2100 | version = "0.1.5"
2101 | source = "registry+https://github.com/rust-lang/crates.io-index"
2102 | checksum = "3bd94acec9c8da640005f8e135a39fc0372e74535e6b368b7a04b875f784c8c4"
2103 | dependencies = [
2104 | "deunicode",
2105 | "wasm-bindgen",
2106 | ]
2107 |
2108 | [[package]]
2109 | name = "smallvec"
2110 | version = "1.13.2"
2111 | source = "registry+https://github.com/rust-lang/crates.io-index"
2112 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
2113 |
2114 | [[package]]
2115 | name = "socket2"
2116 | version = "0.4.9"
2117 | source = "registry+https://github.com/rust-lang/crates.io-index"
2118 | checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
2119 | dependencies = [
2120 | "libc",
2121 | "winapi",
2122 | ]
2123 |
2124 | [[package]]
2125 | name = "socket2"
2126 | version = "0.5.7"
2127 | source = "registry+https://github.com/rust-lang/crates.io-index"
2128 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
2129 | dependencies = [
2130 | "libc",
2131 | "windows-sys 0.52.0",
2132 | ]
2133 |
2134 | [[package]]
2135 | name = "spin"
2136 | version = "0.5.2"
2137 | source = "registry+https://github.com/rust-lang/crates.io-index"
2138 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
2139 |
2140 | [[package]]
2141 | name = "strsim"
2142 | version = "0.11.1"
2143 | source = "registry+https://github.com/rust-lang/crates.io-index"
2144 | checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
2145 |
2146 | [[package]]
2147 | name = "syn"
2148 | version = "1.0.109"
2149 | source = "registry+https://github.com/rust-lang/crates.io-index"
2150 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
2151 | dependencies = [
2152 | "proc-macro2",
2153 | "quote",
2154 | "unicode-ident",
2155 | ]
2156 |
2157 | [[package]]
2158 | name = "syn"
2159 | version = "2.0.66"
2160 | source = "registry+https://github.com/rust-lang/crates.io-index"
2161 | checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
2162 | dependencies = [
2163 | "proc-macro2",
2164 | "quote",
2165 | "unicode-ident",
2166 | ]
2167 |
2168 | [[package]]
2169 | name = "syntect"
2170 | version = "5.2.0"
2171 | source = "registry+https://github.com/rust-lang/crates.io-index"
2172 | checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1"
2173 | dependencies = [
2174 | "bincode",
2175 | "bitflags 1.3.2",
2176 | "fancy-regex",
2177 | "flate2",
2178 | "fnv",
2179 | "once_cell",
2180 | "onig",
2181 | "plist",
2182 | "regex-syntax 0.8.4",
2183 | "serde",
2184 | "serde_derive",
2185 | "serde_json",
2186 | "thiserror",
2187 | "walkdir",
2188 | "yaml-rust",
2189 | ]
2190 |
2191 | [[package]]
2192 | name = "tempfile"
2193 | version = "3.12.0"
2194 | source = "registry+https://github.com/rust-lang/crates.io-index"
2195 | checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64"
2196 | dependencies = [
2197 | "cfg-if",
2198 | "fastrand",
2199 | "once_cell",
2200 | "rustix 0.38.34",
2201 | "windows-sys 0.59.0",
2202 | ]
2203 |
2204 | [[package]]
2205 | name = "termcolor"
2206 | version = "1.2.0"
2207 | source = "registry+https://github.com/rust-lang/crates.io-index"
2208 | checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
2209 | dependencies = [
2210 | "winapi-util",
2211 | ]
2212 |
2213 | [[package]]
2214 | name = "terminal_size"
2215 | version = "0.3.0"
2216 | source = "registry+https://github.com/rust-lang/crates.io-index"
2217 | checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
2218 | dependencies = [
2219 | "rustix 0.38.34",
2220 | "windows-sys 0.48.0",
2221 | ]
2222 |
2223 | [[package]]
2224 | name = "thiserror"
2225 | version = "1.0.40"
2226 | source = "registry+https://github.com/rust-lang/crates.io-index"
2227 | checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
2228 | dependencies = [
2229 | "thiserror-impl",
2230 | ]
2231 |
2232 | [[package]]
2233 | name = "thiserror-impl"
2234 | version = "1.0.40"
2235 | source = "registry+https://github.com/rust-lang/crates.io-index"
2236 | checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
2237 | dependencies = [
2238 | "proc-macro2",
2239 | "quote",
2240 | "syn 2.0.66",
2241 | ]
2242 |
2243 | [[package]]
2244 | name = "time"
2245 | version = "0.3.36"
2246 | source = "registry+https://github.com/rust-lang/crates.io-index"
2247 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
2248 | dependencies = [
2249 | "deranged",
2250 | "itoa",
2251 | "libc",
2252 | "num-conv",
2253 | "num_threads",
2254 | "powerfmt",
2255 | "serde",
2256 | "time-core",
2257 | "time-macros",
2258 | ]
2259 |
2260 | [[package]]
2261 | name = "time-core"
2262 | version = "0.1.2"
2263 | source = "registry+https://github.com/rust-lang/crates.io-index"
2264 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
2265 |
2266 | [[package]]
2267 | name = "time-macros"
2268 | version = "0.2.18"
2269 | source = "registry+https://github.com/rust-lang/crates.io-index"
2270 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
2271 | dependencies = [
2272 | "num-conv",
2273 | "time-core",
2274 | ]
2275 |
2276 | [[package]]
2277 | name = "tinyvec"
2278 | version = "1.6.0"
2279 | source = "registry+https://github.com/rust-lang/crates.io-index"
2280 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
2281 | dependencies = [
2282 | "tinyvec_macros",
2283 | ]
2284 |
2285 | [[package]]
2286 | name = "tinyvec_macros"
2287 | version = "0.1.1"
2288 | source = "registry+https://github.com/rust-lang/crates.io-index"
2289 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
2290 |
2291 | [[package]]
2292 | name = "tokio"
2293 | version = "1.28.1"
2294 | source = "registry+https://github.com/rust-lang/crates.io-index"
2295 | checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105"
2296 | dependencies = [
2297 | "autocfg",
2298 | "bytes",
2299 | "libc",
2300 | "mio",
2301 | "num_cpus",
2302 | "parking_lot",
2303 | "pin-project-lite",
2304 | "signal-hook-registry",
2305 | "socket2 0.4.9",
2306 | "tokio-macros",
2307 | "windows-sys 0.48.0",
2308 | ]
2309 |
2310 | [[package]]
2311 | name = "tokio-macros"
2312 | version = "2.1.0"
2313 | source = "registry+https://github.com/rust-lang/crates.io-index"
2314 | checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
2315 | dependencies = [
2316 | "proc-macro2",
2317 | "quote",
2318 | "syn 2.0.66",
2319 | ]
2320 |
2321 | [[package]]
2322 | name = "tokio-rustls"
2323 | version = "0.24.1"
2324 | source = "registry+https://github.com/rust-lang/crates.io-index"
2325 | checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
2326 | dependencies = [
2327 | "rustls",
2328 | "tokio",
2329 | ]
2330 |
2331 | [[package]]
2332 | name = "tokio-util"
2333 | version = "0.7.8"
2334 | source = "registry+https://github.com/rust-lang/crates.io-index"
2335 | checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
2336 | dependencies = [
2337 | "bytes",
2338 | "futures-core",
2339 | "futures-sink",
2340 | "pin-project-lite",
2341 | "tokio",
2342 | "tracing",
2343 | ]
2344 |
2345 | [[package]]
2346 | name = "tracing"
2347 | version = "0.1.37"
2348 | source = "registry+https://github.com/rust-lang/crates.io-index"
2349 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
2350 | dependencies = [
2351 | "cfg-if",
2352 | "log",
2353 | "pin-project-lite",
2354 | "tracing-core",
2355 | ]
2356 |
2357 | [[package]]
2358 | name = "tracing-core"
2359 | version = "0.1.31"
2360 | source = "registry+https://github.com/rust-lang/crates.io-index"
2361 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
2362 | dependencies = [
2363 | "once_cell",
2364 | ]
2365 |
2366 | [[package]]
2367 | name = "typed-arena"
2368 | version = "2.0.2"
2369 | source = "registry+https://github.com/rust-lang/crates.io-index"
2370 | checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
2371 |
2372 | [[package]]
2373 | name = "typenum"
2374 | version = "1.16.0"
2375 | source = "registry+https://github.com/rust-lang/crates.io-index"
2376 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
2377 |
2378 | [[package]]
2379 | name = "unicode-bidi"
2380 | version = "0.3.17"
2381 | source = "registry+https://github.com/rust-lang/crates.io-index"
2382 | checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893"
2383 |
2384 | [[package]]
2385 | name = "unicode-bom"
2386 | version = "2.0.2"
2387 | source = "registry+https://github.com/rust-lang/crates.io-index"
2388 | checksum = "98e90c70c9f0d4d1ee6d0a7d04aa06cb9bbd53d8cfbdd62a0269a7c2eb640552"
2389 |
2390 | [[package]]
2391 | name = "unicode-ident"
2392 | version = "1.0.8"
2393 | source = "registry+https://github.com/rust-lang/crates.io-index"
2394 | checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
2395 |
2396 | [[package]]
2397 | name = "unicode-normalization"
2398 | version = "0.1.22"
2399 | source = "registry+https://github.com/rust-lang/crates.io-index"
2400 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
2401 | dependencies = [
2402 | "tinyvec",
2403 | ]
2404 |
2405 | [[package]]
2406 | name = "unicode_categories"
2407 | version = "0.1.1"
2408 | source = "registry+https://github.com/rust-lang/crates.io-index"
2409 | checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
2410 |
2411 | [[package]]
2412 | name = "untrusted"
2413 | version = "0.7.1"
2414 | source = "registry+https://github.com/rust-lang/crates.io-index"
2415 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
2416 |
2417 | [[package]]
2418 | name = "url"
2419 | version = "2.5.2"
2420 | source = "registry+https://github.com/rust-lang/crates.io-index"
2421 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
2422 | dependencies = [
2423 | "form_urlencoded",
2424 | "idna",
2425 | "percent-encoding",
2426 | ]
2427 |
2428 | [[package]]
2429 | name = "utf8parse"
2430 | version = "0.2.2"
2431 | source = "registry+https://github.com/rust-lang/crates.io-index"
2432 | checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
2433 |
2434 | [[package]]
2435 | name = "vergen"
2436 | version = "8.3.2"
2437 | source = "registry+https://github.com/rust-lang/crates.io-index"
2438 | checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
2439 | dependencies = [
2440 | "anyhow",
2441 | "cfg-if",
2442 | "gix",
2443 | "rustversion",
2444 | "time",
2445 | ]
2446 |
2447 | [[package]]
2448 | name = "version_check"
2449 | version = "0.9.4"
2450 | source = "registry+https://github.com/rust-lang/crates.io-index"
2451 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
2452 |
2453 | [[package]]
2454 | name = "walkdir"
2455 | version = "2.3.3"
2456 | source = "registry+https://github.com/rust-lang/crates.io-index"
2457 | checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
2458 | dependencies = [
2459 | "same-file",
2460 | "winapi-util",
2461 | ]
2462 |
2463 | [[package]]
2464 | name = "wasi"
2465 | version = "0.11.0+wasi-snapshot-preview1"
2466 | source = "registry+https://github.com/rust-lang/crates.io-index"
2467 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
2468 |
2469 | [[package]]
2470 | name = "wasm-bindgen"
2471 | version = "0.2.86"
2472 | source = "registry+https://github.com/rust-lang/crates.io-index"
2473 | checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
2474 | dependencies = [
2475 | "cfg-if",
2476 | "wasm-bindgen-macro",
2477 | ]
2478 |
2479 | [[package]]
2480 | name = "wasm-bindgen-backend"
2481 | version = "0.2.86"
2482 | source = "registry+https://github.com/rust-lang/crates.io-index"
2483 | checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
2484 | dependencies = [
2485 | "bumpalo",
2486 | "log",
2487 | "once_cell",
2488 | "proc-macro2",
2489 | "quote",
2490 | "syn 2.0.66",
2491 | "wasm-bindgen-shared",
2492 | ]
2493 |
2494 | [[package]]
2495 | name = "wasm-bindgen-macro"
2496 | version = "0.2.86"
2497 | source = "registry+https://github.com/rust-lang/crates.io-index"
2498 | checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
2499 | dependencies = [
2500 | "quote",
2501 | "wasm-bindgen-macro-support",
2502 | ]
2503 |
2504 | [[package]]
2505 | name = "wasm-bindgen-macro-support"
2506 | version = "0.2.86"
2507 | source = "registry+https://github.com/rust-lang/crates.io-index"
2508 | checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
2509 | dependencies = [
2510 | "proc-macro2",
2511 | "quote",
2512 | "syn 2.0.66",
2513 | "wasm-bindgen-backend",
2514 | "wasm-bindgen-shared",
2515 | ]
2516 |
2517 | [[package]]
2518 | name = "wasm-bindgen-shared"
2519 | version = "0.2.86"
2520 | source = "registry+https://github.com/rust-lang/crates.io-index"
2521 | checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
2522 |
2523 | [[package]]
2524 | name = "web-sys"
2525 | version = "0.3.63"
2526 | source = "registry+https://github.com/rust-lang/crates.io-index"
2527 | checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
2528 | dependencies = [
2529 | "js-sys",
2530 | "wasm-bindgen",
2531 | ]
2532 |
2533 | [[package]]
2534 | name = "winapi"
2535 | version = "0.3.9"
2536 | source = "registry+https://github.com/rust-lang/crates.io-index"
2537 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
2538 | dependencies = [
2539 | "winapi-i686-pc-windows-gnu",
2540 | "winapi-x86_64-pc-windows-gnu",
2541 | ]
2542 |
2543 | [[package]]
2544 | name = "winapi-i686-pc-windows-gnu"
2545 | version = "0.4.0"
2546 | source = "registry+https://github.com/rust-lang/crates.io-index"
2547 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
2548 |
2549 | [[package]]
2550 | name = "winapi-util"
2551 | version = "0.1.5"
2552 | source = "registry+https://github.com/rust-lang/crates.io-index"
2553 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
2554 | dependencies = [
2555 | "winapi",
2556 | ]
2557 |
2558 | [[package]]
2559 | name = "winapi-x86_64-pc-windows-gnu"
2560 | version = "0.4.0"
2561 | source = "registry+https://github.com/rust-lang/crates.io-index"
2562 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2563 |
2564 | [[package]]
2565 | name = "windows-sys"
2566 | version = "0.45.0"
2567 | source = "registry+https://github.com/rust-lang/crates.io-index"
2568 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
2569 | dependencies = [
2570 | "windows-targets 0.42.2",
2571 | ]
2572 |
2573 | [[package]]
2574 | name = "windows-sys"
2575 | version = "0.48.0"
2576 | source = "registry+https://github.com/rust-lang/crates.io-index"
2577 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
2578 | dependencies = [
2579 | "windows-targets 0.48.0",
2580 | ]
2581 |
2582 | [[package]]
2583 | name = "windows-sys"
2584 | version = "0.52.0"
2585 | source = "registry+https://github.com/rust-lang/crates.io-index"
2586 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2587 | dependencies = [
2588 | "windows-targets 0.52.6",
2589 | ]
2590 |
2591 | [[package]]
2592 | name = "windows-sys"
2593 | version = "0.59.0"
2594 | source = "registry+https://github.com/rust-lang/crates.io-index"
2595 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2596 | dependencies = [
2597 | "windows-targets 0.52.6",
2598 | ]
2599 |
2600 | [[package]]
2601 | name = "windows-targets"
2602 | version = "0.42.2"
2603 | source = "registry+https://github.com/rust-lang/crates.io-index"
2604 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
2605 | dependencies = [
2606 | "windows_aarch64_gnullvm 0.42.2",
2607 | "windows_aarch64_msvc 0.42.2",
2608 | "windows_i686_gnu 0.42.2",
2609 | "windows_i686_msvc 0.42.2",
2610 | "windows_x86_64_gnu 0.42.2",
2611 | "windows_x86_64_gnullvm 0.42.2",
2612 | "windows_x86_64_msvc 0.42.2",
2613 | ]
2614 |
2615 | [[package]]
2616 | name = "windows-targets"
2617 | version = "0.48.0"
2618 | source = "registry+https://github.com/rust-lang/crates.io-index"
2619 | checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
2620 | dependencies = [
2621 | "windows_aarch64_gnullvm 0.48.0",
2622 | "windows_aarch64_msvc 0.48.0",
2623 | "windows_i686_gnu 0.48.0",
2624 | "windows_i686_msvc 0.48.0",
2625 | "windows_x86_64_gnu 0.48.0",
2626 | "windows_x86_64_gnullvm 0.48.0",
2627 | "windows_x86_64_msvc 0.48.0",
2628 | ]
2629 |
2630 | [[package]]
2631 | name = "windows-targets"
2632 | version = "0.52.6"
2633 | source = "registry+https://github.com/rust-lang/crates.io-index"
2634 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2635 | dependencies = [
2636 | "windows_aarch64_gnullvm 0.52.6",
2637 | "windows_aarch64_msvc 0.52.6",
2638 | "windows_i686_gnu 0.52.6",
2639 | "windows_i686_gnullvm",
2640 | "windows_i686_msvc 0.52.6",
2641 | "windows_x86_64_gnu 0.52.6",
2642 | "windows_x86_64_gnullvm 0.52.6",
2643 | "windows_x86_64_msvc 0.52.6",
2644 | ]
2645 |
2646 | [[package]]
2647 | name = "windows_aarch64_gnullvm"
2648 | version = "0.42.2"
2649 | source = "registry+https://github.com/rust-lang/crates.io-index"
2650 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
2651 |
2652 | [[package]]
2653 | name = "windows_aarch64_gnullvm"
2654 | version = "0.48.0"
2655 | source = "registry+https://github.com/rust-lang/crates.io-index"
2656 | checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
2657 |
2658 | [[package]]
2659 | name = "windows_aarch64_gnullvm"
2660 | version = "0.52.6"
2661 | source = "registry+https://github.com/rust-lang/crates.io-index"
2662 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2663 |
2664 | [[package]]
2665 | name = "windows_aarch64_msvc"
2666 | version = "0.42.2"
2667 | source = "registry+https://github.com/rust-lang/crates.io-index"
2668 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
2669 |
2670 | [[package]]
2671 | name = "windows_aarch64_msvc"
2672 | version = "0.48.0"
2673 | source = "registry+https://github.com/rust-lang/crates.io-index"
2674 | checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
2675 |
2676 | [[package]]
2677 | name = "windows_aarch64_msvc"
2678 | version = "0.52.6"
2679 | source = "registry+https://github.com/rust-lang/crates.io-index"
2680 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2681 |
2682 | [[package]]
2683 | name = "windows_i686_gnu"
2684 | version = "0.42.2"
2685 | source = "registry+https://github.com/rust-lang/crates.io-index"
2686 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
2687 |
2688 | [[package]]
2689 | name = "windows_i686_gnu"
2690 | version = "0.48.0"
2691 | source = "registry+https://github.com/rust-lang/crates.io-index"
2692 | checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
2693 |
2694 | [[package]]
2695 | name = "windows_i686_gnu"
2696 | version = "0.52.6"
2697 | source = "registry+https://github.com/rust-lang/crates.io-index"
2698 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2699 |
2700 | [[package]]
2701 | name = "windows_i686_gnullvm"
2702 | version = "0.52.6"
2703 | source = "registry+https://github.com/rust-lang/crates.io-index"
2704 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2705 |
2706 | [[package]]
2707 | name = "windows_i686_msvc"
2708 | version = "0.42.2"
2709 | source = "registry+https://github.com/rust-lang/crates.io-index"
2710 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
2711 |
2712 | [[package]]
2713 | name = "windows_i686_msvc"
2714 | version = "0.48.0"
2715 | source = "registry+https://github.com/rust-lang/crates.io-index"
2716 | checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
2717 |
2718 | [[package]]
2719 | name = "windows_i686_msvc"
2720 | version = "0.52.6"
2721 | source = "registry+https://github.com/rust-lang/crates.io-index"
2722 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2723 |
2724 | [[package]]
2725 | name = "windows_x86_64_gnu"
2726 | version = "0.42.2"
2727 | source = "registry+https://github.com/rust-lang/crates.io-index"
2728 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
2729 |
2730 | [[package]]
2731 | name = "windows_x86_64_gnu"
2732 | version = "0.48.0"
2733 | source = "registry+https://github.com/rust-lang/crates.io-index"
2734 | checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
2735 |
2736 | [[package]]
2737 | name = "windows_x86_64_gnu"
2738 | version = "0.52.6"
2739 | source = "registry+https://github.com/rust-lang/crates.io-index"
2740 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2741 |
2742 | [[package]]
2743 | name = "windows_x86_64_gnullvm"
2744 | version = "0.42.2"
2745 | source = "registry+https://github.com/rust-lang/crates.io-index"
2746 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
2747 |
2748 | [[package]]
2749 | name = "windows_x86_64_gnullvm"
2750 | version = "0.48.0"
2751 | source = "registry+https://github.com/rust-lang/crates.io-index"
2752 | checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
2753 |
2754 | [[package]]
2755 | name = "windows_x86_64_gnullvm"
2756 | version = "0.52.6"
2757 | source = "registry+https://github.com/rust-lang/crates.io-index"
2758 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2759 |
2760 | [[package]]
2761 | name = "windows_x86_64_msvc"
2762 | version = "0.42.2"
2763 | source = "registry+https://github.com/rust-lang/crates.io-index"
2764 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
2765 |
2766 | [[package]]
2767 | name = "windows_x86_64_msvc"
2768 | version = "0.48.0"
2769 | source = "registry+https://github.com/rust-lang/crates.io-index"
2770 | checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
2771 |
2772 | [[package]]
2773 | name = "windows_x86_64_msvc"
2774 | version = "0.52.6"
2775 | source = "registry+https://github.com/rust-lang/crates.io-index"
2776 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2777 |
2778 | [[package]]
2779 | name = "winnow"
2780 | version = "0.6.20"
2781 | source = "registry+https://github.com/rust-lang/crates.io-index"
2782 | checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
2783 | dependencies = [
2784 | "memchr",
2785 | ]
2786 |
2787 | [[package]]
2788 | name = "xdg"
2789 | version = "2.5.2"
2790 | source = "registry+https://github.com/rust-lang/crates.io-index"
2791 | checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
2792 |
2793 | [[package]]
2794 | name = "yaml-rust"
2795 | version = "0.4.5"
2796 | source = "registry+https://github.com/rust-lang/crates.io-index"
2797 | checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
2798 | dependencies = [
2799 | "linked-hash-map",
2800 | ]
2801 |
2802 | [[package]]
2803 | name = "zerocopy"
2804 | version = "0.7.35"
2805 | source = "registry+https://github.com/rust-lang/crates.io-index"
2806 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
2807 | dependencies = [
2808 | "zerocopy-derive",
2809 | ]
2810 |
2811 | [[package]]
2812 | name = "zerocopy-derive"
2813 | version = "0.7.35"
2814 | source = "registry+https://github.com/rust-lang/crates.io-index"
2815 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
2816 | dependencies = [
2817 | "proc-macro2",
2818 | "quote",
2819 | "syn 2.0.66",
2820 | ]
2821 |
2822 | [[package]]
2823 | name = "zstd"
2824 | version = "0.13.1"
2825 | source = "registry+https://github.com/rust-lang/crates.io-index"
2826 | checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
2827 | dependencies = [
2828 | "zstd-safe",
2829 | ]
2830 |
2831 | [[package]]
2832 | name = "zstd-safe"
2833 | version = "7.1.0"
2834 | source = "registry+https://github.com/rust-lang/crates.io-index"
2835 | checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
2836 | dependencies = [
2837 | "zstd-sys",
2838 | ]
2839 |
2840 | [[package]]
2841 | name = "zstd-sys"
2842 | version = "2.0.10+zstd.1.5.6"
2843 | source = "registry+https://github.com/rust-lang/crates.io-index"
2844 | checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
2845 | dependencies = [
2846 | "cc",
2847 | "pkg-config",
2848 | ]
2849 |
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
1 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
2 |
3 | [package]
4 | name = "september"
5 | version = "0.2.35"
6 | authors = ["Fuwn ", "")
21 | .replace("
");
90 | } else {
91 | html.push_str("
"); 108 | } 109 | 110 | match node { 111 | Node::Text(text) => { 112 | let _ = write!(&mut html, "
{}
", safe(text)); 113 | } 114 | Node::Link { to, text } => { 115 | let mut href = to.to_string(); 116 | let mut surface = false; 117 | 118 | if href.starts_with("./") || href.starts_with("../") { 119 | if let Ok(url) = url.join(&href) { 120 | href = url.to_string(); 121 | } 122 | } 123 | 124 | if href.contains("://") && !href.starts_with("gemini://") { 125 | surface = true; 126 | } else if !href.contains("://") && href.contains(':') { 127 | href = href.to_string(); 128 | } else if !href.starts_with("gemini://") && !href.starts_with('/') { 129 | href = format!( 130 | "{}/{}", 131 | url.domain().unwrap(), 132 | if url.path().ends_with('/') { 133 | format!("{}{}", url.path(), href) 134 | } else { 135 | format!("{}/{}", url.path(), href) 136 | } 137 | ) 138 | .replace("//", "/"); 139 | href = format!("gemini://{href}"); 140 | } else if href.starts_with('/') || !href.contains("://") { 141 | href = link_from_host_href(url, &href)?; 142 | } 143 | 144 | if var("PROXY_BY_DEFAULT") 145 | .unwrap_or_else(|_| "true".to_string()) 146 | .to_lowercase() 147 | == "true" 148 | && href.contains("gemini://") 149 | && !surface 150 | { 151 | if (configuration.is_proxy()) 152 | || configuration.is_no_css() 153 | || href 154 | .trim_start_matches("gemini://") 155 | .trim_end_matches('/') 156 | .split('/') 157 | .collect::{} Embedded below
", 220 | href, 221 | safe(text.as_ref().unwrap_or(to)), 222 | ); 223 | } 224 | 225 | let _ = writeln!( 226 | &mut html, 227 | "{}", safe(text)); 281 | } 282 | Node::PreformattedText { text, .. } => { 283 | let mut new_text = text.to_string(); 284 | 285 | new_text.pop(); 286 | 287 | let _ = write!(&mut html, "
{new_text}"); 288 | } 289 | Node::Whitespace => {} 290 | } 291 | } 292 | 293 | Some((title, html)) 294 | } 295 | -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #![deny( 2 | warnings, 3 | nonstandard_style, 4 | unused, 5 | future_incompatible, 6 | rust_2018_idioms, 7 | unsafe_code 8 | )] 9 | #![deny(clippy::all, clippy::nursery, clippy::pedantic)] 10 | #![recursion_limit = "128"] 11 | #![allow(clippy::cast_precision_loss)] 12 | 13 | mod html; 14 | mod response; 15 | mod url; 16 | 17 | #[macro_use] 18 | extern crate log; 19 | 20 | use {actix_web::web, response::default, std::env::var}; 21 | 22 | #[actix_web::main] 23 | async fn main() -> std::io::Result<()> { 24 | std::env::set_var("RUST_LOG", "actix_web=info"); 25 | dotenv::dotenv().ok(); 26 | pretty_env_logger::init(); 27 | 28 | actix_web::HttpServer::new(move || { 29 | actix_web::App::new() 30 | .default_service(web::get().to(default)) 31 | .wrap(actix_web::middleware::Logger::default()) 32 | }) 33 | .bind(( 34 | "0.0.0.0", 35 | var("PORT").map_or(80, |port| match port.parse::<_>() { 36 | Ok(port) => port, 37 | Err(e) => { 38 | warn!("could not use PORT from environment variables: {}", e); 39 | warn!("proceeding with default port: 80"); 40 | 41 | 80 42 | } 43 | }), 44 | ))? 45 | .run() 46 | .await 47 | } 48 | -------------------------------------------------------------------------------- /src/response.rs: -------------------------------------------------------------------------------- 1 | pub mod configuration; 2 | 3 | use { 4 | crate::url::from_path as url_from_path, 5 | actix_web::{Error, HttpResponse}, 6 | std::{env::var, fmt::Write, time::Instant}, 7 | }; 8 | 9 | const CSS: &str = include_str!("../default.css"); 10 | 11 | #[allow(clippy::future_not_send, clippy::too_many_lines)] 12 | pub async fn default( 13 | http_request: actix_web::HttpRequest, 14 | ) -> Result
This is a proxy path. Specify a Gemini URL without the protocol (gemini://
) to proxy it.
To proxy gemini://fuwn.me/uptime
, visit https://fuwn.me/proxy/fuwn.me/uptime
.
Additionally, you may visit /raw
to view the raw Gemini content, or /nocss
to view the content without CSS.
{header}" 193 | ); 194 | } 195 | } 196 | 197 | match response.status() { 198 | germ::request::Status::Success => { 199 | if let (Some(status), Some(url)) = 200 | (redirect_response_status, redirect_url) 201 | { 202 | let _ = write!( 203 | &mut html_context, 204 | "
This page {} redirects to {}.", 206 | if status == germ::request::Status::PermanentRedirect { 207 | "permanently" 208 | } else { 209 | "temporarily" 210 | }, 211 | url, 212 | url 213 | ); 214 | } 215 | 216 | html_context.push_str(&gemini_html.1); 217 | } 218 | _ => { 219 | let _ = write!(&mut html_context, "
{}
", response.meta()); 220 | } 221 | } 222 | 223 | let _ = write!( 224 | &mut html_context, 225 | "{}
This content has been proxied \ 240 | by September \ 241 | ({}).
242 |