[READ-ONLY] Mirror of https://github.com/FoxxMD/docker-proxy-filter. Filter the contents of Docker API responses
docker docker-socket-proxy filter
0

Configure Feed

Select the types of activity you want to include in your feed.

refactor: Replace reqwest with ntext client

FoxxMD (Oct 10, 2025, 4:39 PM UTC) 520f9645 ab5ce74f

+32 -751
+3 -735
Cargo.lock
··· 24 24 checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" 25 25 dependencies = [ 26 26 "cfg-if", 27 - "getrandom 0.3.3", 27 + "getrandom", 28 28 "once_cell", 29 29 "version_check", 30 30 "zerocopy", ··· 69 69 "miniz_oxide", 70 70 "object", 71 71 "rustc-demangle", 72 - "windows-link 0.2.1", 72 + "windows-link", 73 73 ] 74 74 75 75 [[package]] ··· 94 94 ] 95 95 96 96 [[package]] 97 - name = "bumpalo" 98 - version = "3.19.0" 99 - source = "registry+https://github.com/rust-lang/crates.io-index" 100 - checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 101 - 102 - [[package]] 103 97 name = "bytes" 104 98 version = "1.10.1" 105 99 source = "registry+https://github.com/rust-lang/crates.io-index" 106 100 checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 107 101 108 102 [[package]] 109 - name = "cc" 110 - version = "1.2.40" 111 - source = "registry+https://github.com/rust-lang/crates.io-index" 112 - checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb" 113 - dependencies = [ 114 - "find-msvc-tools", 115 - "shlex", 116 - ] 117 - 118 - [[package]] 119 103 name = "cfg-if" 120 104 version = "1.0.3" 121 105 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 137 121 ] 138 122 139 123 [[package]] 140 - name = "core-foundation" 141 - version = "0.9.4" 142 - source = "registry+https://github.com/rust-lang/crates.io-index" 143 - checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 144 - dependencies = [ 145 - "core-foundation-sys", 146 - "libc", 147 - ] 148 - 149 - [[package]] 150 - name = "core-foundation-sys" 151 - version = "0.8.7" 152 - source = "registry+https://github.com/rust-lang/crates.io-index" 153 - checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 154 - 155 - [[package]] 156 124 name = "core_affinity" 157 125 version = "0.8.3" 158 126 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 236 204 "http", 237 205 "ntex", 238 206 "regex", 239 - "reqwest", 240 207 "serde", 241 208 "serde_json", 242 209 "tracing", ··· 288 255 ] 289 256 290 257 [[package]] 291 - name = "equivalent" 292 - version = "1.0.2" 293 - source = "registry+https://github.com/rust-lang/crates.io-index" 294 - checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 295 - 296 - [[package]] 297 258 name = "errno" 298 259 version = "0.3.14" 299 260 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 325 286 ] 326 287 327 288 [[package]] 328 - name = "fastrand" 329 - version = "2.3.0" 330 - source = "registry+https://github.com/rust-lang/crates.io-index" 331 - checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 332 - 333 - [[package]] 334 - name = "find-msvc-tools" 335 - version = "0.1.3" 336 - source = "registry+https://github.com/rust-lang/crates.io-index" 337 - checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3" 338 - 339 - [[package]] 340 289 name = "fnv" 341 290 version = "1.0.7" 342 291 source = "registry+https://github.com/rust-lang/crates.io-index" 343 292 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 344 - 345 - [[package]] 346 - name = "foreign-types" 347 - version = "0.3.2" 348 - source = "registry+https://github.com/rust-lang/crates.io-index" 349 - checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 350 - dependencies = [ 351 - "foreign-types-shared", 352 - ] 353 - 354 - [[package]] 355 - name = "foreign-types-shared" 356 - version = "0.1.1" 357 - source = "registry+https://github.com/rust-lang/crates.io-index" 358 - checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 359 293 360 294 [[package]] 361 295 name = "form_urlencoded" ··· 367 301 ] 368 302 369 303 [[package]] 370 - name = "futures-channel" 371 - version = "0.3.31" 372 - source = "registry+https://github.com/rust-lang/crates.io-index" 373 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 374 - dependencies = [ 375 - "futures-core", 376 - ] 377 - 378 - [[package]] 379 304 name = "futures-core" 380 305 version = "0.3.31" 381 306 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 391 316 "quote", 392 317 "syn 2.0.106", 393 318 ] 394 - 395 - [[package]] 396 - name = "futures-sink" 397 - version = "0.3.31" 398 - source = "registry+https://github.com/rust-lang/crates.io-index" 399 - checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 400 319 401 320 [[package]] 402 321 name = "futures-task" ··· 436 355 437 356 [[package]] 438 357 name = "getrandom" 439 - version = "0.2.16" 440 - source = "registry+https://github.com/rust-lang/crates.io-index" 441 - checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 442 - dependencies = [ 443 - "cfg-if", 444 - "libc", 445 - "wasi 0.11.1+wasi-snapshot-preview1", 446 - ] 447 - 448 - [[package]] 449 - name = "getrandom" 450 358 version = "0.3.3" 451 359 source = "registry+https://github.com/rust-lang/crates.io-index" 452 360 checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" ··· 464 372 checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" 465 373 466 374 [[package]] 467 - name = "h2" 468 - version = "0.4.12" 469 - source = "registry+https://github.com/rust-lang/crates.io-index" 470 - checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" 471 - dependencies = [ 472 - "atomic-waker", 473 - "bytes", 474 - "fnv", 475 - "futures-core", 476 - "futures-sink", 477 - "http", 478 - "indexmap", 479 - "slab", 480 - "tokio", 481 - "tokio-util", 482 - "tracing", 483 - ] 484 - 485 - [[package]] 486 - name = "hashbrown" 487 - version = "0.16.0" 488 - source = "registry+https://github.com/rust-lang/crates.io-index" 489 - checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" 490 - 491 - [[package]] 492 375 name = "hermit-abi" 493 376 version = "0.5.2" 494 377 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 506 389 ] 507 390 508 391 [[package]] 509 - name = "http-body" 510 - version = "1.0.1" 511 - source = "registry+https://github.com/rust-lang/crates.io-index" 512 - checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 513 - dependencies = [ 514 - "bytes", 515 - "http", 516 - ] 517 - 518 - [[package]] 519 - name = "http-body-util" 520 - version = "0.1.3" 521 - source = "registry+https://github.com/rust-lang/crates.io-index" 522 - checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 523 - dependencies = [ 524 - "bytes", 525 - "futures-core", 526 - "http", 527 - "http-body", 528 - "pin-project-lite", 529 - ] 530 - 531 - [[package]] 532 392 name = "httparse" 533 393 version = "1.10.1" 534 394 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 541 401 checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 542 402 543 403 [[package]] 544 - name = "hyper" 545 - version = "1.7.0" 546 - source = "registry+https://github.com/rust-lang/crates.io-index" 547 - checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 548 - dependencies = [ 549 - "atomic-waker", 550 - "bytes", 551 - "futures-channel", 552 - "futures-core", 553 - "h2", 554 - "http", 555 - "http-body", 556 - "httparse", 557 - "itoa", 558 - "pin-project-lite", 559 - "pin-utils", 560 - "smallvec", 561 - "tokio", 562 - "want", 563 - ] 564 - 565 - [[package]] 566 - name = "hyper-rustls" 567 - version = "0.27.7" 568 - source = "registry+https://github.com/rust-lang/crates.io-index" 569 - checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 570 - dependencies = [ 571 - "http", 572 - "hyper", 573 - "hyper-util", 574 - "rustls", 575 - "rustls-pki-types", 576 - "tokio", 577 - "tokio-rustls", 578 - "tower-service", 579 - ] 580 - 581 - [[package]] 582 - name = "hyper-tls" 583 - version = "0.6.0" 584 - source = "registry+https://github.com/rust-lang/crates.io-index" 585 - checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 586 - dependencies = [ 587 - "bytes", 588 - "http-body-util", 589 - "hyper", 590 - "hyper-util", 591 - "native-tls", 592 - "tokio", 593 - "tokio-native-tls", 594 - "tower-service", 595 - ] 596 - 597 - [[package]] 598 - name = "hyper-util" 599 - version = "0.1.17" 600 - source = "registry+https://github.com/rust-lang/crates.io-index" 601 - checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" 602 - dependencies = [ 603 - "base64", 604 - "bytes", 605 - "futures-channel", 606 - "futures-core", 607 - "futures-util", 608 - "http", 609 - "http-body", 610 - "hyper", 611 - "ipnet", 612 - "libc", 613 - "percent-encoding", 614 - "pin-project-lite", 615 - "socket2 0.6.0", 616 - "system-configuration", 617 - "tokio", 618 - "tower-service", 619 - "tracing", 620 - "windows-registry", 621 - ] 622 - 623 - [[package]] 624 404 name = "icu_collections" 625 405 version = "2.0.0" 626 406 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 728 508 ] 729 509 730 510 [[package]] 731 - name = "indexmap" 732 - version = "2.11.4" 733 - source = "registry+https://github.com/rust-lang/crates.io-index" 734 - checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" 735 - dependencies = [ 736 - "equivalent", 737 - "hashbrown", 738 - ] 739 - 740 - [[package]] 741 511 name = "io-uring" 742 512 version = "0.7.10" 743 513 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 749 519 ] 750 520 751 521 [[package]] 752 - name = "ipnet" 753 - version = "2.11.0" 754 - source = "registry+https://github.com/rust-lang/crates.io-index" 755 - checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" 756 - 757 - [[package]] 758 - name = "iri-string" 759 - version = "0.7.8" 760 - source = "registry+https://github.com/rust-lang/crates.io-index" 761 - checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" 762 - dependencies = [ 763 - "memchr", 764 - "serde", 765 - ] 766 - 767 - [[package]] 768 522 name = "itoa" 769 523 version = "1.0.15" 770 524 source = "registry+https://github.com/rust-lang/crates.io-index" 771 525 checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 772 - 773 - [[package]] 774 - name = "js-sys" 775 - version = "0.3.81" 776 - source = "registry+https://github.com/rust-lang/crates.io-index" 777 - checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" 778 - dependencies = [ 779 - "once_cell", 780 - "wasm-bindgen", 781 - ] 782 526 783 527 [[package]] 784 528 name = "lazy_static" ··· 856 600 version = "0.8.0" 857 601 source = "registry+https://github.com/rust-lang/crates.io-index" 858 602 checksum = "6e3d189da485332e96ba8a5ef646a311871abd7915bf06ac848a9117f19cf6e4" 859 - 860 - [[package]] 861 - name = "native-tls" 862 - version = "0.2.14" 863 - source = "registry+https://github.com/rust-lang/crates.io-index" 864 - checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 865 - dependencies = [ 866 - "libc", 867 - "log", 868 - "openssl", 869 - "openssl-probe", 870 - "openssl-sys", 871 - "schannel", 872 - "security-framework", 873 - "security-framework-sys", 874 - "tempfile", 875 - ] 876 603 877 604 [[package]] 878 605 name = "nix" ··· 1174 901 checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" 1175 902 1176 903 [[package]] 1177 - name = "openssl" 1178 - version = "0.10.73" 1179 - source = "registry+https://github.com/rust-lang/crates.io-index" 1180 - checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" 1181 - dependencies = [ 1182 - "bitflags", 1183 - "cfg-if", 1184 - "foreign-types", 1185 - "libc", 1186 - "once_cell", 1187 - "openssl-macros", 1188 - "openssl-sys", 1189 - ] 1190 - 1191 - [[package]] 1192 - name = "openssl-macros" 1193 - version = "0.1.1" 1194 - source = "registry+https://github.com/rust-lang/crates.io-index" 1195 - checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 1196 - dependencies = [ 1197 - "proc-macro2", 1198 - "quote", 1199 - "syn 2.0.106", 1200 - ] 1201 - 1202 - [[package]] 1203 - name = "openssl-probe" 1204 - version = "0.1.6" 1205 - source = "registry+https://github.com/rust-lang/crates.io-index" 1206 - checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 1207 - 1208 - [[package]] 1209 - name = "openssl-sys" 1210 - version = "0.9.109" 1211 - source = "registry+https://github.com/rust-lang/crates.io-index" 1212 - checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" 1213 - dependencies = [ 1214 - "cc", 1215 - "libc", 1216 - "pkg-config", 1217 - "vcpkg", 1218 - ] 1219 - 1220 - [[package]] 1221 904 name = "parking" 1222 905 version = "2.2.1" 1223 906 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1242 925 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1243 926 1244 927 [[package]] 1245 - name = "pkg-config" 1246 - version = "0.3.32" 1247 - source = "registry+https://github.com/rust-lang/crates.io-index" 1248 - checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1249 - 1250 - [[package]] 1251 928 name = "polling" 1252 929 version = "3.11.0" 1253 930 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1324 1001 checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" 1325 1002 1326 1003 [[package]] 1327 - name = "reqwest" 1328 - version = "0.12.23" 1329 - source = "registry+https://github.com/rust-lang/crates.io-index" 1330 - checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" 1331 - dependencies = [ 1332 - "base64", 1333 - "bytes", 1334 - "encoding_rs", 1335 - "futures-core", 1336 - "h2", 1337 - "http", 1338 - "http-body", 1339 - "http-body-util", 1340 - "hyper", 1341 - "hyper-rustls", 1342 - "hyper-tls", 1343 - "hyper-util", 1344 - "js-sys", 1345 - "log", 1346 - "mime", 1347 - "native-tls", 1348 - "percent-encoding", 1349 - "pin-project-lite", 1350 - "rustls-pki-types", 1351 - "serde", 1352 - "serde_json", 1353 - "serde_urlencoded", 1354 - "sync_wrapper", 1355 - "tokio", 1356 - "tokio-native-tls", 1357 - "tower", 1358 - "tower-http", 1359 - "tower-service", 1360 - "url", 1361 - "wasm-bindgen", 1362 - "wasm-bindgen-futures", 1363 - "web-sys", 1364 - ] 1365 - 1366 - [[package]] 1367 - name = "ring" 1368 - version = "0.17.14" 1369 - source = "registry+https://github.com/rust-lang/crates.io-index" 1370 - checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 1371 - dependencies = [ 1372 - "cc", 1373 - "cfg-if", 1374 - "getrandom 0.2.16", 1375 - "libc", 1376 - "untrusted", 1377 - "windows-sys 0.52.0", 1378 - ] 1379 - 1380 - [[package]] 1381 1004 name = "rustc-demangle" 1382 1005 version = "0.1.26" 1383 1006 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1397 1020 ] 1398 1021 1399 1022 [[package]] 1400 - name = "rustls" 1401 - version = "0.23.32" 1402 - source = "registry+https://github.com/rust-lang/crates.io-index" 1403 - checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" 1404 - dependencies = [ 1405 - "once_cell", 1406 - "rustls-pki-types", 1407 - "rustls-webpki", 1408 - "subtle", 1409 - "zeroize", 1410 - ] 1411 - 1412 - [[package]] 1413 - name = "rustls-pki-types" 1414 - version = "1.12.0" 1415 - source = "registry+https://github.com/rust-lang/crates.io-index" 1416 - checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 1417 - dependencies = [ 1418 - "zeroize", 1419 - ] 1420 - 1421 - [[package]] 1422 - name = "rustls-webpki" 1423 - version = "0.103.7" 1424 - source = "registry+https://github.com/rust-lang/crates.io-index" 1425 - checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" 1426 - dependencies = [ 1427 - "ring", 1428 - "rustls-pki-types", 1429 - "untrusted", 1430 - ] 1431 - 1432 - [[package]] 1433 - name = "rustversion" 1434 - version = "1.0.22" 1435 - source = "registry+https://github.com/rust-lang/crates.io-index" 1436 - checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1437 - 1438 - [[package]] 1439 1023 name = "ryu" 1440 1024 version = "1.0.20" 1441 1025 source = "registry+https://github.com/rust-lang/crates.io-index" 1442 1026 checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1443 1027 1444 1028 [[package]] 1445 - name = "schannel" 1446 - version = "0.1.28" 1447 - source = "registry+https://github.com/rust-lang/crates.io-index" 1448 - checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 1449 - dependencies = [ 1450 - "windows-sys 0.61.2", 1451 - ] 1452 - 1453 - [[package]] 1454 - name = "security-framework" 1455 - version = "2.11.1" 1456 - source = "registry+https://github.com/rust-lang/crates.io-index" 1457 - checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1458 - dependencies = [ 1459 - "bitflags", 1460 - "core-foundation", 1461 - "core-foundation-sys", 1462 - "libc", 1463 - "security-framework-sys", 1464 - ] 1465 - 1466 - [[package]] 1467 - name = "security-framework-sys" 1468 - version = "2.15.0" 1469 - source = "registry+https://github.com/rust-lang/crates.io-index" 1470 - checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" 1471 - dependencies = [ 1472 - "core-foundation-sys", 1473 - "libc", 1474 - ] 1475 - 1476 - [[package]] 1477 1029 name = "serde" 1478 1030 version = "1.0.228" 1479 1031 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1549 1101 ] 1550 1102 1551 1103 [[package]] 1552 - name = "shlex" 1553 - version = "1.3.0" 1554 - source = "registry+https://github.com/rust-lang/crates.io-index" 1555 - checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1556 - 1557 - [[package]] 1558 1104 name = "signal-hook" 1559 1105 version = "0.3.18" 1560 1106 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1612 1158 checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1613 1159 1614 1160 [[package]] 1615 - name = "subtle" 1616 - version = "2.6.1" 1617 - source = "registry+https://github.com/rust-lang/crates.io-index" 1618 - checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1619 - 1620 - [[package]] 1621 1161 name = "syn" 1622 1162 version = "1.0.109" 1623 1163 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1640 1180 ] 1641 1181 1642 1182 [[package]] 1643 - name = "sync_wrapper" 1644 - version = "1.0.2" 1645 - source = "registry+https://github.com/rust-lang/crates.io-index" 1646 - checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1647 - dependencies = [ 1648 - "futures-core", 1649 - ] 1650 - 1651 - [[package]] 1652 1183 name = "synstructure" 1653 1184 version = "0.13.2" 1654 1185 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1660 1191 ] 1661 1192 1662 1193 [[package]] 1663 - name = "system-configuration" 1664 - version = "0.6.1" 1665 - source = "registry+https://github.com/rust-lang/crates.io-index" 1666 - checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 1667 - dependencies = [ 1668 - "bitflags", 1669 - "core-foundation", 1670 - "system-configuration-sys", 1671 - ] 1672 - 1673 - [[package]] 1674 - name = "system-configuration-sys" 1675 - version = "0.6.0" 1676 - source = "registry+https://github.com/rust-lang/crates.io-index" 1677 - checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" 1678 - dependencies = [ 1679 - "core-foundation-sys", 1680 - "libc", 1681 - ] 1682 - 1683 - [[package]] 1684 - name = "tempfile" 1685 - version = "3.23.0" 1686 - source = "registry+https://github.com/rust-lang/crates.io-index" 1687 - checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" 1688 - dependencies = [ 1689 - "fastrand", 1690 - "getrandom 0.3.3", 1691 - "once_cell", 1692 - "rustix", 1693 - "windows-sys 0.61.2", 1694 - ] 1695 - 1696 - [[package]] 1697 1194 name = "thiserror" 1698 1195 version = "2.0.17" 1699 1196 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1739 1236 checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 1740 1237 dependencies = [ 1741 1238 "backtrace", 1742 - "bytes", 1743 1239 "io-uring", 1744 1240 "libc", 1745 1241 "mio", ··· 1751 1247 ] 1752 1248 1753 1249 [[package]] 1754 - name = "tokio-native-tls" 1755 - version = "0.3.1" 1756 - source = "registry+https://github.com/rust-lang/crates.io-index" 1757 - checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1758 - dependencies = [ 1759 - "native-tls", 1760 - "tokio", 1761 - ] 1762 - 1763 - [[package]] 1764 - name = "tokio-rustls" 1765 - version = "0.26.4" 1766 - source = "registry+https://github.com/rust-lang/crates.io-index" 1767 - checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 1768 - dependencies = [ 1769 - "rustls", 1770 - "tokio", 1771 - ] 1772 - 1773 - [[package]] 1774 - name = "tokio-util" 1775 - version = "0.7.16" 1776 - source = "registry+https://github.com/rust-lang/crates.io-index" 1777 - checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 1778 - dependencies = [ 1779 - "bytes", 1780 - "futures-core", 1781 - "futures-sink", 1782 - "pin-project-lite", 1783 - "tokio", 1784 - ] 1785 - 1786 - [[package]] 1787 - name = "tower" 1788 - version = "0.5.2" 1789 - source = "registry+https://github.com/rust-lang/crates.io-index" 1790 - checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 1791 - dependencies = [ 1792 - "futures-core", 1793 - "futures-util", 1794 - "pin-project-lite", 1795 - "sync_wrapper", 1796 - "tokio", 1797 - "tower-layer", 1798 - "tower-service", 1799 - ] 1800 - 1801 - [[package]] 1802 - name = "tower-http" 1803 - version = "0.6.6" 1804 - source = "registry+https://github.com/rust-lang/crates.io-index" 1805 - checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 1806 - dependencies = [ 1807 - "bitflags", 1808 - "bytes", 1809 - "futures-util", 1810 - "http", 1811 - "http-body", 1812 - "iri-string", 1813 - "pin-project-lite", 1814 - "tower", 1815 - "tower-layer", 1816 - "tower-service", 1817 - ] 1818 - 1819 - [[package]] 1820 - name = "tower-layer" 1821 - version = "0.3.3" 1822 - source = "registry+https://github.com/rust-lang/crates.io-index" 1823 - checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1824 - 1825 - [[package]] 1826 - name = "tower-service" 1827 - version = "0.3.3" 1828 - source = "registry+https://github.com/rust-lang/crates.io-index" 1829 - checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1830 - 1831 - [[package]] 1832 1250 name = "tracing" 1833 1251 version = "0.1.41" 1834 1252 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1890 1308 ] 1891 1309 1892 1310 [[package]] 1893 - name = "try-lock" 1894 - version = "0.2.5" 1895 - source = "registry+https://github.com/rust-lang/crates.io-index" 1896 - checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1897 - 1898 - [[package]] 1899 1311 name = "typenum" 1900 1312 version = "1.19.0" 1901 1313 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1906 1318 version = "1.0.19" 1907 1319 source = "registry+https://github.com/rust-lang/crates.io-index" 1908 1320 checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" 1909 - 1910 - [[package]] 1911 - name = "untrusted" 1912 - version = "0.9.0" 1913 - source = "registry+https://github.com/rust-lang/crates.io-index" 1914 - checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 1915 1321 1916 1322 [[package]] 1917 1323 name = "url" ··· 1949 1355 ] 1950 1356 1951 1357 [[package]] 1952 - name = "vcpkg" 1953 - version = "0.2.15" 1954 - source = "registry+https://github.com/rust-lang/crates.io-index" 1955 - checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1956 - 1957 - [[package]] 1958 1358 name = "version_check" 1959 1359 version = "0.9.5" 1960 1360 source = "registry+https://github.com/rust-lang/crates.io-index" 1961 1361 checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1962 1362 1963 1363 [[package]] 1964 - name = "want" 1965 - version = "0.3.1" 1966 - source = "registry+https://github.com/rust-lang/crates.io-index" 1967 - checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1968 - dependencies = [ 1969 - "try-lock", 1970 - ] 1971 - 1972 - [[package]] 1973 1364 name = "wasi" 1974 1365 version = "0.11.1+wasi-snapshot-preview1" 1975 1366 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1994 1385 ] 1995 1386 1996 1387 [[package]] 1997 - name = "wasm-bindgen" 1998 - version = "0.2.104" 1999 - source = "registry+https://github.com/rust-lang/crates.io-index" 2000 - checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" 2001 - dependencies = [ 2002 - "cfg-if", 2003 - "once_cell", 2004 - "rustversion", 2005 - "wasm-bindgen-macro", 2006 - "wasm-bindgen-shared", 2007 - ] 2008 - 2009 - [[package]] 2010 - name = "wasm-bindgen-backend" 2011 - version = "0.2.104" 2012 - source = "registry+https://github.com/rust-lang/crates.io-index" 2013 - checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" 2014 - dependencies = [ 2015 - "bumpalo", 2016 - "log", 2017 - "proc-macro2", 2018 - "quote", 2019 - "syn 2.0.106", 2020 - "wasm-bindgen-shared", 2021 - ] 2022 - 2023 - [[package]] 2024 - name = "wasm-bindgen-futures" 2025 - version = "0.4.54" 2026 - source = "registry+https://github.com/rust-lang/crates.io-index" 2027 - checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" 2028 - dependencies = [ 2029 - "cfg-if", 2030 - "js-sys", 2031 - "once_cell", 2032 - "wasm-bindgen", 2033 - "web-sys", 2034 - ] 2035 - 2036 - [[package]] 2037 - name = "wasm-bindgen-macro" 2038 - version = "0.2.104" 2039 - source = "registry+https://github.com/rust-lang/crates.io-index" 2040 - checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" 2041 - dependencies = [ 2042 - "quote", 2043 - "wasm-bindgen-macro-support", 2044 - ] 2045 - 2046 - [[package]] 2047 - name = "wasm-bindgen-macro-support" 2048 - version = "0.2.104" 2049 - source = "registry+https://github.com/rust-lang/crates.io-index" 2050 - checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" 2051 - dependencies = [ 2052 - "proc-macro2", 2053 - "quote", 2054 - "syn 2.0.106", 2055 - "wasm-bindgen-backend", 2056 - "wasm-bindgen-shared", 2057 - ] 2058 - 2059 - [[package]] 2060 - name = "wasm-bindgen-shared" 2061 - version = "0.2.104" 2062 - source = "registry+https://github.com/rust-lang/crates.io-index" 2063 - checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" 2064 - dependencies = [ 2065 - "unicode-ident", 2066 - ] 2067 - 2068 - [[package]] 2069 - name = "web-sys" 2070 - version = "0.3.81" 2071 - source = "registry+https://github.com/rust-lang/crates.io-index" 2072 - checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" 2073 - dependencies = [ 2074 - "js-sys", 2075 - "wasm-bindgen", 2076 - ] 2077 - 2078 - [[package]] 2079 1388 name = "winapi" 2080 1389 version = "0.3.9" 2081 1390 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2099 1408 2100 1409 [[package]] 2101 1410 name = "windows-link" 2102 - version = "0.1.3" 2103 - source = "registry+https://github.com/rust-lang/crates.io-index" 2104 - checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 2105 - 2106 - [[package]] 2107 - name = "windows-link" 2108 1411 version = "0.2.1" 2109 1412 source = "registry+https://github.com/rust-lang/crates.io-index" 2110 1413 checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 2111 1414 2112 1415 [[package]] 2113 - name = "windows-registry" 2114 - version = "0.5.3" 2115 - source = "registry+https://github.com/rust-lang/crates.io-index" 2116 - checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 2117 - dependencies = [ 2118 - "windows-link 0.1.3", 2119 - "windows-result", 2120 - "windows-strings", 2121 - ] 2122 - 2123 - [[package]] 2124 - name = "windows-result" 2125 - version = "0.3.4" 2126 - source = "registry+https://github.com/rust-lang/crates.io-index" 2127 - checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 2128 - dependencies = [ 2129 - "windows-link 0.1.3", 2130 - ] 2131 - 2132 - [[package]] 2133 - name = "windows-strings" 2134 - version = "0.4.2" 2135 - source = "registry+https://github.com/rust-lang/crates.io-index" 2136 - checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 2137 - dependencies = [ 2138 - "windows-link 0.1.3", 2139 - ] 2140 - 2141 - [[package]] 2142 1416 name = "windows-sys" 2143 1417 version = "0.52.0" 2144 1418 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2162 1436 source = "registry+https://github.com/rust-lang/crates.io-index" 2163 1437 checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 2164 1438 dependencies = [ 2165 - "windows-link 0.2.1", 1439 + "windows-link", 2166 1440 ] 2167 1441 2168 1442 [[package]] ··· 2305 1579 "syn 2.0.106", 2306 1580 "synstructure", 2307 1581 ] 2308 - 2309 - [[package]] 2310 - name = "zeroize" 2311 - version = "1.8.2" 2312 - source = "registry+https://github.com/rust-lang/crates.io-index" 2313 - checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 2314 1582 2315 1583 [[package]] 2316 1584 name = "zerotrie"
-1
Cargo.toml
··· 10 10 http = "1.3.1" 11 11 ntex = { version = "2.16.0", features = ["tokio"] } 12 12 regex = "1.11.3" 13 - reqwest = {version = "0.12.23", features = ["json"] } 14 13 serde = {version ="1.0.228", features = ["derive"] } 15 14 serde_json = "1.0.145" 16 15 tracing = "0.1.41"
+28 -14
src/docker.rs
··· 5 5 use crate::config::{ContainerLabels, ContainerNames}; 6 6 use crate::utils; 7 7 8 + use ntex::{http::{self}, web::{self}}; 9 + 8 10 pub mod types; 9 11 10 12 pub struct GetMatch { ··· 51 53 return match_labels_or_names(container_names, container_labels, &container.names.as_ref().unwrap_or(Vec::new().as_ref()), &container.labels.as_ref().unwrap_or(&HashMap::<String,String>::new())) 52 54 } 53 55 54 - pub async fn get_container_info(u: &String, container_id: &String) -> Result<(String, HashMap<String,String>), Box<dyn std::error::Error>> { 56 + pub async fn get_container_info(client: &web::types::State<http::Client>, u: &web::types::State<url::Url>, container_id: &String) -> Result<(String, HashMap<String,String>), Box<dyn std::error::Error>> { 55 57 56 - let url = format!("{}containers/{id}/json", u, id = container_id); 57 - let resp = reqwest::get(&url) 58 - .await? 59 - .json::<types::ContainerInspect>() 60 - .await; 61 - match resp { 62 - Ok(json_res) => { 63 - if json_res.message.is_some() { 64 - return Err(json_res.message.unwrap().into()) 58 + let mut uri = u.get_ref().clone(); 59 + uri.set_path(format!("containers/{id}/json", id = container_id).as_str()); 60 + 61 + let mut res = client.get(uri.to_string()) 62 + .send() 63 + .await; 64 + // .map_err(web::Error::from)?; 65 + 66 + match res { 67 + Ok(mut okres) => { 68 + let info_res = okres.json::<types::ContainerInspect>() 69 + .limit(2097152).await; 70 + match info_res { 71 + Ok(json_res) => { 72 + if json_res.message.is_some() { 73 + return Err(json_res.message.unwrap().into()) 74 + } 75 + Ok((json_res.name.expect("Container has a name"), json_res.config.expect("Container has config").labels.expect("Container has labels"))) 76 + }, 77 + Err(e) => { 78 + return Err(Box::new(e)); 65 79 } 66 - Ok((json_res.name.expect("Container has a name"), json_res.config.expect("Container has config").labels.expect("Container has labels"))) 67 80 } 68 - Err(e) => { 69 - return Err(Box::new(e)); 70 - } 81 + }, 82 + Err(e) => { 83 + return Err(Box::new(e)); 71 84 } 85 + } 72 86 }
+1 -1
src/proxy.rs
··· 88 88 // or if we encountered an error last time then try again 89 89 if !cm.contains_key(&m.id) || cm.get(&m.id).unwrap().is_none() { 90 90 debug!("Requested Id not in map, trying to inspect..."); 91 - let info_res = docker::get_container_info(&forward_url.to_string(), &m.id).await; 91 + let info_res = docker::get_container_info(&client, &forward_url, &m.id).await; 92 92 match info_res { 93 93 Ok((name, labels)) => { 94 94 let is_container_match = docker::match_labels_or_names(&app_config.get_ref().container_names, &app_config.get_ref().container_labels, &Vec::from([name.clone()]), &labels);