Listen to git commits for a specific repo and run a shell command

Resolve handle by http as fallback if TXT fails

vielle.dev 29c04a75 652a0992

verified
Changed files
+924 -7
src
+906 -6
Cargo.lock
··· 29 29 ] 30 30 31 31 [[package]] 32 + name = "atomic-waker" 33 + version = "1.1.2" 34 + source = "registry+https://github.com/rust-lang/crates.io-index" 35 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 36 + 37 + [[package]] 32 38 name = "autocfg" 33 39 version = "1.5.0" 34 40 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 50 56 ] 51 57 52 58 [[package]] 59 + name = "base64" 60 + version = "0.22.1" 61 + source = "registry+https://github.com/rust-lang/crates.io-index" 62 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 63 + 64 + [[package]] 53 65 name = "bitflags" 54 66 version = "1.3.2" 55 67 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 62 74 checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" 63 75 64 76 [[package]] 77 + name = "bumpalo" 78 + version = "3.19.0" 79 + source = "registry+https://github.com/rust-lang/crates.io-index" 80 + checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 81 + 82 + [[package]] 83 + name = "bytes" 84 + version = "1.10.1" 85 + source = "registry+https://github.com/rust-lang/crates.io-index" 86 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 87 + 88 + [[package]] 89 + name = "cc" 90 + version = "1.2.36" 91 + source = "registry+https://github.com/rust-lang/crates.io-index" 92 + checksum = "5252b3d2648e5eedbc1a6f501e3c795e07025c1e93bbf8bbdd6eef7f447a6d54" 93 + dependencies = [ 94 + "find-msvc-tools", 95 + "shlex", 96 + ] 97 + 98 + [[package]] 65 99 name = "cfg-if" 66 100 version = "1.0.3" 67 101 source = "registry+https://github.com/rust-lang/crates.io-index" 68 102 checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" 69 103 70 104 [[package]] 105 + name = "core-foundation" 106 + version = "0.9.4" 107 + source = "registry+https://github.com/rust-lang/crates.io-index" 108 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 109 + dependencies = [ 110 + "core-foundation-sys", 111 + "libc", 112 + ] 113 + 114 + [[package]] 115 + name = "core-foundation-sys" 116 + version = "0.8.7" 117 + source = "registry+https://github.com/rust-lang/crates.io-index" 118 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 119 + 120 + [[package]] 71 121 name = "data-encoding" 72 122 version = "2.9.0" 73 123 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 85 135 ] 86 136 87 137 [[package]] 138 + name = "encoding_rs" 139 + version = "0.8.35" 140 + source = "registry+https://github.com/rust-lang/crates.io-index" 141 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 142 + dependencies = [ 143 + "cfg-if", 144 + ] 145 + 146 + [[package]] 88 147 name = "enum-as-inner" 89 148 version = "0.3.4" 90 149 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 97 156 ] 98 157 99 158 [[package]] 159 + name = "equivalent" 160 + version = "1.0.2" 161 + source = "registry+https://github.com/rust-lang/crates.io-index" 162 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 163 + 164 + [[package]] 165 + name = "errno" 166 + version = "0.3.13" 167 + source = "registry+https://github.com/rust-lang/crates.io-index" 168 + checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" 169 + dependencies = [ 170 + "libc", 171 + "windows-sys 0.59.0", 172 + ] 173 + 174 + [[package]] 175 + name = "fastrand" 176 + version = "2.3.0" 177 + source = "registry+https://github.com/rust-lang/crates.io-index" 178 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 179 + 180 + [[package]] 181 + name = "find-msvc-tools" 182 + version = "0.1.1" 183 + source = "registry+https://github.com/rust-lang/crates.io-index" 184 + checksum = "7fd99930f64d146689264c637b5af2f0233a933bef0d8570e2526bf9e083192d" 185 + 186 + [[package]] 187 + name = "fnv" 188 + version = "1.0.7" 189 + source = "registry+https://github.com/rust-lang/crates.io-index" 190 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 191 + 192 + [[package]] 193 + name = "foreign-types" 194 + version = "0.3.2" 195 + source = "registry+https://github.com/rust-lang/crates.io-index" 196 + checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 197 + dependencies = [ 198 + "foreign-types-shared", 199 + ] 200 + 201 + [[package]] 202 + name = "foreign-types-shared" 203 + version = "0.1.1" 204 + source = "registry+https://github.com/rust-lang/crates.io-index" 205 + checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 206 + 207 + [[package]] 100 208 name = "form_urlencoded" 101 209 version = "1.2.2" 102 210 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 112 220 checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 113 221 dependencies = [ 114 222 "futures-core", 223 + "futures-sink", 115 224 ] 116 225 117 226 [[package]] ··· 127 236 checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 128 237 129 238 [[package]] 239 + name = "futures-sink" 240 + version = "0.3.31" 241 + source = "registry+https://github.com/rust-lang/crates.io-index" 242 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 243 + 244 + [[package]] 130 245 name = "futures-task" 131 246 version = "0.3.31" 132 247 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 139 254 checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 140 255 dependencies = [ 141 256 "futures-core", 257 + "futures-io", 258 + "futures-sink", 142 259 "futures-task", 260 + "memchr", 143 261 "pin-project-lite", 144 262 "pin-utils", 145 263 "slab", ··· 153 271 dependencies = [ 154 272 "cfg-if", 155 273 "libc", 156 - "wasi", 274 + "wasi 0.11.1+wasi-snapshot-preview1", 275 + ] 276 + 277 + [[package]] 278 + name = "getrandom" 279 + version = "0.3.3" 280 + source = "registry+https://github.com/rust-lang/crates.io-index" 281 + checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 282 + dependencies = [ 283 + "cfg-if", 284 + "libc", 285 + "r-efi", 286 + "wasi 0.14.4+wasi-0.2.4", 157 287 ] 158 288 159 289 [[package]] ··· 163 293 checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 164 294 165 295 [[package]] 296 + name = "h2" 297 + version = "0.4.12" 298 + source = "registry+https://github.com/rust-lang/crates.io-index" 299 + checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" 300 + dependencies = [ 301 + "atomic-waker", 302 + "bytes", 303 + "fnv", 304 + "futures-core", 305 + "futures-sink", 306 + "http", 307 + "indexmap", 308 + "slab", 309 + "tokio", 310 + "tokio-util", 311 + "tracing", 312 + ] 313 + 314 + [[package]] 315 + name = "hashbrown" 316 + version = "0.15.5" 317 + source = "registry+https://github.com/rust-lang/crates.io-index" 318 + checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 319 + 320 + [[package]] 166 321 name = "heck" 167 322 version = "0.4.1" 168 323 source = "registry+https://github.com/rust-lang/crates.io-index" 169 324 checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 170 325 171 326 [[package]] 327 + name = "http" 328 + version = "1.3.1" 329 + source = "registry+https://github.com/rust-lang/crates.io-index" 330 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 331 + dependencies = [ 332 + "bytes", 333 + "fnv", 334 + "itoa", 335 + ] 336 + 337 + [[package]] 338 + name = "http-body" 339 + version = "1.0.1" 340 + source = "registry+https://github.com/rust-lang/crates.io-index" 341 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 342 + dependencies = [ 343 + "bytes", 344 + "http", 345 + ] 346 + 347 + [[package]] 348 + name = "http-body-util" 349 + version = "0.1.3" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 352 + dependencies = [ 353 + "bytes", 354 + "futures-core", 355 + "http", 356 + "http-body", 357 + "pin-project-lite", 358 + ] 359 + 360 + [[package]] 361 + name = "httparse" 362 + version = "1.10.1" 363 + source = "registry+https://github.com/rust-lang/crates.io-index" 364 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 365 + 366 + [[package]] 367 + name = "hyper" 368 + version = "1.7.0" 369 + source = "registry+https://github.com/rust-lang/crates.io-index" 370 + checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 371 + dependencies = [ 372 + "atomic-waker", 373 + "bytes", 374 + "futures-channel", 375 + "futures-core", 376 + "h2", 377 + "http", 378 + "http-body", 379 + "httparse", 380 + "itoa", 381 + "pin-project-lite", 382 + "pin-utils", 383 + "smallvec", 384 + "tokio", 385 + "want", 386 + ] 387 + 388 + [[package]] 389 + name = "hyper-rustls" 390 + version = "0.27.7" 391 + source = "registry+https://github.com/rust-lang/crates.io-index" 392 + checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 393 + dependencies = [ 394 + "http", 395 + "hyper", 396 + "hyper-util", 397 + "rustls", 398 + "rustls-pki-types", 399 + "tokio", 400 + "tokio-rustls", 401 + "tower-service", 402 + ] 403 + 404 + [[package]] 405 + name = "hyper-tls" 406 + version = "0.6.0" 407 + source = "registry+https://github.com/rust-lang/crates.io-index" 408 + checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 409 + dependencies = [ 410 + "bytes", 411 + "http-body-util", 412 + "hyper", 413 + "hyper-util", 414 + "native-tls", 415 + "tokio", 416 + "tokio-native-tls", 417 + "tower-service", 418 + ] 419 + 420 + [[package]] 421 + name = "hyper-util" 422 + version = "0.1.16" 423 + source = "registry+https://github.com/rust-lang/crates.io-index" 424 + checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" 425 + dependencies = [ 426 + "base64", 427 + "bytes", 428 + "futures-channel", 429 + "futures-core", 430 + "futures-util", 431 + "http", 432 + "http-body", 433 + "hyper", 434 + "ipnet", 435 + "libc", 436 + "percent-encoding", 437 + "pin-project-lite", 438 + "socket2 0.6.0", 439 + "system-configuration", 440 + "tokio", 441 + "tower-service", 442 + "tracing", 443 + "windows-registry", 444 + ] 445 + 446 + [[package]] 172 447 name = "icu_collections" 173 448 version = "2.0.0" 174 449 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 287 562 ] 288 563 289 564 [[package]] 565 + name = "indexmap" 566 + version = "2.11.0" 567 + source = "registry+https://github.com/rust-lang/crates.io-index" 568 + checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" 569 + dependencies = [ 570 + "equivalent", 571 + "hashbrown", 572 + ] 573 + 574 + [[package]] 290 575 name = "instant" 291 576 version = "0.1.13" 292 577 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 325 610 checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 326 611 327 612 [[package]] 613 + name = "iri-string" 614 + version = "0.7.8" 615 + source = "registry+https://github.com/rust-lang/crates.io-index" 616 + checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" 617 + dependencies = [ 618 + "memchr", 619 + "serde", 620 + ] 621 + 622 + [[package]] 623 + name = "itoa" 624 + version = "1.0.15" 625 + source = "registry+https://github.com/rust-lang/crates.io-index" 626 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 627 + 628 + [[package]] 629 + name = "js-sys" 630 + version = "0.3.78" 631 + source = "registry+https://github.com/rust-lang/crates.io-index" 632 + checksum = "0c0b063578492ceec17683ef2f8c5e89121fbd0b172cbc280635ab7567db2738" 633 + dependencies = [ 634 + "once_cell", 635 + "wasm-bindgen", 636 + ] 637 + 638 + [[package]] 328 639 name = "json" 329 640 version = "0.12.4" 330 641 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 349 660 checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" 350 661 351 662 [[package]] 663 + name = "linux-raw-sys" 664 + version = "0.9.4" 665 + source = "registry+https://github.com/rust-lang/crates.io-index" 666 + checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" 667 + 668 + [[package]] 352 669 name = "litemap" 353 670 version = "0.8.0" 354 671 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 392 709 checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 393 710 394 711 [[package]] 712 + name = "mime" 713 + version = "0.3.17" 714 + source = "registry+https://github.com/rust-lang/crates.io-index" 715 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 716 + 717 + [[package]] 395 718 name = "miniz_oxide" 396 719 version = "0.8.9" 397 720 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 407 730 checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 408 731 dependencies = [ 409 732 "libc", 410 - "wasi", 411 - "windows-sys", 733 + "wasi 0.11.1+wasi-snapshot-preview1", 734 + "windows-sys 0.59.0", 735 + ] 736 + 737 + [[package]] 738 + name = "native-tls" 739 + version = "0.2.14" 740 + source = "registry+https://github.com/rust-lang/crates.io-index" 741 + checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 742 + dependencies = [ 743 + "libc", 744 + "log", 745 + "openssl", 746 + "openssl-probe", 747 + "openssl-sys", 748 + "schannel", 749 + "security-framework", 750 + "security-framework-sys", 751 + "tempfile", 412 752 ] 413 753 414 754 [[package]] ··· 421 761 ] 422 762 423 763 [[package]] 764 + name = "once_cell" 765 + version = "1.21.3" 766 + source = "registry+https://github.com/rust-lang/crates.io-index" 767 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 768 + 769 + [[package]] 770 + name = "openssl" 771 + version = "0.10.73" 772 + source = "registry+https://github.com/rust-lang/crates.io-index" 773 + checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" 774 + dependencies = [ 775 + "bitflags 2.9.4", 776 + "cfg-if", 777 + "foreign-types", 778 + "libc", 779 + "once_cell", 780 + "openssl-macros", 781 + "openssl-sys", 782 + ] 783 + 784 + [[package]] 785 + name = "openssl-macros" 786 + version = "0.1.1" 787 + source = "registry+https://github.com/rust-lang/crates.io-index" 788 + checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 789 + dependencies = [ 790 + "proc-macro2", 791 + "quote", 792 + "syn 2.0.106", 793 + ] 794 + 795 + [[package]] 796 + name = "openssl-probe" 797 + version = "0.1.6" 798 + source = "registry+https://github.com/rust-lang/crates.io-index" 799 + checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 800 + 801 + [[package]] 802 + name = "openssl-sys" 803 + version = "0.9.109" 804 + source = "registry+https://github.com/rust-lang/crates.io-index" 805 + checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" 806 + dependencies = [ 807 + "cc", 808 + "libc", 809 + "pkg-config", 810 + "vcpkg", 811 + ] 812 + 813 + [[package]] 424 814 name = "parking_lot" 425 815 version = "0.11.2" 426 816 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 464 854 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 465 855 466 856 [[package]] 857 + name = "pkg-config" 858 + version = "0.3.32" 859 + source = "registry+https://github.com/rust-lang/crates.io-index" 860 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 861 + 862 + [[package]] 467 863 name = "potential_utf" 468 864 version = "0.1.3" 469 865 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 500 896 ] 501 897 502 898 [[package]] 899 + name = "r-efi" 900 + version = "5.3.0" 901 + source = "registry+https://github.com/rust-lang/crates.io-index" 902 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 903 + 904 + [[package]] 503 905 name = "rand" 504 906 version = "0.8.5" 505 907 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 526 928 source = "registry+https://github.com/rust-lang/crates.io-index" 527 929 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 528 930 dependencies = [ 529 - "getrandom", 931 + "getrandom 0.2.16", 530 932 ] 531 933 532 934 [[package]] ··· 539 941 ] 540 942 541 943 [[package]] 944 + name = "reqwest" 945 + version = "0.12.23" 946 + source = "registry+https://github.com/rust-lang/crates.io-index" 947 + checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" 948 + dependencies = [ 949 + "base64", 950 + "bytes", 951 + "encoding_rs", 952 + "futures-channel", 953 + "futures-core", 954 + "futures-util", 955 + "h2", 956 + "http", 957 + "http-body", 958 + "http-body-util", 959 + "hyper", 960 + "hyper-rustls", 961 + "hyper-tls", 962 + "hyper-util", 963 + "js-sys", 964 + "log", 965 + "mime", 966 + "native-tls", 967 + "percent-encoding", 968 + "pin-project-lite", 969 + "rustls-pki-types", 970 + "serde", 971 + "serde_json", 972 + "serde_urlencoded", 973 + "sync_wrapper", 974 + "tokio", 975 + "tokio-native-tls", 976 + "tower", 977 + "tower-http", 978 + "tower-service", 979 + "url", 980 + "wasm-bindgen", 981 + "wasm-bindgen-futures", 982 + "web-sys", 983 + ] 984 + 985 + [[package]] 542 986 name = "resolv-conf" 543 987 version = "0.7.4" 544 988 source = "registry+https://github.com/rust-lang/crates.io-index" 545 989 checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" 546 990 547 991 [[package]] 992 + name = "ring" 993 + version = "0.17.14" 994 + source = "registry+https://github.com/rust-lang/crates.io-index" 995 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 996 + dependencies = [ 997 + "cc", 998 + "cfg-if", 999 + "getrandom 0.2.16", 1000 + "libc", 1001 + "untrusted", 1002 + "windows-sys 0.52.0", 1003 + ] 1004 + 1005 + [[package]] 548 1006 name = "rustc-demangle" 549 1007 version = "0.1.26" 550 1008 source = "registry+https://github.com/rust-lang/crates.io-index" 551 1009 checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 552 1010 553 1011 [[package]] 1012 + name = "rustix" 1013 + version = "1.0.8" 1014 + source = "registry+https://github.com/rust-lang/crates.io-index" 1015 + checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" 1016 + dependencies = [ 1017 + "bitflags 2.9.4", 1018 + "errno", 1019 + "libc", 1020 + "linux-raw-sys", 1021 + "windows-sys 0.59.0", 1022 + ] 1023 + 1024 + [[package]] 1025 + name = "rustls" 1026 + version = "0.23.31" 1027 + source = "registry+https://github.com/rust-lang/crates.io-index" 1028 + checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" 1029 + dependencies = [ 1030 + "once_cell", 1031 + "rustls-pki-types", 1032 + "rustls-webpki", 1033 + "subtle", 1034 + "zeroize", 1035 + ] 1036 + 1037 + [[package]] 1038 + name = "rustls-pki-types" 1039 + version = "1.12.0" 1040 + source = "registry+https://github.com/rust-lang/crates.io-index" 1041 + checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 1042 + dependencies = [ 1043 + "zeroize", 1044 + ] 1045 + 1046 + [[package]] 1047 + name = "rustls-webpki" 1048 + version = "0.103.4" 1049 + source = "registry+https://github.com/rust-lang/crates.io-index" 1050 + checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" 1051 + dependencies = [ 1052 + "ring", 1053 + "rustls-pki-types", 1054 + "untrusted", 1055 + ] 1056 + 1057 + [[package]] 1058 + name = "rustversion" 1059 + version = "1.0.22" 1060 + source = "registry+https://github.com/rust-lang/crates.io-index" 1061 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1062 + 1063 + [[package]] 1064 + name = "ryu" 1065 + version = "1.0.20" 1066 + source = "registry+https://github.com/rust-lang/crates.io-index" 1067 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1068 + 1069 + [[package]] 1070 + name = "schannel" 1071 + version = "0.1.27" 1072 + source = "registry+https://github.com/rust-lang/crates.io-index" 1073 + checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 1074 + dependencies = [ 1075 + "windows-sys 0.59.0", 1076 + ] 1077 + 1078 + [[package]] 554 1079 name = "scopeguard" 555 1080 version = "1.2.0" 556 1081 source = "registry+https://github.com/rust-lang/crates.io-index" 557 1082 checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 558 1083 559 1084 [[package]] 1085 + name = "security-framework" 1086 + version = "2.11.1" 1087 + source = "registry+https://github.com/rust-lang/crates.io-index" 1088 + checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1089 + dependencies = [ 1090 + "bitflags 2.9.4", 1091 + "core-foundation", 1092 + "core-foundation-sys", 1093 + "libc", 1094 + "security-framework-sys", 1095 + ] 1096 + 1097 + [[package]] 1098 + name = "security-framework-sys" 1099 + version = "2.14.0" 1100 + source = "registry+https://github.com/rust-lang/crates.io-index" 1101 + checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 1102 + dependencies = [ 1103 + "core-foundation-sys", 1104 + "libc", 1105 + ] 1106 + 1107 + [[package]] 560 1108 name = "serde" 561 1109 version = "1.0.219" 562 1110 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 577 1125 ] 578 1126 579 1127 [[package]] 1128 + name = "serde_json" 1129 + version = "1.0.143" 1130 + source = "registry+https://github.com/rust-lang/crates.io-index" 1131 + checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" 1132 + dependencies = [ 1133 + "itoa", 1134 + "memchr", 1135 + "ryu", 1136 + "serde", 1137 + ] 1138 + 1139 + [[package]] 1140 + name = "serde_urlencoded" 1141 + version = "0.7.1" 1142 + source = "registry+https://github.com/rust-lang/crates.io-index" 1143 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1144 + dependencies = [ 1145 + "form_urlencoded", 1146 + "itoa", 1147 + "ryu", 1148 + "serde", 1149 + ] 1150 + 1151 + [[package]] 1152 + name = "shlex" 1153 + version = "1.3.0" 1154 + source = "registry+https://github.com/rust-lang/crates.io-index" 1155 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1156 + 1157 + [[package]] 580 1158 name = "slab" 581 1159 version = "0.4.11" 582 1160 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 606 1184 checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 607 1185 dependencies = [ 608 1186 "libc", 609 - "windows-sys", 1187 + "windows-sys 0.59.0", 610 1188 ] 611 1189 612 1190 [[package]] ··· 616 1194 checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 617 1195 618 1196 [[package]] 1197 + name = "subtle" 1198 + version = "2.6.1" 1199 + source = "registry+https://github.com/rust-lang/crates.io-index" 1200 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1201 + 1202 + [[package]] 619 1203 name = "syn" 620 1204 version = "1.0.109" 621 1205 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 638 1222 ] 639 1223 640 1224 [[package]] 1225 + name = "sync_wrapper" 1226 + version = "1.0.2" 1227 + source = "registry+https://github.com/rust-lang/crates.io-index" 1228 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1229 + dependencies = [ 1230 + "futures-core", 1231 + ] 1232 + 1233 + [[package]] 641 1234 name = "synstructure" 642 1235 version = "0.13.2" 643 1236 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 649 1242 ] 650 1243 651 1244 [[package]] 1245 + name = "system-configuration" 1246 + version = "0.6.1" 1247 + source = "registry+https://github.com/rust-lang/crates.io-index" 1248 + checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 1249 + dependencies = [ 1250 + "bitflags 2.9.4", 1251 + "core-foundation", 1252 + "system-configuration-sys", 1253 + ] 1254 + 1255 + [[package]] 1256 + name = "system-configuration-sys" 1257 + version = "0.6.0" 1258 + source = "registry+https://github.com/rust-lang/crates.io-index" 1259 + checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 1260 + dependencies = [ 1261 + "core-foundation-sys", 1262 + "libc", 1263 + ] 1264 + 1265 + [[package]] 652 1266 name = "tangled-on-commit" 653 1267 version = "0.1.0" 654 1268 dependencies = [ 655 1269 "json", 1270 + "reqwest", 656 1271 "trust-dns-resolver", 657 1272 ] 658 1273 659 1274 [[package]] 1275 + name = "tempfile" 1276 + version = "3.21.0" 1277 + source = "registry+https://github.com/rust-lang/crates.io-index" 1278 + checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" 1279 + dependencies = [ 1280 + "fastrand", 1281 + "getrandom 0.3.3", 1282 + "once_cell", 1283 + "rustix", 1284 + "windows-sys 0.59.0", 1285 + ] 1286 + 1287 + [[package]] 660 1288 name = "thiserror" 661 1289 version = "1.0.69" 662 1290 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 708 1336 checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 709 1337 dependencies = [ 710 1338 "backtrace", 1339 + "bytes", 711 1340 "io-uring", 712 1341 "libc", 713 1342 "mio", 714 1343 "pin-project-lite", 715 1344 "slab", 716 1345 "socket2 0.6.0", 717 - "windows-sys", 1346 + "windows-sys 0.59.0", 1347 + ] 1348 + 1349 + [[package]] 1350 + name = "tokio-native-tls" 1351 + version = "0.3.1" 1352 + source = "registry+https://github.com/rust-lang/crates.io-index" 1353 + checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1354 + dependencies = [ 1355 + "native-tls", 1356 + "tokio", 1357 + ] 1358 + 1359 + [[package]] 1360 + name = "tokio-rustls" 1361 + version = "0.26.2" 1362 + source = "registry+https://github.com/rust-lang/crates.io-index" 1363 + checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" 1364 + dependencies = [ 1365 + "rustls", 1366 + "tokio", 1367 + ] 1368 + 1369 + [[package]] 1370 + name = "tokio-util" 1371 + version = "0.7.16" 1372 + source = "registry+https://github.com/rust-lang/crates.io-index" 1373 + checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 1374 + dependencies = [ 1375 + "bytes", 1376 + "futures-core", 1377 + "futures-sink", 1378 + "pin-project-lite", 1379 + "tokio", 1380 + ] 1381 + 1382 + [[package]] 1383 + name = "tower" 1384 + version = "0.5.2" 1385 + source = "registry+https://github.com/rust-lang/crates.io-index" 1386 + checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 1387 + dependencies = [ 1388 + "futures-core", 1389 + "futures-util", 1390 + "pin-project-lite", 1391 + "sync_wrapper", 1392 + "tokio", 1393 + "tower-layer", 1394 + "tower-service", 1395 + ] 1396 + 1397 + [[package]] 1398 + name = "tower-http" 1399 + version = "0.6.6" 1400 + source = "registry+https://github.com/rust-lang/crates.io-index" 1401 + checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 1402 + dependencies = [ 1403 + "bitflags 2.9.4", 1404 + "bytes", 1405 + "futures-util", 1406 + "http", 1407 + "http-body", 1408 + "iri-string", 1409 + "pin-project-lite", 1410 + "tower", 1411 + "tower-layer", 1412 + "tower-service", 1413 + ] 1414 + 1415 + [[package]] 1416 + name = "tower-layer" 1417 + version = "0.3.3" 1418 + source = "registry+https://github.com/rust-lang/crates.io-index" 1419 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1420 + 1421 + [[package]] 1422 + name = "tower-service" 1423 + version = "0.3.3" 1424 + source = "registry+https://github.com/rust-lang/crates.io-index" 1425 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1426 + 1427 + [[package]] 1428 + name = "tracing" 1429 + version = "0.1.41" 1430 + source = "registry+https://github.com/rust-lang/crates.io-index" 1431 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1432 + dependencies = [ 1433 + "pin-project-lite", 1434 + "tracing-core", 1435 + ] 1436 + 1437 + [[package]] 1438 + name = "tracing-core" 1439 + version = "0.1.34" 1440 + source = "registry+https://github.com/rust-lang/crates.io-index" 1441 + checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 1442 + dependencies = [ 1443 + "once_cell", 718 1444 ] 719 1445 720 1446 [[package]] ··· 763 1489 ] 764 1490 765 1491 [[package]] 1492 + name = "try-lock" 1493 + version = "0.2.5" 1494 + source = "registry+https://github.com/rust-lang/crates.io-index" 1495 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1496 + 1497 + [[package]] 766 1498 name = "unicode-bidi" 767 1499 version = "0.3.18" 768 1500 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 784 1516 ] 785 1517 786 1518 [[package]] 1519 + name = "untrusted" 1520 + version = "0.9.0" 1521 + source = "registry+https://github.com/rust-lang/crates.io-index" 1522 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 1523 + 1524 + [[package]] 787 1525 name = "url" 788 1526 version = "2.5.7" 789 1527 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 802 1540 checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 803 1541 804 1542 [[package]] 1543 + name = "vcpkg" 1544 + version = "0.2.15" 1545 + source = "registry+https://github.com/rust-lang/crates.io-index" 1546 + checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1547 + 1548 + [[package]] 1549 + name = "want" 1550 + version = "0.3.1" 1551 + source = "registry+https://github.com/rust-lang/crates.io-index" 1552 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1553 + dependencies = [ 1554 + "try-lock", 1555 + ] 1556 + 1557 + [[package]] 805 1558 name = "wasi" 806 1559 version = "0.11.1+wasi-snapshot-preview1" 807 1560 source = "registry+https://github.com/rust-lang/crates.io-index" 808 1561 checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 809 1562 810 1563 [[package]] 1564 + name = "wasi" 1565 + version = "0.14.4+wasi-0.2.4" 1566 + source = "registry+https://github.com/rust-lang/crates.io-index" 1567 + checksum = "88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a" 1568 + dependencies = [ 1569 + "wit-bindgen", 1570 + ] 1571 + 1572 + [[package]] 1573 + name = "wasm-bindgen" 1574 + version = "0.2.101" 1575 + source = "registry+https://github.com/rust-lang/crates.io-index" 1576 + checksum = "7e14915cadd45b529bb8d1f343c4ed0ac1de926144b746e2710f9cd05df6603b" 1577 + dependencies = [ 1578 + "cfg-if", 1579 + "once_cell", 1580 + "rustversion", 1581 + "wasm-bindgen-macro", 1582 + "wasm-bindgen-shared", 1583 + ] 1584 + 1585 + [[package]] 1586 + name = "wasm-bindgen-backend" 1587 + version = "0.2.101" 1588 + source = "registry+https://github.com/rust-lang/crates.io-index" 1589 + checksum = "e28d1ba982ca7923fd01448d5c30c6864d0a14109560296a162f80f305fb93bb" 1590 + dependencies = [ 1591 + "bumpalo", 1592 + "log", 1593 + "proc-macro2", 1594 + "quote", 1595 + "syn 2.0.106", 1596 + "wasm-bindgen-shared", 1597 + ] 1598 + 1599 + [[package]] 1600 + name = "wasm-bindgen-futures" 1601 + version = "0.4.51" 1602 + source = "registry+https://github.com/rust-lang/crates.io-index" 1603 + checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" 1604 + dependencies = [ 1605 + "cfg-if", 1606 + "js-sys", 1607 + "once_cell", 1608 + "wasm-bindgen", 1609 + "web-sys", 1610 + ] 1611 + 1612 + [[package]] 1613 + name = "wasm-bindgen-macro" 1614 + version = "0.2.101" 1615 + source = "registry+https://github.com/rust-lang/crates.io-index" 1616 + checksum = "7c3d463ae3eff775b0c45df9da45d68837702ac35af998361e2c84e7c5ec1b0d" 1617 + dependencies = [ 1618 + "quote", 1619 + "wasm-bindgen-macro-support", 1620 + ] 1621 + 1622 + [[package]] 1623 + name = "wasm-bindgen-macro-support" 1624 + version = "0.2.101" 1625 + source = "registry+https://github.com/rust-lang/crates.io-index" 1626 + checksum = "7bb4ce89b08211f923caf51d527662b75bdc9c9c7aab40f86dcb9fb85ac552aa" 1627 + dependencies = [ 1628 + "proc-macro2", 1629 + "quote", 1630 + "syn 2.0.106", 1631 + "wasm-bindgen-backend", 1632 + "wasm-bindgen-shared", 1633 + ] 1634 + 1635 + [[package]] 1636 + name = "wasm-bindgen-shared" 1637 + version = "0.2.101" 1638 + source = "registry+https://github.com/rust-lang/crates.io-index" 1639 + checksum = "f143854a3b13752c6950862c906306adb27c7e839f7414cec8fea35beab624c1" 1640 + dependencies = [ 1641 + "unicode-ident", 1642 + ] 1643 + 1644 + [[package]] 1645 + name = "web-sys" 1646 + version = "0.3.78" 1647 + source = "registry+https://github.com/rust-lang/crates.io-index" 1648 + checksum = "77e4b637749ff0d92b8fad63aa1f7cff3cbe125fd49c175cd6345e7272638b12" 1649 + dependencies = [ 1650 + "js-sys", 1651 + "wasm-bindgen", 1652 + ] 1653 + 1654 + [[package]] 811 1655 name = "widestring" 812 1656 version = "0.4.3" 813 1657 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 836 1680 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 837 1681 838 1682 [[package]] 1683 + name = "windows-link" 1684 + version = "0.1.3" 1685 + source = "registry+https://github.com/rust-lang/crates.io-index" 1686 + checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 1687 + 1688 + [[package]] 1689 + name = "windows-registry" 1690 + version = "0.5.3" 1691 + source = "registry+https://github.com/rust-lang/crates.io-index" 1692 + checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 1693 + dependencies = [ 1694 + "windows-link", 1695 + "windows-result", 1696 + "windows-strings", 1697 + ] 1698 + 1699 + [[package]] 1700 + name = "windows-result" 1701 + version = "0.3.4" 1702 + source = "registry+https://github.com/rust-lang/crates.io-index" 1703 + checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 1704 + dependencies = [ 1705 + "windows-link", 1706 + ] 1707 + 1708 + [[package]] 1709 + name = "windows-strings" 1710 + version = "0.4.2" 1711 + source = "registry+https://github.com/rust-lang/crates.io-index" 1712 + checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 1713 + dependencies = [ 1714 + "windows-link", 1715 + ] 1716 + 1717 + [[package]] 1718 + name = "windows-sys" 1719 + version = "0.52.0" 1720 + source = "registry+https://github.com/rust-lang/crates.io-index" 1721 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1722 + dependencies = [ 1723 + "windows-targets", 1724 + ] 1725 + 1726 + [[package]] 839 1727 name = "windows-sys" 840 1728 version = "0.59.0" 841 1729 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 918 1806 ] 919 1807 920 1808 [[package]] 1809 + name = "wit-bindgen" 1810 + version = "0.45.1" 1811 + source = "registry+https://github.com/rust-lang/crates.io-index" 1812 + checksum = "5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36" 1813 + 1814 + [[package]] 921 1815 name = "writeable" 922 1816 version = "0.6.1" 923 1817 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 987 1881 "syn 2.0.106", 988 1882 "synstructure", 989 1883 ] 1884 + 1885 + [[package]] 1886 + name = "zeroize" 1887 + version = "1.8.1" 1888 + source = "registry+https://github.com/rust-lang/crates.io-index" 1889 + checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 990 1890 991 1891 [[package]] 992 1892 name = "zerotrie"
+1
Cargo.toml
··· 8 8 [dependencies] 9 9 json = "0.12.4" 10 10 trust-dns-resolver = "0.20.1" 11 + reqwest = { version = "0.12.23", features = ["blocking"] }
+17 -1
src/did.rs
··· 38 38 } 39 39 40 40 fn get_http_did(handle: &String) -> Result<String, ()> { 41 - return Ok(String::new()); 41 + let res = match reqwest::blocking::get("https://".to_owned() + handle + "/.well-known/atproto-did") { 42 + Ok(val) => val, 43 + Err(_) => return Err(()) 44 + }; 45 + 46 + // as per spec, non 2xx code means failure 47 + if !res.status().is_success() { return Err(()) } 48 + 49 + let did_unparsed = match res.text() { 50 + Ok(val) => val, 51 + Err(_) => return Err(()) 52 + }; 53 + 54 + let did = did_unparsed.trim(); 55 + 56 + if !did.starts_with("did:") { return Err(()) }; 57 + return Ok(String::from(did)) 42 58 } 43 59 44 60 pub fn get_did(handle: String) -> Result<DidDoc, ()> {