From a6068aa1196f6fc61906847c88619f849d598a89 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Fri, 2 Jun 2023 18:45:42 +0200 Subject: [PATCH] Update libs --- Cargo.lock | 181 ++++++++++++------ Cargo.toml | 38 ++-- src/bots/approved_bot/modules/download.rs | 3 +- .../approved_bot/services/book_cache/mod.rs | 26 ++- 4 files changed, 160 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 642ba84..29038b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,17 +111,6 @@ dependencies = [ "syn 2.0.18", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -214,7 +203,7 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" name = "book_bot" version = "0.1.0" dependencies = [ - "base64 0.13.1", + "base64 0.21.2", "chrono", "ctrlc", "dateparser", @@ -300,9 +289,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.25" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbc37d37da9e5bce8173f3a41b71d9bf3c674deebbaceacd0ebdabde76efb03" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ "android-tzdata", "iana-time-zone", @@ -423,9 +412,9 @@ dependencies = [ [[package]] name = "dateparser" -version = "0.1.8" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e12a21fe97a29f5ae9cb6770419711f180d3715a039b500b5ff7ab45bb00c4" +checksum = "18e537db44ee4822af930a9a2c9eedfcde9d47e01c6731fbf34ea01b5a7ccf7d" dependencies = [ "anyhow", "chrono", @@ -482,12 +471,12 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.7.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "atty", "humantime", + "is-terminal", "log", "regex", "termcolor", @@ -548,6 +537,18 @@ dependencies = [ "instant", ] +[[package]] +name = "findshlibs" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" +dependencies = [ + "cc", + "lazy_static", + "libc", + "winapi", +] + [[package]] name = "fnv" version = "1.0.7" @@ -739,15 +740,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.2.6" @@ -822,12 +814,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "humantime" -version = "1.3.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" -dependencies = [ - "quick-error", -] +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" @@ -941,6 +930,18 @@ version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" +[[package]] +name = "is-terminal" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +dependencies = [ + "hermit-abi 0.3.1", + "io-lifetimes", + "rustix", + "windows-sys 0.48.0", +] + [[package]] name = "itertools" version = "0.9.0" @@ -1169,9 +1170,9 @@ checksum = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b" [[package]] name = "openssl" -version = "0.10.53" +version = "0.10.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12df40a956736488b7b44fe79fe12d4f245bb5b3f5a1f6095e499760015be392" +checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019" dependencies = [ "bitflags", "cfg-if", @@ -1211,6 +1212,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "os_info" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +dependencies = [ + "log", + "serde", + "winapi", +] + [[package]] name = "parking" version = "2.1.0" @@ -1308,9 +1320,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pretty_env_logger" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d" +checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c" dependencies = [ "env_logger", "log", @@ -1376,12 +1388,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quote" version = "1.0.28" @@ -1622,24 +1628,28 @@ dependencies = [ [[package]] name = "sentry" -version = "0.27.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73642819e7fa63eb264abc818a2f65ac8764afbe4870b5ee25bcecc491be0d4c" +checksum = "de31c6e03322af2175d3c850c5b5e11efcadc01948cd1fb7b5ad0a7c7b6c7ff2" dependencies = [ "httpdate", + "native-tls", "reqwest", "sentry-backtrace", "sentry-contexts", "sentry-core", + "sentry-debug-images", "sentry-panic", + "sentry-tracing", "tokio", + "ureq", ] [[package]] name = "sentry-backtrace" -version = "0.27.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49bafa55eefc6dbc04c7dac91e8c8ab9e89e9414f3193c105cabd991bbc75134" +checksum = "264e3ad27da3d1ad81b499dbcceae0a50e0e6ffc4b65b93f47d5180d46827644" dependencies = [ "backtrace", "once_cell", @@ -1649,12 +1659,13 @@ dependencies = [ [[package]] name = "sentry-contexts" -version = "0.27.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c63317c4051889e73f0b00ce4024cae3e6a225f2e18a27d2c1522eb9ce2743da" +checksum = "7144590f7950647e4df5bd95f234c3aa29124729c54bd2457e1224d701d1a91c" dependencies = [ "hostname", "libc", + "os_info", "rustc_version", "sentry-core", "uname", @@ -1662,9 +1673,9 @@ dependencies = [ [[package]] name = "sentry-core" -version = "0.27.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a4591a2d128af73b1b819ab95f143bc6a2fbe48cd23a4c45e1ee32177e66ae6" +checksum = "35614ecf115f55d93583baa02a85cb63acb6567cf91b17690d1147bac1739ca4" dependencies = [ "once_cell", "rand", @@ -1674,20 +1685,43 @@ dependencies = [ ] [[package]] -name = "sentry-panic" -version = "0.27.0" +name = "sentry-debug-images" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "696c74c5882d5a0d5b4a31d0ff3989b04da49be7983b7f52a52c667da5b480bf" +checksum = "53c4288a1b255e6ff55f111d2e14a48d369da76e86fae15a00ee26a371d82ad4" +dependencies = [ + "findshlibs", + "once_cell", + "sentry-core", +] + +[[package]] +name = "sentry-panic" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a941028a24baf0a5a994d8a39670cecc72a61971bb0155f771537447a46211a" dependencies = [ "sentry-backtrace", "sentry-core", ] [[package]] -name = "sentry-types" -version = "0.27.0" +name = "sentry-tracing" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823923ae5f54a729159d720aa12181673044ee5c79cbda3be09e56f885e5468f" +checksum = "eec56ebafd7cfc1175bccdf277be582ccc3308b8c353dca5831261a967a6e28c" +dependencies = [ + "sentry-backtrace", + "sentry-core", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "sentry-types" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c56f616602a3b282bf4b4e8e5b4d10bcf9412a987df91c592b95a1f6ef1ee43" dependencies = [ "debugid", "getrandom", @@ -1994,9 +2028,9 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" dependencies = [ "smawk", "unicode-linebreak", @@ -2207,6 +2241,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +dependencies = [ + "tracing-core", ] [[package]] @@ -2276,6 +2320,19 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +[[package]] +name = "ureq" +version = "2.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d" +dependencies = [ + "base64 0.13.1", + "log", + "native-tls", + "once_cell", + "url", +] + [[package]] name = "url" version = "2.3.1" @@ -2298,6 +2355,12 @@ dependencies = [ "serde", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "vcpkg" version = "0.2.15" diff --git a/Cargo.toml b/Cargo.toml index 7c25c0f..301f348 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,24 +6,24 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -tokio = { version = "1.20.1", features = ["rt-multi-thread", "macros"] } -reqwest = { version = "0.11.11", features = ["json"] } -serde = { version = "1.0.144", features = ["derive"] } -serde_json = "1.0.85" -log = "0.4" -pretty_env_logger = "0.4" +tokio = { version = "1.28.2", features = ["rt-multi-thread", "macros"] } +reqwest = { version = "0.11.18", features = ["json"] } +serde = { version = "1.0.163", features = ["derive"] } +serde_json = "1.0.96" +log = "0.4.18" +pretty_env_logger = "0.5.0" teloxide = { version = "0.12.2", features = ["macros", "webhooks-axum", "cache-me", "throttle"] } -url = "2.2.2" -ctrlc = { version = "3.2.3", features = ["termination"] } -strum = "0.24" -strum_macros = "0.24" -futures = "0.3.24" -base64 = "0.13.0" -tokio-util = { version = "0.7.3", features = ["compat"] } -textwrap = "0.15.0" -regex = "1.6.0" -chrono = "0.4.22" -dateparser = "0.1.7" -sentry = "0.27.0" +url = "2.3.1" +ctrlc = { version = "3.4.0", features = ["termination"] } +strum = "0.24.1" +strum_macros = "0.24.3" +futures = "0.3.28" +base64 = "0.21.2" +tokio-util = { version = "0.7.8", features = ["compat"] } +textwrap = "0.16.0" +regex = "1.8.3" +chrono = "0.4.25" +dateparser = "0.2.0" +sentry = "0.31.3" lazy_static = "1.4.0" -moka = { version = "0.11", features = ["future"] } +moka = { version = "0.11.1", features = ["future"] } diff --git a/src/bots/approved_bot/modules/download.rs b/src/bots/approved_bot/modules/download.rs index b206126..e6936f7 100644 --- a/src/bots/approved_bot/modules/download.rs +++ b/src/bots/approved_bot/modules/download.rs @@ -277,8 +277,7 @@ async fn get_download_keyboard_handler( .map(|item| -> Vec { vec![InlineKeyboardButton { text: { - let label = item.clone(); - format!("📥 {label}") + format!("📥 {item}") }, kind: InlineKeyboardButtonKind::CallbackData( (DownloadQueryData::DownloadData { diff --git a/src/bots/approved_bot/services/book_cache/mod.rs b/src/bots/approved_bot/services/book_cache/mod.rs index 5ad13fa..c71be4c 100644 --- a/src/bots/approved_bot/services/book_cache/mod.rs +++ b/src/bots/approved_bot/services/book_cache/mod.rs @@ -1,3 +1,4 @@ +use base64::{engine::general_purpose, Engine}; use reqwest::StatusCode; use std::fmt; @@ -68,14 +69,23 @@ pub async fn download_file( let headers = response.headers(); - let filename = - std::str::from_utf8(&base64::decode(headers.get("x-filename-b64").unwrap()).unwrap()) - .unwrap() - .to_string(); - let caption = - std::str::from_utf8(&base64::decode(headers.get("x-caption-b64").unwrap()).unwrap()) - .unwrap() - .to_string(); + let base64_encoder = general_purpose::STANDARD_NO_PAD; + + let filename = std::str::from_utf8( + &base64_encoder + .decode(headers.get("x-filename-b64").unwrap()) + .unwrap(), + ) + .unwrap() + .to_string(); + + let caption = std::str::from_utf8( + &base64_encoder + .decode(headers.get("x-caption-b64").unwrap()) + .unwrap(), + ) + .unwrap() + .to_string(); Ok(DownloadFile { response,