From 4d9fb180666d378fbb8bc4d6dd0b593c475bb8aa Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 23 May 2021 02:52:26 -0400 Subject: [PATCH] bucket uploads with correct runtime (but getting 403 forbid) --- Cargo.lock | 405 ++++++++++++++++++++++++++------------ Cargo.toml | 3 +- src/util/bucket_client.rs | 61 +++--- 3 files changed, 311 insertions(+), 158 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb0df3ab05..c2e4f97154 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -335,10 +335,58 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "ahash" -version = "0.3.8" +name = "aead" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" +checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" +dependencies = [ + "generic-array", +] + +[[package]] +name = "aes" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" +dependencies = [ + "aes-soft", + "aesni", + "cipher", +] + +[[package]] +name = "aes-gcm" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "aes-soft" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" +dependencies = [ + "cipher", + "opaque-debug", +] + +[[package]] +name = "aesni" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" +dependencies = [ + "cipher", + "opaque-debug", +] [[package]] name = "ahash" @@ -427,6 +475,7 @@ dependencies = [ "futures-lite", "num_cpus", "once_cell", + "tokio 0.2.25", ] [[package]] @@ -559,17 +608,16 @@ checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" [[package]] name = "attohttpc" -version = "0.15.0" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe174d1b67f7b2bafed829c09db039301eb5841f66e43be2cf60b326e7f8e2cc" +checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247" dependencies = [ "http", "log", - "native-tls", - "openssl", "serde", "serde_json", "url 2.2.2", + "wildmatch", ] [[package]] @@ -621,27 +669,27 @@ dependencies = [ [[package]] name = "aws-creds" -version = "0.24.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad53a54cb2c99990e96eefacde6f143dc6d471ab70809d26d360292be421d490" +checksum = "1331d069460a674d42bd27c12b47ce578f789954c7bd7f239fd030771eca6616" dependencies = [ + "anyhow", "attohttpc", "dirs", "rust-ini", "serde", "serde-xml-rs", "serde_derive", - "simpl", "url 2.2.2", ] [[package]] name = "aws-region" -version = "0.22.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f610af4a396f07592014dc3410f6ad78fab931852a99bb6cfdc1ad04b9329b80" +checksum = "2884b8f2aaeb4a4bf80b219b4fe1d340139ca9331679c57e0fd4a24f571a78bd" dependencies = [ - "simpl", + "anyhow", ] [[package]] @@ -841,6 +889,15 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array", +] + [[package]] name = "concurrent-queue" version = "1.2.2" @@ -868,7 +925,13 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" dependencies = [ + "aes-gcm", + "base64 0.13.0", + "hkdf", + "hmac", "percent-encoding 2.1.0", + "rand 0.8.3", + "sha2", "time 0.2.26", "version_check 0.9.3", ] @@ -904,6 +967,12 @@ dependencies = [ "libc", ] +[[package]] +name = "cpuid-bool" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" + [[package]] name = "crc" version = "1.8.1" @@ -953,16 +1022,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "crypto-mac" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "crypto-mac" version = "0.10.0" @@ -983,6 +1042,25 @@ dependencies = [ "syn", ] +[[package]] +name = "ctr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" +dependencies = [ + "cipher", +] + +[[package]] +name = "dashmap" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" +dependencies = [ + "cfg-if 1.0.0", + "num_cpus", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -1364,6 +1442,16 @@ dependencies = [ "wasi 0.10.0+wasi-snapshot-preview1", ] +[[package]] +name = "ghash" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "gloo-timers" version = "0.2.1" @@ -1397,16 +1485,6 @@ dependencies = [ "tracing-futures", ] -[[package]] -name = "hashbrown" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" -dependencies = [ - "ahash 0.3.8", - "autocfg 1.0.1", -] - [[package]] name = "hashbrown" version = "0.9.1" @@ -1422,7 +1500,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d99cf782f0dc4372d26846bec3de7804ceb5df083c2d4462c0b8d2330e894fa8" dependencies = [ - "hashbrown 0.9.1", + "hashbrown", ] [[package]] @@ -1450,13 +1528,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "hmac" -version = "0.9.0" +name = "hkdf" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deae6d9dbb35ec2c502d62b8f7b1c000a0822c3b0794ba36b3149c0a1c840dff" +checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" dependencies = [ - "crypto-mac 0.9.1", "digest", + "hmac", ] [[package]] @@ -1465,7 +1543,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" dependencies = [ - "crypto-mac 0.10.0", + "crypto-mac", "digest", ] @@ -1501,6 +1579,46 @@ dependencies = [ "http", ] +[[package]] +name = "http-client" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce318d86a47d18d1db645c979214f809a6cd625202ad334ef75ca813b30dac80" +dependencies = [ + "async-trait", + "cfg-if 1.0.0", + "dashmap", + "futures-util", + "http-types", + "hyper", + "hyper-tls", + "log", + "tokio 0.2.25", +] + +[[package]] +name = "http-types" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad077d89137cd3debdce53c66714dc536525ef43fe075d41ddc0a8ac11f85957" +dependencies = [ + "anyhow", + "async-channel", + "async-std", + "base64 0.13.0", + "cookie", + "futures-lite", + "http", + "infer", + "pin-project-lite 0.2.6", + "rand 0.7.3", + "serde", + "serde_json", + "serde_qs", + "serde_urlencoded", + "url 2.2.2", +] + [[package]] name = "httparse" version = "1.4.1" @@ -1588,9 +1706,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" dependencies = [ "autocfg 1.0.1", - "hashbrown 0.9.1", + "hashbrown", ] +[[package]] +name = "infer" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" + [[package]] name = "instant" version = "0.1.9" @@ -1618,15 +1742,9 @@ dependencies = [ "socket2 0.3.19", "widestring", "winapi 0.3.9", - "winreg 0.6.2", + "winreg", ] -[[package]] -name = "ipnet" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135" - [[package]] name = "itoa" version = "0.4.7" @@ -1649,9 +1767,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86e46349d67dc03bdbdb28da0337a355a53ca1d5156452722c36fe21d0e6389b" dependencies = [ "base64 0.13.0", - "crypto-mac 0.10.0", + "crypto-mac", "digest", - "hmac 0.10.1", + "hmac", "serde", "serde_json", "sha2", @@ -1774,6 +1892,17 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +[[package]] +name = "maybe-async" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3919783e441e38b0512fae9eebd87c445c42e39508231fba2a8b9fd7ba88e999" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "md-5" version = "0.9.1" @@ -1813,6 +1942,15 @@ dependencies = [ "unicase", ] +[[package]] +name = "minidom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332592c2149fc7dd40a64fc9ef6f0d65607284b474cef9817d1fc8c7e7b3608e" +dependencies = [ + "quick-xml", +] + [[package]] name = "miniz_oxide" version = "0.4.4" @@ -2086,12 +2224,12 @@ dependencies = [ [[package]] name = "ordered-multimap" -version = "0.2.4" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88f947c6799d5eff50e6cf8a2365c17ac4aa8f8f43aceeedc29b616d872a358" +checksum = "1c672c7ad9ec066e428c00eb917124a06f08db19e2584de982cc34b1f4c12485" dependencies = [ "dlv-list", - "hashbrown 0.7.2", + "hashbrown", ] [[package]] @@ -2225,6 +2363,17 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug", + "universal-hash", +] + [[package]] name = "ppv-lite86" version = "0.2.10" @@ -2258,6 +2407,15 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-xml" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26aab6b48e2590e4a64d1ed808749ba06257882b461d01ca71baeb747074a6dd" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.9" @@ -2436,42 +2594,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "reqwest" -version = "0.10.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c" -dependencies = [ - "base64 0.13.0", - "bytes 0.5.6", - "encoding_rs", - "futures-core", - "futures-util", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "lazy_static", - "log", - "mime", - "mime_guess", - "native-tls", - "percent-encoding 2.1.0", - "pin-project-lite 0.2.6", - "serde", - "serde_json", - "serde_urlencoded", - "tokio 0.2.25", - "tokio-tls", - "url 2.2.2", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg 0.7.0", -] - [[package]] name = "resolv-conf" version = "0.7.0" @@ -2519,9 +2641,9 @@ dependencies = [ [[package]] name = "rust-ini" -version = "0.15.3" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3679dd538c876a7b606f3bb951c8a20fc281a0ff7795f59f7cb490e3f979e1" +checksum = "55b134767a87e0b086f73a4ce569ac9ce7d202f39c8eab6caa266e2617e73ac6" dependencies = [ "cfg-if 0.1.10", "ordered-multimap", @@ -2529,11 +2651,13 @@ dependencies = [ [[package]] name = "rust-s3" -version = "0.26.4" +version = "0.27.0-rc4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a04bdd0f5118d06ef0e2daa658a9e5135282bcecfd6c46b11fddf47b1d5d736d" +checksum = "5c93272c1d654d492f8ab30b94cd43d98f2700b1db55b2576aff7712ce40e3ef" dependencies = [ + "anyhow", "async-std", + "async-trait", "aws-creds", "aws-region", "base64 0.13.0", @@ -2541,20 +2665,20 @@ dependencies = [ "chrono", "futures", "hex", - "hmac 0.9.0", + "hmac", "http", "log", + "maybe-async", "md5", + "minidom", "percent-encoding 2.1.0", - "reqwest", "serde", "serde-xml-rs", "serde_derive", "sha2", - "simpl", - "tokio 0.2.25", + "surf", + "tokio-stream", "url 2.2.2", - "uuid", ] [[package]] @@ -2670,6 +2794,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_qs" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5af82de3c6549b001bec34961ff2d6a54339a87bab37ce901b693401f27de6cb" +dependencies = [ + "data-encoding", + "percent-encoding 2.1.0", + "serde", + "thiserror", +] + [[package]] name = "serde_urlencoded" version = "0.7.0" @@ -2733,12 +2869,6 @@ dependencies = [ "libc", ] -[[package]] -name = "simpl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a30f10c911c0355f80f1c2faa8096efc4a58cdf8590b954d5b395efa071c711" - [[package]] name = "simple_asn1" version = "0.5.2" @@ -2980,7 +3110,7 @@ dependencies = [ "easyenv", "futures", "hex", - "hmac 0.10.1", + "hmac", "hostname", "jwt", "lazy_static", @@ -3016,6 +3146,26 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" +[[package]] +name = "surf" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a154d33ca6b5e1fe6fd1c760e5a5cc1202425f6cca2e13229f16a69009f6328" +dependencies = [ + "async-std", + "async-trait", + "cfg-if 1.0.0", + "futures-util", + "http-client", + "http-types", + "log", + "mime_guess", + "once_cell", + "pin-project-lite 0.2.6", + "serde", + "serde_json", +] + [[package]] name = "syn" version = "1.0.72" @@ -3189,7 +3339,6 @@ dependencies = [ "pin-project-lite 0.1.12", "signal-hook-registry", "slab", - "tokio-macros", "winapi 0.3.9", ] @@ -3210,14 +3359,14 @@ dependencies = [ ] [[package]] -name = "tokio-macros" -version = "0.2.6" +name = "tokio-stream" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a" +checksum = "f8864d706fdb3cc0843a49647ac892720dac98a6eeb818b77190592cf4994066" dependencies = [ - "proc-macro2", - "quote", - "syn", + "futures-core", + "pin-project-lite 0.2.6", + "tokio 1.5.0", ] [[package]] @@ -3386,6 +3535,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" +[[package]] +name = "universal-hash" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "untrusted" version = "0.7.1" @@ -3413,14 +3572,9 @@ dependencies = [ "idna 0.2.3", "matches", "percent-encoding 2.1.0", + "serde", ] -[[package]] -name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" - [[package]] name = "v_escape" version = "0.15.0" @@ -3515,8 +3669,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" dependencies = [ "cfg-if 1.0.0", - "serde", - "serde_json", "wasm-bindgen-macro", ] @@ -3611,6 +3763,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" +[[package]] +name = "wildmatch" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a" + [[package]] name = "winapi" version = "0.2.8" @@ -3663,15 +3821,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "winreg" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "ws2_32-sys" version = "0.2.1" diff --git a/Cargo.toml b/Cargo.toml index 7539f7ec29..c51d8cb97e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -57,7 +57,8 @@ sqlx = { version = "0.5", features = [ "mysql", "runtime-async-std-native-tls", data-encoding = "2.3.2" ring = "0.17.0-alpha.10" #rust-s3 = "0.27.0-rc4" -rust-s3 = "0.26.3" +rust-s3 = { version = "0.27.0-rc4", features = ["with-async-std"], default-features = false } + tempdir = "0.3.7" # Web diff --git a/src/util/bucket_client.rs b/src/util/bucket_client.rs index 1da9ec95b2..c910aa8b8c 100644 --- a/src/util/bucket_client.rs +++ b/src/util/bucket_client.rs @@ -50,15 +50,16 @@ impl BucketClient { Ok(()) } - pub fn upload_file_blocking(&self, object_name: &str, bytes: &[u8]) -> anyhow::Result<()> { - info!("Filename for bucket: {}", object_name); - - let (_, code) = self.bucket.put_object_blocking(object_name, bytes)?; - - info!("upload code: {}", code); - - Ok(()) - } + // NB: New version has blocking client rather than blocking calls. + // pub fn upload_file_blocking(&self, object_name: &str, bytes: &[u8]) -> anyhow::Result<()> { + // info!("Filename for bucket: {}", object_name); + // + // let (_, code) = self.bucket.put_object_blocking(object_name, bytes)?; + // + // info!("upload code: {}", code); + // + // Ok(()) + // } pub async fn upload_filename(&self, object_name: &str, filename: &Path) -> anyhow::Result<()> { // TODO: does a newer version of this crate handle streaming/buffering file contents? @@ -69,14 +70,15 @@ impl BucketClient { self.upload_file(object_name, &buffer).await } - pub fn upload_filename_blocking(&self, object_name: &str, filename: &Path) -> anyhow::Result<()> { - // TODO: does a newer version of this crate handle streaming/buffering file contents? - let mut file = File::open(filename)?; - let mut buffer : Vec = Vec::new(); - file.read_to_end(&mut buffer)?; - - self.upload_file_blocking(object_name, &buffer) - } + // NB: New version has blocking client rather than blocking calls. + // pub fn upload_filename_blocking(&self, object_name: &str, filename: &Path) -> anyhow::Result<()> { + // // TODO: does a newer version of this crate handle streaming/buffering file contents? + // let mut file = File::open(filename)?; + // let mut buffer : Vec = Vec::new(); + // file.read_to_end(&mut buffer)?; + // + // self.upload_file_blocking(object_name, &buffer) + // } pub async fn download_file(&self, path: &str) -> anyhow::Result> { info!("downloading from bucket: {}", path); @@ -91,16 +93,17 @@ impl BucketClient { Ok(bytes) } - pub fn download_file_blocking(&self, path: &str) -> anyhow::Result> { - info!("downloading from bucket: {}", path); - let (bytes, code) = self.bucket.get_object_blocking(path)?; - - match code { - 404 => bail!("File not found in bucket: {}", path), - _ => {}, - } - - info!("download code: {}", code); - Ok(bytes) - } + // NB: New version has blocking client rather than blocking calls. + // pub fn download_file_blocking(&self, path: &str) -> anyhow::Result> { + // info!("downloading from bucket: {}", path); + // let (bytes, code) = self.bucket.get_object_blocking(path)?; + // + // match code { + // 404 => bail!("File not found in bucket: {}", path), + // _ => {}, + // } + // + // info!("download code: {}", code); + // Ok(bytes) + // } }