From 7102aadbfe61bbc59278434bb111dbe7d4956365 Mon Sep 17 00:00:00 2001 From: Aaron J Todd Date: Thu, 7 Nov 2024 14:21:11 -0500 Subject: [PATCH] revert http 1.x upgrade to aws-smithy-http crate --- aws/rust-runtime/Cargo.lock | 380 +++++-- aws/rust-runtime/aws-config/Cargo.lock | 361 +++++-- aws/rust-runtime/aws-inlineable/Cargo.toml | 11 +- .../src/apigateway_interceptors.rs | 4 +- .../src/glacier_interceptors.rs | 2 +- .../src/http_request_checksum.rs | 14 +- .../src/http_response_checksum.rs | 2 +- .../aws-inlineable/src/s3_request_id.rs | 7 +- aws/rust-runtime/aws-runtime/Cargo.toml | 1 - .../aws-runtime/src/content_encoding.rs | 11 +- aws/rust-runtime/aws-runtime/src/lib.rs | 2 +- aws/rust-runtime/aws-sigv4/Cargo.toml | 10 +- .../aws-sigv4/src/http_request.rs | 2 +- .../src/http_request/canonical_request.rs | 16 +- .../aws-sigv4/src/http_request/error.rs | 4 +- .../aws-sigv4/src/http_request/settings.rs | 2 +- .../aws-sigv4/src/http_request/sign.rs | 70 +- .../aws-sigv4/src/http_request/test.rs | 10 +- .../rustsdk/HttpRequestChecksumDecorator.kt | 2 +- aws/sdk/Cargo.lock | 943 +++++++++++------- rust-runtime/Cargo.lock | 513 +++++++--- rust-runtime/aws-smithy-checksums/Cargo.toml | 9 +- .../src/body/calculate.rs | 104 +- .../aws-smithy-checksums/src/body/validate.rs | 40 +- rust-runtime/aws-smithy-http/Cargo.toml | 9 +- rust-runtime/aws-smithy-http/src/compat.rs | 206 ---- rust-runtime/aws-smithy-http/src/header.rs | 32 +- rust-runtime/aws-smithy-http/src/label.rs | 2 +- rust-runtime/aws-smithy-http/src/lib.rs | 5 - rust-runtime/aws-smithy-http/src/query.rs | 2 +- .../aws-smithy-http/src/query_writer.rs | 6 +- .../src/http/request.rs | 7 - rust-runtime/aws-smithy-runtime/Cargo.toml | 2 +- .../src/body/http_body_1_x.rs | 2 - rust-runtime/inlineable/Cargo.toml | 4 +- 35 files changed, 1788 insertions(+), 1009 deletions(-) delete mode 100644 rust-runtime/aws-smithy-http/src/compat.rs diff --git a/aws/rust-runtime/Cargo.lock b/aws/rust-runtime/Cargo.lock index 53d56cdd6c..5701bd6a86 100644 --- a/aws/rust-runtime/Cargo.lock +++ b/aws/rust-runtime/Cargo.lock @@ -40,15 +40,15 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "assert-json-diff" @@ -69,7 +69,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -235,7 +235,7 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.70.0" +version = "0.60.13" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -243,8 +243,8 @@ dependencies = [ "crc32c", "crc32fast", "hex", - "http 1.1.0", - "http-body 1.0.1", + "http 0.2.12", + "http-body 0.4.6", "md-5", "pin-project-lite", "sha1", @@ -273,7 +273,6 @@ dependencies = [ "http 0.2.12", "http 1.1.0", "http-body 0.4.6", - "http-body 1.0.1", "once_cell", "percent-encoding", "pin-project-lite", @@ -534,9 +533,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" dependencies = [ "jobserver", "libc", @@ -809,6 +808,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "ecdsa" version = "0.14.8" @@ -1039,9 +1049,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" dependencies = [ "allocator-api2", "equivalent", @@ -1190,14 +1200,143 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1262,9 +1401,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libfuzzer-sys" @@ -1279,9 +1418,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "linux-raw-sys" @@ -1289,6 +1428,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -1513,9 +1658,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -1612,9 +1757,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -1724,9 +1869,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -1824,9 +1969,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" dependencies = [ "bitflags", "errno", @@ -1981,22 +2126,22 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac55e59090389fb9f0dd9e0f3c09615afed1d19094284d0b200441f13550793" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be4f245ce16bc58d57ef2716271d0d4519e0f6defa147f6e081005bcb278ff" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2108,6 +2253,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "subtle" version = "2.6.1" @@ -2127,15 +2278,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "tempfile" version = "3.13.0" @@ -2151,22 +2313,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2209,6 +2371,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinytemplate" version = "1.2.1" @@ -2236,9 +2408,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -2260,7 +2432,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2311,7 +2483,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2371,7 +2543,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2392,27 +2564,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-segmentation" version = "1.12.0" @@ -2427,15 +2584,27 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", "percent-encoding", ] +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.11.0" @@ -2516,7 +2685,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -2538,7 +2707,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2678,6 +2847,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xmlparser" version = "0.13.6" @@ -2690,6 +2871,30 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -2708,7 +2913,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", ] [[package]] @@ -2716,3 +2942,25 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/aws/rust-runtime/aws-config/Cargo.lock b/aws/rust-runtime/aws-config/Cargo.lock index 73daf5e1f4..1af306ae86 100644 --- a/aws/rust-runtime/aws-config/Cargo.lock +++ b/aws/rust-runtime/aws-config/Cargo.lock @@ -96,7 +96,7 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.4.3" +version = "1.5.0" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -180,7 +180,7 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.5" +version = "1.3.0" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -210,16 +210,16 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.70.0" +version = "0.62.0" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "bytes", "bytes-utils", "futures-core", + "http 0.2.12", "http 1.1.0", "http-body 0.4.6", - "http-body 1.0.1", "once_cell", "percent-encoding", "pin-project-lite", @@ -311,7 +311,7 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.3" +version = "1.7.4" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -326,7 +326,7 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.8" +version = "1.3.0" dependencies = [ "base64-simd", "bytes", @@ -456,9 +456,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" dependencies = [ "shlex", ] @@ -578,6 +578,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "either" version = "1.13.0" @@ -739,9 +750,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" [[package]] name = "hermit-abi" @@ -873,14 +884,143 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -908,9 +1048,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" + +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" [[package]] name = "lock_api" @@ -1099,9 +1245,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -1151,9 +1297,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -1178,9 +1324,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -1376,22 +1522,22 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac55e59090389fb9f0dd9e0f3c09615afed1d19094284d0b200441f13550793" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be4f245ce16bc58d57ef2716271d0d4519e0f6defa147f6e081005bcb278ff" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1473,6 +1619,12 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "subtle" version = "2.6.1" @@ -1492,33 +1644,44 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1561,6 +1724,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -1578,9 +1751,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -1602,7 +1775,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1653,7 +1826,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1726,7 +1899,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1741,27 +1914,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - [[package]] name = "untrusted" version = "0.9.0" @@ -1770,9 +1928,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", @@ -1785,6 +1943,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.11.0" @@ -1934,6 +2104,18 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xmlparser" version = "0.13.6" @@ -1946,8 +2128,75 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + [[package]] name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/aws/rust-runtime/aws-inlineable/Cargo.toml b/aws/rust-runtime/aws-inlineable/Cargo.toml index 43449c2249..07a00c99a1 100644 --- a/aws/rust-runtime/aws-inlineable/Cargo.toml +++ b/aws/rust-runtime/aws-inlineable/Cargo.toml @@ -12,7 +12,7 @@ publish = false repository = "https://github.com/smithy-lang/smithy-rs" [features] -http_1x = ["dep:http-body-1x", "aws-smithy-runtime-api/http-1x"] +http_1x = ["dep:http-1x", "dep:http-body-1x", "aws-smithy-runtime-api/http-1x"] [dependencies] aws-credential-types = { path = "../aws-credential-types" } @@ -21,17 +21,16 @@ aws-sigv4 = { path = "../aws-sigv4" } aws-types = { path = "../aws-types" } aws-smithy-async = { path = "../../../rust-runtime/aws-smithy-async", features = ["rt-tokio"] } aws-smithy-checksums = { path = "../../../rust-runtime/aws-smithy-checksums" } -aws-smithy-http = { path = "../../../rust-runtime/aws-smithy-http", features = ["compat"] } +aws-smithy-http = { path = "../../../rust-runtime/aws-smithy-http" } aws-smithy-runtime = { path = "../../../rust-runtime/aws-smithy-runtime", features = ["client"] } aws-smithy-runtime-api = { path = "../../../rust-runtime/aws-smithy-runtime-api", features = ["client"] } -aws-smithy-types = { path = "../../../rust-runtime/aws-smithy-types", features = ["http-body-1-x"] } +aws-smithy-types = { path = "../../../rust-runtime/aws-smithy-types", features = ["http-body-0-4-x"] } bytes = "1" fastrand = "2.0.0" hex = "0.4.3" -# FIXME(hyper1) - due to the way codegen generates crate dependencies right now we have to match the codegen names used for theses -http = { package = "http", version = "0.2.9" } +http = "0.2.9" http-body = "0.4.5" -http-1x = { package = "http", version = "1" } +http-1x = { package = "http", version = "1", optional = true } http-body-1x = { package = "http-body", version = "1", optional = true } hmac = "0.12" lru = "0.12.5" diff --git a/aws/rust-runtime/aws-inlineable/src/apigateway_interceptors.rs b/aws/rust-runtime/aws-inlineable/src/apigateway_interceptors.rs index baeeb20b03..e7374eb672 100644 --- a/aws/rust-runtime/aws-inlineable/src/apigateway_interceptors.rs +++ b/aws/rust-runtime/aws-inlineable/src/apigateway_interceptors.rs @@ -10,8 +10,8 @@ use aws_smithy_runtime_api::client::interceptors::context::BeforeTransmitInterce use aws_smithy_runtime_api::client::interceptors::Intercept; use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents; use aws_smithy_types::config_bag::ConfigBag; -use http_1x::header::ACCEPT; -use http_1x::HeaderValue; +use http::header::ACCEPT; +use http::HeaderValue; /// Interceptor that adds an Accept header to API Gateway requests. #[derive(Debug, Default)] diff --git a/aws/rust-runtime/aws-inlineable/src/glacier_interceptors.rs b/aws/rust-runtime/aws-inlineable/src/glacier_interceptors.rs index c1efd459c2..d6a9541580 100644 --- a/aws/rust-runtime/aws-inlineable/src/glacier_interceptors.rs +++ b/aws/rust-runtime/aws-inlineable/src/glacier_interceptors.rs @@ -10,7 +10,7 @@ use std::fmt; use std::marker::PhantomData; use bytes::Bytes; -use http_1x::header::HeaderValue; +use http::header::HeaderValue; use ring::digest::{Context, Digest, SHA256}; use aws_runtime::auth::SigV4OperationSigningConfig; diff --git a/aws/rust-runtime/aws-inlineable/src/http_request_checksum.rs b/aws/rust-runtime/aws-inlineable/src/http_request_checksum.rs index 45880ff44d..3e010068c6 100644 --- a/aws/rust-runtime/aws-inlineable/src/http_request_checksum.rs +++ b/aws/rust-runtime/aws-inlineable/src/http_request_checksum.rs @@ -22,7 +22,7 @@ use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents; use aws_smithy_types::body::SdkBody; use aws_smithy_types::config_bag::{ConfigBag, Layer, Storable, StoreReplace}; use aws_smithy_types::error::operation::BuildError; -use http_1x::HeaderValue; +use http::HeaderValue; use http_body::Body; use std::{fmt, mem}; @@ -221,8 +221,6 @@ fn wrap_streaming_request_body_in_checksum_calculating_body( let aws_chunked_body_options = AwsChunkedBodyOptions::new(original_body_size, vec![trailer_len]); - let body = aws_smithy_http::compat::Http1toHttp04::new(body); - let body = AwsChunkedBody::new(body, aws_chunked_body_options); SdkBody::from_body_0_4(body) @@ -237,20 +235,20 @@ fn wrap_streaming_request_body_in_checksum_calculating_body( let headers = request.headers_mut(); headers.insert( - http_1x::header::HeaderName::from_static("x-amz-trailer"), + http::header::HeaderName::from_static("x-amz-trailer"), checksum_algorithm.into_impl().header_name(), ); headers.insert( - http_1x::header::CONTENT_LENGTH, + http::header::CONTENT_LENGTH, HeaderValue::from(encoded_content_length), ); headers.insert( - http_1x::header::HeaderName::from_static("x-amz-decoded-content-length"), + http::header::HeaderName::from_static("x-amz-decoded-content-length"), HeaderValue::from(original_body_size), ); headers.insert( - http_1x::header::CONTENT_ENCODING, + http::header::CONTENT_ENCODING, HeaderValue::from_str(AWS_CHUNKED) .map_err(BuildError::other) .expect("\"aws-chunked\" will always be a valid HeaderValue"), @@ -277,7 +275,7 @@ mod tests { async fn test_checksum_body_is_retryable() { let input_text = "Hello world"; let chunk_len_hex = format!("{:X}", input_text.len()); - let mut request: HttpRequest = http_1x::Request::builder() + let mut request: HttpRequest = http::Request::builder() .body(SdkBody::retryable(move || SdkBody::from(input_text))) .unwrap() .try_into() diff --git a/aws/rust-runtime/aws-inlineable/src/http_response_checksum.rs b/aws/rust-runtime/aws-inlineable/src/http_response_checksum.rs index 4f6f280a20..1236c9fe50 100644 --- a/aws/rust-runtime/aws-inlineable/src/http_response_checksum.rs +++ b/aws/rust-runtime/aws-inlineable/src/http_response_checksum.rs @@ -119,7 +119,7 @@ pub(crate) fn wrap_body_with_checksum_validator( use aws_smithy_checksums::body::validate; body.map(move |body| { - SdkBody::from_body_1_x(validate::ChecksumBody::new( + SdkBody::from_body_0_4(validate::ChecksumBody::new( body, checksum_algorithm.into_impl(), precalculated_checksum.clone(), diff --git a/aws/rust-runtime/aws-inlineable/src/s3_request_id.rs b/aws/rust-runtime/aws-inlineable/src/s3_request_id.rs index c916f11514..26cfa745e3 100644 --- a/aws/rust-runtime/aws-inlineable/src/s3_request_id.rs +++ b/aws/rust-runtime/aws-inlineable/src/s3_request_id.rs @@ -79,7 +79,7 @@ mod test { #[test] fn handle_missing_header() { let resp = - Response::try_from(http_1x::Response::builder().status(400).body("").unwrap()).unwrap(); + Response::try_from(http::Response::builder().status(400).body("").unwrap()).unwrap(); let mut builder = ErrorMetadata::builder().message("123"); builder = apply_extended_request_id(builder, resp.headers()); assert_eq!(builder.build().extended_request_id(), None); @@ -88,12 +88,11 @@ mod test { #[test] fn test_extended_request_id_sdk_error() { let without_extended_request_id = || { - Response::try_from(http_1x::Response::builder().body(SdkBody::empty()).unwrap()) - .unwrap() + Response::try_from(http::Response::builder().body(SdkBody::empty()).unwrap()).unwrap() }; let with_extended_request_id = || { Response::try_from( - http_1x::Response::builder() + http::Response::builder() .header("x-amz-id-2", "some-request-id") .body(SdkBody::empty()) .unwrap(), diff --git a/aws/rust-runtime/aws-runtime/Cargo.toml b/aws/rust-runtime/aws-runtime/Cargo.toml index c53770df65..b918456022 100644 --- a/aws/rust-runtime/aws-runtime/Cargo.toml +++ b/aws/rust-runtime/aws-runtime/Cargo.toml @@ -27,7 +27,6 @@ aws-smithy-types = { path = "../../../rust-runtime/aws-smithy-types" } aws-types = { path = "../aws-types" } bytes = "1.1" fastrand = "2.0.0" -# TODO(hyper1) - can we make these pre 1.x http crates optional dependencies assuming usage is internal? http-02x = { package = "http", version = "0.2.3" } http-body-04x = { package = "http-body", version = "0.4.5" } http-1x = { package = "http", version = "1.1.0", optional = true } diff --git a/aws/rust-runtime/aws-runtime/src/content_encoding.rs b/aws/rust-runtime/aws-runtime/src/content_encoding.rs index cabac80e2d..e16bd2cf0d 100644 --- a/aws/rust-runtime/aws-runtime/src/content_encoding.rs +++ b/aws/rust-runtime/aws-runtime/src/content_encoding.rs @@ -5,6 +5,7 @@ use bytes::{Bytes, BytesMut}; use http_02x::{HeaderMap, HeaderValue}; +use http_body_04x::{Body, SizeHint}; use pin_project_lite::pin_project; use std::pin::Pin; @@ -196,9 +197,9 @@ fn total_rendered_length_of_trailers(trailer_map: Option<&HeaderMap>) -> u64 { } } -impl http_body_04x::Body for AwsChunkedBody +impl Body for AwsChunkedBody where - Inner: http_body_04x::Body, + Inner: Body, { type Data = Bytes; type Error = aws_smithy_types::body::Error; @@ -295,8 +296,8 @@ where self.state == AwsChunkedBodyState::Closed } - fn size_hint(&self) -> http_body_04x::SizeHint { - http_body_04x::SizeHint::with_exact(self.encoded_length()) + fn size_hint(&self) -> SizeHint { + SizeHint::with_exact(self.encoded_length()) } } @@ -379,7 +380,7 @@ mod tests { } } - impl http_body_04x::Body for SputteringBody { + impl Body for SputteringBody { type Data = Bytes; type Error = aws_smithy_types::body::Error; diff --git a/aws/rust-runtime/aws-runtime/src/lib.rs b/aws/rust-runtime/aws-runtime/src/lib.rs index 594bc6cc30..3030866953 100644 --- a/aws/rust-runtime/aws-runtime/src/lib.rs +++ b/aws/rust-runtime/aws-runtime/src/lib.rs @@ -20,7 +20,7 @@ pub mod auth; /// AWS-specific content-encoding tools -#[cfg(any(feature = "http-02x", feature = "http-1x"))] +#[cfg(feature = "http-02x")] pub mod content_encoding; /// Supporting code for recursion detection in the AWS SDK. diff --git a/aws/rust-runtime/aws-sigv4/Cargo.toml b/aws/rust-runtime/aws-sigv4/Cargo.toml index b9a66921b2..1edc322518 100644 --- a/aws/rust-runtime/aws-sigv4/Cargo.toml +++ b/aws/rust-runtime/aws-sigv4/Cargo.toml @@ -10,9 +10,9 @@ repository = "https://github.com/smithy-lang/smithy-rs" [features] default = ["sign-http", "http1"] -http0-compat = ["dep:http-02x", "aws-smithy-runtime-api/http-02x"] -http1 = ["dep:http-1x"] -sign-http = ["dep:http-1x", "dep:percent-encoding", "dep:form_urlencoded"] +http0-compat = ["dep:http0"] +http1 = ["dep:http"] +sign-http = ["dep:http0", "dep:percent-encoding", "dep:form_urlencoded"] sign-eventstream = ["dep:aws-smithy-eventstream"] sigv4a = ["dep:p256", "dep:crypto-bigint", "dep:subtle", "dep:zeroize", "dep:ring"] @@ -26,8 +26,8 @@ bytes = "1" form_urlencoded = { version = "1.0", optional = true } hex = "0.4" hmac = "0.12" -http-02x = { package = "http", version = "0.2", optional = true } -http-1x = { package = "http", version = "1", optional = true } +http0 = { version = "0.2", optional = true, package = "http" } +http = { version = "1", optional = true } once_cell = "1.8" p256 = { version = "0.11", features = ["ecdsa"], optional = true } percent-encoding = { version = "2.1", optional = true } diff --git a/aws/rust-runtime/aws-sigv4/src/http_request.rs b/aws/rust-runtime/aws-sigv4/src/http_request.rs index 3e695f8cf0..2bd0c92903 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request.rs @@ -10,7 +10,6 @@ //! **Note**: This requires `http0-compat` to be enabled. //! //! ```rust -//! # use http_1x as http; //! # use aws_credential_types::Credentials; //! use aws_smithy_runtime_api::client::identity::Identity; //! # use aws_sigv4::http_request::SignableBody; @@ -18,6 +17,7 @@ //! fn test() -> Result<(), aws_sigv4::http_request::SigningError> { //! use aws_sigv4::http_request::{sign, SigningSettings, SigningParams, SignableRequest}; //! use aws_sigv4::sign::v4; +//! use http0; //! use std::time::SystemTime; //! //! // Set up information and settings for the signing diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs b/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs index bccb5936ad..03404276d9 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/canonical_request.rs @@ -15,8 +15,8 @@ use crate::http_request::{PercentEncodingMode, SigningSettings}; use crate::sign::v4::sha256_hex_string; use crate::SignatureVersion; use aws_smithy_http::query_writer::QueryWriter; -use http_1x::header::{AsHeaderName, HeaderName, HOST}; -use http_1x::{HeaderMap, HeaderValue, Uri}; +use http0::header::{AsHeaderName, HeaderName, HOST}; +use http0::{HeaderMap, HeaderValue, Uri}; use std::borrow::Cow; use std::cmp::Ordering; use std::fmt; @@ -640,7 +640,7 @@ mod tests { use aws_credential_types::Credentials; use aws_smithy_http::query_writer::QueryWriter; use aws_smithy_runtime_api::client::identity::Identity; - use http_1x::{HeaderValue, Uri}; + use http0::{HeaderValue, Uri}; use pretty_assertions::assert_eq; use proptest::{prelude::*, proptest}; use std::borrow::Cow; @@ -808,7 +808,7 @@ mod tests { #[test] fn test_tilde_in_uri() { - let req = http_1x::Request::builder() + let req = http0::Request::builder() .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into(); let req = SignableRequest::from(&req); let identity = Credentials::for_tests().into(); @@ -829,7 +829,7 @@ mod tests { query_writer.insert("list-type", "2"); query_writer.insert("prefix", &all_printable_ascii_chars); - let req = http_1x::Request::builder() + let req = http0::Request::builder() .uri(query_writer.build_uri()) .body("") .unwrap() @@ -877,7 +877,7 @@ mod tests { // It should exclude authorization, user-agent, x-amzn-trace-id headers from presigning #[test] fn non_presigning_header_exclusion() { - let request = http_1x::Request::builder() + let request = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header("authorization", "test-authorization") .header("content-type", "application/xml") @@ -909,7 +909,7 @@ mod tests { // It should exclude authorization, user-agent, x-amz-user-agent, x-amzn-trace-id headers from presigning #[test] fn presigning_header_exclusion() { - let request = http_1x::Request::builder() + let request = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header("authorization", "test-authorization") .header("content-type", "application/xml") @@ -958,7 +958,7 @@ mod tests { valid_input, ) ) { - let mut request_builder = http_1x::Request::builder() + let mut request_builder = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header("content-type", "application/xml") .header("content-length", "0"); diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/error.rs b/aws/rust-runtime/aws-sigv4/src/http_request/error.rs index 4623f98129..6f53783ff8 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/error.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/error.rs @@ -3,8 +3,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -use http_1x::header::{InvalidHeaderName, InvalidHeaderValue}; -use http_1x::uri::InvalidUri; +use http0::header::{InvalidHeaderName, InvalidHeaderValue}; +use http0::uri::InvalidUri; use std::error::Error; use std::fmt; diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/settings.rs b/aws/rust-runtime/aws-sigv4/src/http_request/settings.rs index 042abf5d1e..bc8409b807 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/settings.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/settings.rs @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -use http_1x::header::{AUTHORIZATION, USER_AGENT}; +use http0::header::{AUTHORIZATION, USER_AGENT}; use std::borrow::Cow; use std::time::Duration; diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/sign.rs b/aws/rust-runtime/aws-sigv4/src/http_request/sign.rs index 7e97b5195d..414570791d 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/sign.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/sign.rs @@ -14,7 +14,7 @@ use crate::sign::v4; #[cfg(feature = "sigv4a")] use crate::sign::v4a; use crate::{SignatureVersion, SigningOutput}; -use http_1x::Uri; +use http0::Uri; use std::borrow::Cow; use std::fmt::{Debug, Formatter}; use std::str; @@ -169,48 +169,48 @@ impl SigningInstructions { #[cfg(any(feature = "http0-compat", test))] /// Applies the instructions to the given `request`. - pub fn apply_to_request_http0x(self, request: &mut http_02x::Request) { + pub fn apply_to_request_http0x(self, request: &mut http0::Request) { let (new_headers, new_query) = self.into_parts(); for header in new_headers.into_iter() { - let mut value = http_02x::HeaderValue::from_str(&header.value).unwrap(); + let mut value = http0::HeaderValue::from_str(&header.value).unwrap(); value.set_sensitive(header.sensitive); request.headers_mut().insert(header.key, value); } if !new_query.is_empty() { - let mut query = aws_smithy_http::query_writer::QueryWriter::new_from_string( - &request.uri().to_string(), - ) - .expect("unreachable: URI is valid"); + let mut query = aws_smithy_http::query_writer::QueryWriter::new(request.uri()); for (name, value) in new_query { query.insert(name, &value); } - *request.uri_mut() = query - .build_uri() - .to_string() - .parse() - .expect("unreachable: URI is valid"); + *request.uri_mut() = query.build_uri(); } } #[cfg(any(feature = "http1", test))] /// Applies the instructions to the given `request`. - pub fn apply_to_request_http1x(self, request: &mut http_1x::Request) { + pub fn apply_to_request_http1x(self, request: &mut http::Request) { // TODO(https://github.com/smithy-lang/smithy-rs/issues/3367): Update query writer to reduce // allocations let (new_headers, new_query) = self.into_parts(); for header in new_headers.into_iter() { - let mut value = http_1x::HeaderValue::from_str(&header.value).unwrap(); + let mut value = http::HeaderValue::from_str(&header.value).unwrap(); value.set_sensitive(header.sensitive); request.headers_mut().insert(header.key, value); } if !new_query.is_empty() { - let mut query = aws_smithy_http::query_writer::QueryWriter::new(request.uri()); + let mut query = aws_smithy_http::query_writer::QueryWriter::new_from_string( + &request.uri().to_string(), + ) + .expect("unreachable: URI is valid"); for (name, value) in new_query { query.insert(name, &value); } - *request.uri_mut() = query.build_uri(); + *request.uri_mut() = query + .build_uri() + .to_string() + .parse() + .expect("unreachable: URI is valid"); } } } @@ -485,7 +485,7 @@ mod tests { }; use crate::sign::v4; use aws_credential_types::Credentials; - use http_1x::{HeaderValue, Request}; + use http0::{HeaderValue, Request}; use pretty_assertions::assert_eq; use proptest::proptest; use std::borrow::Cow; @@ -533,7 +533,7 @@ mod tests { ); let mut signed = original.as_http_request(); - out.output.apply_to_request_http1x(&mut signed); + out.output.apply_to_request_http0x(&mut signed); let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case"); assert_req_eq!(expected, signed); @@ -589,7 +589,7 @@ mod tests { let out = sign(signable_req, ¶ms).unwrap(); // Sigv4a signatures are non-deterministic, so we can't compare the signature directly. out.output - .apply_to_request_http1x(&mut req.as_http_request()); + .apply_to_request_http0x(&mut req.as_http_request()); let creds = params.credentials().unwrap(); let signing_key = @@ -819,7 +819,7 @@ mod tests { ); let mut signed = original.as_http_request(); - out.output.apply_to_request_http1x(&mut signed); + out.output.apply_to_request_http0x(&mut signed); let expected = test::v4::test_signed_request(test); assert_req_eq!(expected, signed); @@ -851,7 +851,7 @@ mod tests { ); let mut signed = original.as_http_request(); - out.output.apply_to_request_http1x(&mut signed); + out.output.apply_to_request_http0x(&mut signed); let expected = test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case"); @@ -871,7 +871,7 @@ mod tests { } .into(); - let original = http_1x::Request::builder() + let original = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header("some-header", HeaderValue::from_str("テスト").unwrap()) .body("") @@ -885,9 +885,9 @@ mod tests { ); let mut signed = original.as_http_request(); - out.output.apply_to_request_http1x(&mut signed); + out.output.apply_to_request_http0x(&mut signed); - let expected = http_1x::Request::builder() + let expected = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header("some-header", HeaderValue::from_str("テスト").unwrap()) .header( @@ -925,7 +925,7 @@ mod tests { } .into(); - let original = http_1x::Request::builder() + let original = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .body("") .unwrap() @@ -946,9 +946,9 @@ mod tests { let mut signed = original.as_http_request(); out_with_session_token_but_excluded .output - .apply_to_request_http1x(&mut signed); + .apply_to_request_http0x(&mut signed); - let expected = http_1x::Request::builder() + let expected = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header( "x-amz-date", @@ -986,7 +986,7 @@ mod tests { } .into(); - let original = http_1x::Request::builder() + let original = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header( "some-header", @@ -1003,9 +1003,9 @@ mod tests { ); let mut signed = original.as_http_request(); - out.output.apply_to_request_http1x(&mut signed); + out.output.apply_to_request_http0x(&mut signed); - let expected = http_1x::Request::builder() + let expected = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .header( "some-header", @@ -1068,12 +1068,12 @@ mod tests { add_header(&mut headers, "some-other-header", "bar", false); let instructions = SigningInstructions::new(headers, vec![]); - let mut request = http_1x::Request::builder() + let mut request = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com") .body("") .unwrap(); - instructions.apply_to_request_http1x(&mut request); + instructions.apply_to_request_http0x(&mut request); let get_header = |n: &str| request.headers().get(n).unwrap().to_str().unwrap(); assert_eq!("foo", get_header("some-header")); @@ -1088,12 +1088,12 @@ mod tests { ]; let instructions = SigningInstructions::new(vec![], params); - let mut request = http_1x::Request::builder() + let mut request = http0::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com/some/path") .body("") .unwrap(); - instructions.apply_to_request_http1x(&mut request); + instructions.apply_to_request_http0x(&mut request); assert_eq!( "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar", @@ -1109,7 +1109,7 @@ mod tests { ]; let instructions = SigningInstructions::new(vec![], params); - let mut request = http_1x::Request::builder() + let mut request = http::Request::builder() .uri("https://some-endpoint.some-region.amazonaws.com/some/path") .body("") .unwrap(); diff --git a/aws/rust-runtime/aws-sigv4/src/http_request/test.rs b/aws/rust-runtime/aws-sigv4/src/http_request/test.rs index c11cdf8197..be6c496462 100644 --- a/aws/rust-runtime/aws-sigv4/src/http_request/test.rs +++ b/aws/rust-runtime/aws-sigv4/src/http_request/test.rs @@ -6,7 +6,7 @@ //! Functions shared between the tests of several modules. use crate::http_request::{SignableBody, SignableRequest}; -use http_1x::{Method, Uri}; +use http0::{Method, Uri}; use std::error::Error as StdError; pub(crate) mod v4 { @@ -258,8 +258,8 @@ impl TestRequest { self.body = TestSignedBody::Signable(body); } - pub(crate) fn as_http_request(&self) -> http_1x::Request<&'static str> { - let mut builder = http_1x::Request::builder() + pub(crate) fn as_http_request(&self) -> http0::Request<&'static str> { + let mut builder = http0::Request::builder() .uri(&self.uri) .method(Method::from_bytes(self.method.as_bytes()).unwrap()); for (k, v) in &self.headers { @@ -269,8 +269,8 @@ impl TestRequest { } } -impl> From> for TestRequest { - fn from(value: http_1x::Request) -> Self { +impl> From> for TestRequest { + fn from(value: http0::Request) -> Self { let invalid = value .headers() .values() diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/HttpRequestChecksumDecorator.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/HttpRequestChecksumDecorator.kt index c0f1a0d186..2794fc0295 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/HttpRequestChecksumDecorator.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/HttpRequestChecksumDecorator.kt @@ -36,7 +36,7 @@ internal fun RuntimeConfig.awsInlineableHttpRequestChecksum() = CargoDependency.Tracing, AwsCargoDependency.awsRuntime(this).withFeature("http-02x"), CargoDependency.smithyChecksums(this), - CargoDependency.smithyHttp(this).withFeature("compat"), + CargoDependency.smithyHttp(this), CargoDependency.smithyRuntimeApiClient(this), CargoDependency.smithyTypes(this), ), diff --git a/aws/sdk/Cargo.lock b/aws/sdk/Cargo.lock index d067cbbc12..21e6b463d4 100644 --- a/aws/sdk/Cargo.lock +++ b/aws/sdk/Cargo.lock @@ -17,18 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -52,9 +40,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "approx" @@ -67,9 +55,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "assert-json-diff" @@ -114,7 +102,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.0.2", - "futures-lite 2.3.0", + "futures-lite 2.4.0", "slab", ] @@ -141,7 +129,7 @@ dependencies = [ "async-io 2.3.4", "async-lock 3.4.0", "blocking", - "futures-lite 2.3.0", + "futures-lite 2.4.0", "once_cell", ] @@ -175,10 +163,10 @@ dependencies = [ "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.4.0", "parking", - "polling 3.7.3", - "rustix 0.38.37", + "polling 3.7.4", + "rustix 0.38.39", "slab", "tracing", "windows-sys 0.59.0", @@ -228,7 +216,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.37", + "rustix 0.38.39", "windows-sys 0.48.0", ] @@ -244,7 +232,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.37", + "rustix 0.38.39", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -264,7 +252,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.4.0", "gloo-timers", "kv-log-macro", "log", @@ -295,7 +283,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -312,7 +300,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -329,25 +317,26 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" -version = "1.5.8" +version = "1.6.0" dependencies = [ "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-sdk-sso", "aws-sdk-ssooidc", "aws-sdk-sts", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", "futures-util", "hex", - "http 0.2.12", + "http 1.1.0", "hyper-rustls 0.24.2", "ring", "serde", @@ -367,8 +356,8 @@ version = "1.2.1" dependencies = [ "async-trait", "aws-smithy-async 1.2.1", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "tokio", "zeroize", ] @@ -380,8 +369,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "zeroize", ] @@ -393,7 +382,7 @@ version = "0.60.3" name = "aws-http" version = "0.60.6" dependencies = [ - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", ] [[package]] @@ -446,17 +435,43 @@ dependencies = [ [[package]] name = "aws-runtime" version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a10d5c055aa540164d9561a0e2e74ad30f0dcf7393c3a92f6733ddf9c5762468" +dependencies = [ + "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-sigv4 1.2.5", + "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11", + "aws-smithy-runtime 1.7.3", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", + "aws-types 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bytes", + "fastrand 2.0.2", + "http 0.2.12", + "http-body 0.4.6", + "once_cell", + "percent-encoding", + "pin-project-lite", + "tracing", + "uuid", +] + +[[package]] +name = "aws-runtime" +version = "1.5.0" dependencies = [ "arbitrary", "aws-credential-types 1.2.1", - "aws-sigv4 1.2.4", + "aws-sigv4 1.3.0", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "bytes-utils", @@ -481,32 +496,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "aws-runtime" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a10d5c055aa540164d9561a0e2e74ad30f0dcf7393c3a92f6733ddf9c5762468" -dependencies = [ - "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-sigv4 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime 1.7.2", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-types 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bytes", - "fastrand 2.0.2", - "http 0.2.12", - "http-body 0.4.6", - "once_cell", - "percent-encoding", - "pin-project-lite", - "tracing", - "uuid", -] - [[package]] name = "aws-runtime-api" version = "1.1.8" @@ -517,14 +506,14 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -540,19 +529,21 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -567,13 +558,13 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -590,20 +581,22 @@ dependencies = [ "approx", "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "criterion", "fastrand 2.0.2", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -618,20 +611,22 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-query", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "fastrand 2.0.2", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -646,13 +641,13 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -669,20 +664,22 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-runtime 1.5.0", + "aws-sigv4 1.3.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-util", "hex", "http 0.2.12", + "http 1.1.0", "once_cell", "pretty_assertions", "regex-lite", @@ -700,19 +697,21 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-query", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -727,18 +726,20 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -753,19 +754,21 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -780,15 +783,16 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-runtime 1.5.0", + "aws-sigv4 1.3.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-util", @@ -809,18 +813,20 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -835,13 +841,13 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "http 0.2.12", @@ -860,18 +866,18 @@ dependencies = [ "async-std", "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-runtime 1.5.0", + "aws-sigv4 1.3.0", "aws-smithy-async 1.2.1", - "aws-smithy-checksums 0.60.12", + "aws-smithy-checksums 0.60.13", "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "bytes", @@ -904,22 +910,21 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.57.0" +version = "1.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8888c238bf93c77c5df8274b3999fd7fc1bb3fb658616f40dfde9e4fcd9efd94" +checksum = "0506cc60e392e33712d47717d5ae5760a3b134bf8ee7aea7e43df3d7e2669ae0" dependencies = [ - "ahash", "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-runtime 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-sigv4 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-runtime 1.4.3", + "aws-sigv4 1.2.5", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-checksums 0.60.12 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-checksums 0.60.13 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11", "aws-smithy-json 0.60.7 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime 1.7.2", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-runtime 1.7.3", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "aws-smithy-xml 0.60.9 (registry+https://github.com/rust-lang/crates.io-index)", "aws-types 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "bytes", @@ -943,19 +948,21 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "fastrand 2.0.2", "futures-util", "http 0.2.12", + "http 1.1.0", "md-5", "once_cell", "regex-lite", @@ -971,13 +978,13 @@ name = "aws-sdk-sso" version = "0.0.0-local" dependencies = [ "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -992,13 +999,13 @@ name = "aws-sdk-ssooidc" version = "0.0.0-local" dependencies = [ "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "http 0.2.12", @@ -1013,19 +1020,21 @@ name = "aws-sdk-sts" version = "0.0.0-local" dependencies = [ "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-query", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-smithy-xml 0.60.9", "aws-types 1.3.3", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -1040,19 +1049,21 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", "futures-util", "http 0.2.12", + "http 1.1.0", "once_cell", "regex-lite", "serde_json", @@ -1067,13 +1078,13 @@ version = "0.0.0-local" dependencies = [ "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", + "aws-runtime 1.5.0", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-json 0.60.7", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "fastrand 2.0.2", @@ -1091,22 +1102,24 @@ dependencies = [ "async-stream", "aws-config", "aws-credential-types 1.2.1", - "aws-runtime 1.4.3", - "aws-sigv4 1.2.4", + "aws-runtime 1.5.0", + "aws-sigv4 1.3.0", "aws-smithy-async 1.2.1", "aws-smithy-eventstream 0.60.5", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", + "aws-smithy-http-client", "aws-smithy-json 0.60.7", "aws-smithy-protocol-test 0.63.0", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "aws-types 1.3.3", "bytes", "futures-core", "futures-util", "hound", "http 0.2.12", + "http 1.1.0", "hyper 0.14.31", "once_cell", "regex-lite", @@ -1122,33 +1135,26 @@ version = "0.60.3" [[package]] name = "aws-sigv4" -version = "1.2.4" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5619742a0d8f253be760bfbb8e8e8368c69e3587e4637af5754e488a611499b1" dependencies = [ - "aws-credential-types 1.2.1", - "aws-smithy-eventstream 0.60.5", + "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11", "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", "bytes", - "criterion", "crypto-bigint 0.5.5", "form_urlencoded", "hex", - "hex-literal", "hmac", "http 0.2.12", "http 1.1.0", - "httparse", - "libfuzzer-sys", "once_cell", "p256", "percent-encoding", - "pretty_assertions", - "proptest", "ring", - "serde", - "serde_derive", - "serde_json", "sha2", "subtle", "time", @@ -1158,26 +1164,33 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" +version = "1.3.0" dependencies = [ - "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-credential-types 1.2.1", + "aws-smithy-eventstream 0.60.5", + "aws-smithy-http 0.62.0", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", + "criterion", "crypto-bigint 0.5.5", "form_urlencoded", "hex", + "hex-literal", "hmac", "http 0.2.12", "http 1.1.0", + "httparse", + "libfuzzer-sys", "once_cell", "p256", "percent-encoding", + "pretty_assertions", + "proptest", "ring", + "serde", + "serde_derive", + "serde_json", "sha2", "subtle", "time", @@ -1211,17 +1224,17 @@ dependencies = [ name = "aws-smithy-cbor" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "criterion", "minicbor", ] [[package]] name = "aws-smithy-checksums" -version = "0.60.12" +version = "0.60.13" dependencies = [ - "aws-smithy-http 0.60.11", - "aws-smithy-types 1.2.7", + "aws-smithy-http 0.62.0", + "aws-smithy-types 1.3.0", "bytes", "bytes-utils", "crc32c", @@ -1241,12 +1254,12 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.60.12" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" +checksum = "ba1a71073fca26775c8b5189175ea8863afb1c9ea2cceb02a5de5ad9dfbaa795" dependencies = [ - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11", + "aws-smithy-types 1.2.9", "bytes", "crc32c", "crc32fast", @@ -1268,8 +1281,8 @@ version = "0.60.3" name = "aws-smithy-compression" version = "0.0.2" dependencies = [ - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", "bytes-utils", "flate2", @@ -1290,7 +1303,7 @@ name = "aws-smithy-eventstream" version = "0.60.5" dependencies = [ "arbitrary", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "bytes", "bytes-utils", "crc32fast", @@ -1303,7 +1316,7 @@ version = "0.60.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.9", "bytes", "crc32fast", ] @@ -1315,45 +1328,46 @@ version = "0.2.0" [[package]] name = "aws-smithy-http" version = "0.60.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" dependencies = [ - "async-stream", - "aws-smithy-eventstream 0.60.5", + "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", "bytes", "bytes-utils", "futures-core", - "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.31", "once_cell", "percent-encoding", "pin-project-lite", "pin-utils", - "proptest", - "tokio", "tracing", ] [[package]] name = "aws-smithy-http" -version = "0.60.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" +version = "0.62.0" dependencies = [ - "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "async-stream", + "aws-smithy-eventstream 0.60.5", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", "bytes-utils", "futures-core", + "futures-util", "http 0.2.12", + "http 1.1.0", "http-body 0.4.6", + "hyper 0.14.31", "once_cell", "percent-encoding", "pin-project-lite", "pin-utils", + "proptest", + "tokio", "tracing", ] @@ -1367,8 +1381,8 @@ version = "1.0.0" dependencies = [ "aws-smithy-async 1.2.1", "aws-smithy-protocol-test 0.63.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", "h2 0.4.6", "http 0.2.12", @@ -1385,7 +1399,7 @@ dependencies = [ "once_cell", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.15", + "rustls 0.23.16", "serde", "serde_json", "tokio", @@ -1401,7 +1415,7 @@ version = "0.60.3" name = "aws-smithy-json" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "proptest", "serde_json", ] @@ -1412,16 +1426,16 @@ version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.9", ] [[package]] name = "aws-smithy-mocks-experimental" version = "0.2.1" dependencies = [ - "aws-sdk-s3 1.57.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-sdk-s3 1.60.0", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "tokio", ] @@ -1430,7 +1444,7 @@ name = "aws-smithy-protocol-test" version = "0.63.0" dependencies = [ "assert-json-diff", - "aws-smithy-runtime-api 1.7.3", + "aws-smithy-runtime-api 1.7.4", "base64-simd", "cbor-diag", "ciborium", @@ -1449,7 +1463,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b92b62199921f10685c6b588fdbeb81168ae4e7950ae3e5f50145a01bb5f1ad" dependencies = [ "assert-json-diff", - "aws-smithy-runtime-api 1.7.2", + "aws-smithy-runtime-api 1.7.3", "base64-simd", "cbor-diag", "ciborium", @@ -1465,21 +1479,21 @@ dependencies = [ name = "aws-smithy-query" version = "0.60.7" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "urlencoding", ] [[package]] name = "aws-smithy-runtime" -version = "1.7.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a065c0fe6fdbdf9f11817eb68582b2ab4aff9e9c39e986ae48f7ec576c6322db" +checksum = "be28bd063fa91fd871d131fc8b68d7cd4c5fa0869bea68daca50dcb1cbd76be2" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-http 0.60.11 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-http 0.60.11", "aws-smithy-protocol-test 0.63.0 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "bytes", "fastrand 2.0.2", "h2 0.3.26", @@ -1507,10 +1521,10 @@ version = "1.8.0" dependencies = [ "approx", "aws-smithy-async 1.2.1", - "aws-smithy-http 0.60.11", + "aws-smithy-http 0.62.0", "aws-smithy-http-client", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", "fastrand 2.0.2", "futures-util", @@ -1532,12 +1546,12 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" +checksum = "92165296a47a812b267b4f41032ff8069ab7ff783696d217f0994a0d7ab585cd" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-types 1.2.9", "bytes", "http 0.2.12", "http 1.1.0", @@ -1549,10 +1563,10 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.3" +version = "1.7.4" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "bytes", "http 0.2.12", "http 1.1.0", @@ -1565,61 +1579,61 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.7" +version = "1.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fbd94a32b3a7d55d3806fe27d98d3ad393050439dd05eb53ece36ec5e3d3510" dependencies = [ - "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", - "ciborium", - "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", - "hyper 0.14.31", "itoa", - "lazy_static", "num-integer", "pin-project-lite", "pin-utils", - "proptest", - "rand", "ryu", "serde", - "serde_json", - "tempfile", "time", "tokio", - "tokio-stream", "tokio-util", ] [[package]] name = "aws-smithy-types" -version = "1.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" +version = "1.3.0" dependencies = [ + "base64 0.13.1", "base64-simd", "bytes", "bytes-utils", + "ciborium", + "criterion", "futures-core", "http 0.2.12", "http 1.1.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", + "hyper 0.14.31", "itoa", + "lazy_static", "num-integer", "pin-project-lite", "pin-utils", + "proptest", + "rand", "ryu", "serde", + "serde_json", + "tempfile", "time", "tokio", + "tokio-stream", "tokio-util", ] @@ -1628,7 +1642,7 @@ name = "aws-smithy-types-convert" version = "0.60.8" dependencies = [ "aws-smithy-async 1.2.1", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.3.0", "chrono", "futures-core", "time", @@ -1638,9 +1652,9 @@ dependencies = [ name = "aws-smithy-wasm" version = "0.1.3" dependencies = [ - "aws-smithy-http 0.60.11", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-http 0.62.0", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "bytes", "http 1.1.0", "tracing", @@ -1673,8 +1687,8 @@ dependencies = [ "aws-credential-types 1.2.1", "aws-smithy-async 1.2.1", "aws-smithy-runtime 1.8.0", - "aws-smithy-runtime-api 1.7.3", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.4", + "aws-smithy-types 1.3.0", "http 0.2.12", "hyper-rustls 0.24.2", "rustc_version", @@ -1692,8 +1706,8 @@ checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" dependencies = [ "aws-credential-types 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "rustc_version", "tracing", ] @@ -1766,7 +1780,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.82", + "syn 2.0.87", "which", ] @@ -1815,7 +1829,7 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.4.0", "piper", ] @@ -1883,9 +1897,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" dependencies = [ "jobserver", "libc", @@ -2190,13 +2204,13 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2216,6 +2230,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "dunce" version = "1.0.5" @@ -2426,9 +2451,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "3f1fa2f9765705486b33fd2acf1577f8ec449c2ba1f318ae5447697b7c08d210" dependencies = [ "fastrand 2.0.2", "futures-core", @@ -2445,7 +2470,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2580,9 +2605,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" dependencies = [ "allocator-api2", "equivalent", @@ -2791,7 +2816,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -2801,9 +2826,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -2818,14 +2843,143 @@ dependencies = [ "tracing", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -2935,9 +3089,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libfuzzer-sys" @@ -2962,9 +3116,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "linux-raw-sys" @@ -2978,6 +3132,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -3049,7 +3209,7 @@ checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3244,9 +3404,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -3321,15 +3481,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.3" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.37", + "rustix 0.38.39", "tracing", "windows-sys 0.59.0", ] @@ -3361,12 +3521,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "910d41a655dac3b764f1ade94821093d3610248694320cd072303a8eedcf221d" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3395,9 +3555,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -3507,9 +3667,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -3627,9 +3787,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" dependencies = [ "bitflags 2.6.0", "errno", @@ -3652,9 +3812,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" dependencies = [ "aws-lc-rs", "once_cell", @@ -3839,22 +3999,22 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac55e59090389fb9f0dd9e0f3c09615afed1d19094284d0b200441f13550793" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be4f245ce16bc58d57ef2716271d0d4519e0f6defa147f6e081005bcb278ff" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3994,6 +4154,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "subtle" version = "2.6.1" @@ -4013,15 +4179,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "tempfile" version = "3.12.0" @@ -4031,28 +4208,28 @@ dependencies = [ "cfg-if", "fastrand 2.0.2", "once_cell", - "rustix 0.38.37", + "rustix 0.38.39", "windows-sys 0.59.0", ] [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -4096,6 +4273,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinytemplate" version = "1.2.1" @@ -4123,9 +4310,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -4147,7 +4334,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -4166,7 +4353,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "tokio", ] @@ -4261,7 +4448,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -4334,7 +4521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -4355,27 +4542,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-segmentation" version = "1.12.0" @@ -4390,9 +4562,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", @@ -4405,6 +4577,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.11.0" @@ -4419,9 +4603,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" +checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" [[package]] name = "version_check" @@ -4506,7 +4690,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -4540,7 +4724,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4576,7 +4760,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.37", + "rustix 0.38.39", ] [[package]] @@ -4767,6 +4951,18 @@ dependencies = [ "bitflags 2.6.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xmlparser" version = "0.13.6" @@ -4779,6 +4975,30 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -4797,7 +5017,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", ] [[package]] @@ -4805,3 +5046,25 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/rust-runtime/Cargo.lock b/rust-runtime/Cargo.lock index 4f75cfac1a..c32b27dad1 100644 --- a/rust-runtime/Cargo.lock +++ b/rust-runtime/Cargo.lock @@ -17,18 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -52,9 +40,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "approx" @@ -67,9 +55,9 @@ dependencies = [ [[package]] name = "arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" [[package]] name = "assert-json-diff" @@ -112,7 +100,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -145,8 +133,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "zeroize", ] @@ -204,9 +192,9 @@ dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11", - "aws-smithy-runtime 1.7.2", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime 1.7.3", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "aws-types", "bytes", "fastrand", @@ -221,22 +209,21 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.57.0" +version = "1.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8888c238bf93c77c5df8274b3999fd7fc1bb3fb658616f40dfde9e4fcd9efd94" +checksum = "0506cc60e392e33712d47717d5ae5760a3b134bf8ee7aea7e43df3d7e2669ae0" dependencies = [ - "ahash", "aws-credential-types", "aws-runtime", "aws-sigv4", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-checksums 0.60.12", + "aws-smithy-checksums 0.60.13", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11", "aws-smithy-json 0.60.7 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime 1.7.2", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime 1.7.3", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "aws-smithy-xml 0.60.9 (registry+https://github.com/rust-lang/crates.io-index)", "aws-types", "bytes", @@ -256,15 +243,15 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.4" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8db6904450bafe7473c6ca9123f88cc11089e41a025408f992db4e22d3be68" +checksum = "5619742a0d8f253be760bfbb8e8e8368c69e3587e4637af5754e488a611499b1" dependencies = [ "aws-credential-types", "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "bytes", "crypto-bigint 0.5.5", "form_urlencoded", @@ -316,12 +303,12 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.60.12" +version = "0.60.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598b1689d001c4d4dc3cb386adb07d37786783aee3ac4b324bcadac116bf3d23" +checksum = "ba1a71073fca26775c8b5189175ea8863afb1c9ea2cceb02a5de5ad9dfbaa795" dependencies = [ "aws-smithy-http 0.60.11", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", "bytes", "crc32c", "crc32fast", @@ -337,7 +324,7 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.70.0" +version = "0.60.14" dependencies = [ "aws-smithy-http 0.62.0", "aws-smithy-types 1.3.0", @@ -346,9 +333,8 @@ dependencies = [ "crc32c", "crc32fast", "hex", - "http 1.1.0", - "http-body 1.0.1", - "http-body-util", + "http 0.2.12", + "http-body 0.4.6", "md-5", "pin-project-lite", "pretty_assertions", @@ -402,7 +388,7 @@ version = "0.60.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cef7d0a272725f87e51ba2bf89f8c21e4df61b9e49ae1ac367a6d69916ef7c90" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", "bytes", "crc32fast", ] @@ -418,8 +404,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" dependencies = [ "aws-smithy-eventstream 0.60.5 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "bytes", "bytes-utils", "futures-core", @@ -447,7 +433,6 @@ dependencies = [ "http 0.2.12", "http 1.1.0", "http-body 0.4.6", - "http-body 1.0.1", "hyper 0.14.31", "once_cell", "percent-encoding", @@ -486,7 +471,7 @@ dependencies = [ "once_cell", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.15", + "rustls 0.23.16", "serde", "serde_json", "tokio", @@ -583,7 +568,7 @@ version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", ] [[package]] @@ -620,7 +605,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b92b62199921f10685c6b588fdbeb81168ae4e7950ae3e5f50145a01bb5f1ad" dependencies = [ "assert-json-diff", - "aws-smithy-runtime-api 1.7.2", + "aws-smithy-runtime-api 1.7.3", "base64-simd", "cbor-diag", "ciborium", @@ -642,15 +627,15 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.7.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a065c0fe6fdbdf9f11817eb68582b2ab4aff9e9c39e986ae48f7ec576c6322db" +checksum = "be28bd063fa91fd871d131fc8b68d7cd4c5fa0869bea68daca50dcb1cbd76be2" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "aws-smithy-http 0.60.11", "aws-smithy-protocol-test 0.63.0 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "bytes", "fastrand", "h2 0.3.26", @@ -703,12 +688,12 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e086682a53d3aa241192aa110fa8dfce98f2f5ac2ead0de84d41582c7e8fdb96" +checksum = "92165296a47a812b267b4f41032ff8069ab7ff783696d217f0994a0d7ab585cd" dependencies = [ "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-types 1.2.7", + "aws-smithy-types 1.2.9", "bytes", "http 0.2.12", "http 1.1.0", @@ -736,9 +721,9 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.7" +version = "1.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147100a7bea70fa20ef224a6bad700358305f5dc0f84649c53769761395b355b" +checksum = "4fbd94a32b3a7d55d3806fe27d98d3ad393050439dd05eb53ece36ec5e3d3510" dependencies = [ "base64-simd", "bytes", @@ -845,8 +830,8 @@ checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef" dependencies = [ "aws-credential-types", "aws-smithy-async 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "aws-smithy-runtime-api 1.7.2", - "aws-smithy-types 1.2.7", + "aws-smithy-runtime-api 1.7.3", + "aws-smithy-types 1.2.9", "rustc_version", "tracing", ] @@ -941,7 +926,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.82", + "syn 2.0.87", "which", ] @@ -1048,9 +1033,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "baee610e9452a8f6f0a1b6194ec09ff9e2d85dea54432acdae41aa0761c95d70" dependencies = [ "jobserver", "libc", @@ -1370,13 +1355,13 @@ dependencies = [ [[package]] name = "derive_arbitrary" -version = "1.3.2" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1396,6 +1381,17 @@ dependencies = [ "subtle", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "dunce" version = "1.0.5" @@ -1442,9 +1438,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -1592,7 +1588,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -1725,9 +1721,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" dependencies = [ "allocator-api2", "equivalent", @@ -1934,7 +1930,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -1944,9 +1940,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -1961,14 +1957,143 @@ dependencies = [ "tracing", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -1988,7 +2113,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.1", "serde", ] @@ -2014,7 +2139,6 @@ dependencies = [ "fastrand", "futures-util", "http 0.2.12", - "http 1.1.0", "http-body 0.4.6", "md-5", "once_cell", @@ -2160,9 +2284,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libloading" @@ -2176,9 +2300,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "linux-raw-sys" @@ -2186,6 +2310,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -2208,7 +2338,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.0", + "hashbrown 0.15.1", ] [[package]] @@ -2269,7 +2399,7 @@ checksum = "bd2209fff77f705b00c737016a48e73733d7fbccb8b007194db148f03561fb70" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2483,29 +2613,29 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -2578,12 +2708,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "910d41a655dac3b764f1ade94821093d3610248694320cd072303a8eedcf221d" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -2612,9 +2742,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.88" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -2835,9 +2965,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -2956,9 +3086,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" dependencies = [ "bitflags 2.6.0", "errno", @@ -2981,9 +3111,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" dependencies = [ "aws-lc-rs", "once_cell", @@ -3168,22 +3298,22 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac55e59090389fb9f0dd9e0f3c09615afed1d19094284d0b200441f13550793" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.211" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54be4f245ce16bc58d57ef2716271d0d4519e0f6defa147f6e081005bcb278ff" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3335,6 +3465,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "strsim" version = "0.10.0" @@ -3360,15 +3496,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.82" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "target-lexicon" version = "0.12.16" @@ -3405,22 +3552,22 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3464,6 +3611,16 @@ dependencies = [ "time-core", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinytemplate" version = "1.2.1" @@ -3505,9 +3662,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.41.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", @@ -3529,7 +3686,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3548,7 +3705,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "tokio", ] @@ -3692,7 +3849,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3765,7 +3922,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04659ddb06c87d233c566112c1c9c5b9e98256d9af50ec3bc9c8327f873a7568" dependencies = [ "quote", - "syn 2.0.82", + "syn 2.0.87", ] [[package]] @@ -3786,27 +3943,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - [[package]] name = "unicode-ident" version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" -[[package]] -name = "unicode-normalization" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" -dependencies = [ - "tinyvec", -] - [[package]] name = "unindent" version = "0.1.11" @@ -3827,9 +3969,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", "idna", @@ -3842,6 +3984,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" version = "1.11.0" @@ -3935,7 +4089,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -3957,7 +4111,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4112,6 +4266,18 @@ dependencies = [ "bitflags 2.6.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "xmlparser" version = "0.13.6" @@ -4133,6 +4299,30 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -4151,7 +4341,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.82", + "syn 2.0.87", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "synstructure", ] [[package]] @@ -4159,3 +4370,25 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] diff --git a/rust-runtime/aws-smithy-checksums/Cargo.toml b/rust-runtime/aws-smithy-checksums/Cargo.toml index 2f8ebc3d00..63878e8089 100644 --- a/rust-runtime/aws-smithy-checksums/Cargo.toml +++ b/rust-runtime/aws-smithy-checksums/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "aws-smithy-checksums" -version = "0.70.0" +version = "0.60.14" authors = [ "AWS Rust SDK Team ", "Zelda Hessler ", @@ -14,13 +14,13 @@ repository = "https://github.com/smithy-lang/smithy-rs" [dependencies] aws-smithy-http = { path = "../aws-smithy-http" } -aws-smithy-types = { path = "../aws-smithy-types", features = ["http-body-1-x"] } +aws-smithy-types = { path = "../aws-smithy-types" } bytes = "1" crc32c = "0.6.8" crc32fast = "1.3" hex = "0.4.3" -http = "1" -http-body = "1" +http = "0.2.8" +http-body = "0.4.4" md-5 = "0.10" pin-project-lite = "0.2.9" sha1 = "0.10" @@ -29,7 +29,6 @@ tracing = "0.1" [dev-dependencies] bytes-utils = "0.1.2" -http-body-util = "0.1.2" pretty_assertions = "1.3" tokio = { version = "1.23.1", features = ["macros", "rt"] } tracing-test = "0.2.1" diff --git a/rust-runtime/aws-smithy-checksums/src/body/calculate.rs b/rust-runtime/aws-smithy-checksums/src/body/calculate.rs index f31fe32c3a..a1f6c25a19 100644 --- a/rust-runtime/aws-smithy-checksums/src/body/calculate.rs +++ b/rust-runtime/aws-smithy-checksums/src/body/calculate.rs @@ -10,7 +10,8 @@ use crate::http::HttpChecksum; use aws_smithy_http::header::append_merge_header_maps; use aws_smithy_types::body::SdkBody; -use http_body::{Frame, SizeHint}; +use http::HeaderMap; +use http_body::SizeHint; use pin_project_lite::pin_project; use std::pin::Pin; @@ -39,44 +40,48 @@ impl http_body::Body for ChecksumBody { type Data = bytes::Bytes; type Error = aws_smithy_types::body::Error; - fn poll_frame( + fn poll_data( self: Pin<&mut Self>, cx: &mut Context<'_>, - ) -> Poll, Self::Error>>> { + ) -> Poll>> { let this = self.project(); - - match this.body.poll_frame(cx) { - Poll::Ready(Some(Ok(frame))) if frame.is_data() => { - let data = frame.into_data().expect("unreachable"); - match this.checksum { - Some(checksum) => { - checksum.update(&data); - Poll::Ready(Some(Ok(Frame::data(data)))) - } - None => unreachable!("This can only fail if poll_data is called again after poll_trailers, which is invalid"), - } - } - Poll::Ready(Some(Ok(non_data_frame))) => match non_data_frame.into_trailers() { - Ok(inner_trailers) => { - if let Some(checksum) = this.checksum.take() { - let merged = append_merge_header_maps(inner_trailers, checksum.headers()); - Poll::Ready(Some(Ok(Frame::trailers(merged)))) - } else { - Poll::Ready(Some(Ok(Frame::trailers(inner_trailers)))) - } - } - Err(non_trailer_frame) => Poll::Ready(Some(Ok(non_trailer_frame))), - }, - Poll::Ready(None) => { - if let Some(checksum) = this.checksum.take() { - Poll::Ready(Some(Ok(Frame::trailers(checksum.headers())))) - } else { - Poll::Ready(None) + match this.checksum { + Some(checksum) => { + let poll_res = this.body.poll_data(cx); + if let Poll::Ready(Some(Ok(data))) = &poll_res { + checksum.update(data); } + + poll_res } - Poll::Ready(Some(Err(e))) => Poll::Ready(Some(Err(e))), - Poll::Pending => Poll::Pending, + None => unreachable!("This can only fail if poll_data is called again after poll_trailers, which is invalid"), + } + } + + fn poll_trailers( + self: Pin<&mut Self>, + cx: &mut Context<'_>, + ) -> Poll, Self::Error>> { + let this = self.project(); + let poll_res = this.body.poll_trailers(cx); + + if let Poll::Ready(Ok(maybe_inner_trailers)) = poll_res { + let checksum_headers = if let Some(checksum) = this.checksum.take() { + checksum.headers() + } else { + return Poll::Ready(Ok(None)); + }; + + return match maybe_inner_trailers { + Some(inner_trailers) => Poll::Ready(Ok(Some(append_merge_header_maps( + inner_trailers, + checksum_headers, + )))), + None => Poll::Ready(Ok(Some(checksum_headers))), + }; } + + poll_res } fn is_end_stream(&self) -> bool { @@ -97,6 +102,8 @@ mod tests { use aws_smithy_types::base64; use aws_smithy_types::body::SdkBody; use bytes::Buf; + use bytes_utils::SegmentedBuf; + use http_body::Body; use std::fmt::Write; use std::io::Read; @@ -114,18 +121,32 @@ mod tests { #[tokio::test] async fn test_checksum_body() { - use http_body_util::BodyExt; let input_text = "This is some test text for an SdkBody"; let body = SdkBody::from(input_text); let checksum = CRC_32_NAME .parse::() .unwrap() .into_impl(); - let body = ChecksumBody::new(body, checksum); + let mut body = ChecksumBody::new(body, checksum); - let collected = body.collect().await.expect("body and trailers valid"); + let mut output = SegmentedBuf::new(); + while let Some(buf) = body.data().await { + output.push(buf.unwrap()); + } - let trailers = collected.trailers().expect("trailers were set").to_owned(); + let mut output_text = String::new(); + output + .reader() + .read_to_string(&mut output_text) + .expect("Doesn't cause IO errors"); + // Verify data is complete and unaltered + assert_eq!(input_text, output_text); + + let trailers = body + .trailers() + .await + .expect("checksum generation was without error") + .expect("trailers were set"); let checksum_trailer = trailers .get(CRC_32_HEADER_NAME) .expect("trailers contain crc32 checksum"); @@ -133,14 +154,5 @@ mod tests { // Known correct checksum for the input "This is some test text for an SdkBody" assert_eq!("0x99B01F72", checksum_trailer); - - let mut output_text = String::new(); - collected - .to_bytes() - .reader() - .read_to_string(&mut output_text) - .expect("Doesn't cause IO errors"); - // Verify data is complete and unaltered - assert_eq!(input_text, output_text); } } diff --git a/rust-runtime/aws-smithy-checksums/src/body/validate.rs b/rust-runtime/aws-smithy-checksums/src/body/validate.rs index c76ddab5b2..cf15815772 100644 --- a/rust-runtime/aws-smithy-checksums/src/body/validate.rs +++ b/rust-runtime/aws-smithy-checksums/src/body/validate.rs @@ -11,7 +11,8 @@ use crate::http::HttpChecksum; use aws_smithy_types::body::SdkBody; use bytes::Bytes; -use http_body::{Body, Frame, SizeHint}; +use http::{HeaderMap, HeaderValue}; +use http_body::SizeHint; use pin_project_lite::pin_project; use std::fmt::Display; @@ -47,13 +48,14 @@ impl ChecksumBody { fn poll_inner( self: Pin<&mut Self>, cx: &mut Context<'_>, - ) -> Poll, aws_smithy_types::body::Error>>> { + ) -> Poll>> { + use http_body::Body; + let this = self.project(); let checksum = this.checksum; - match this.inner.poll_frame(cx) { - Poll::Ready(Some(Ok(frame))) if frame.is_data() => { - let data = frame.into_data().expect("unreachable"); + match this.inner.poll_data(cx) { + Poll::Ready(Some(Ok(data))) => { tracing::trace!( "reading {} bytes from the body and updating the checksum calculation", data.len() @@ -66,9 +68,8 @@ impl ChecksumBody { }; checksum.update(&data); - Poll::Ready(Some(Ok(Frame::data(data)))) + Poll::Ready(Some(Ok(data))) } - Poll::Ready(Some(Ok(non_data_frame))) => Poll::Ready(Some(Ok(non_data_frame))), // Once the inner body has stopped returning data, check the checksum // and return an error if it doesn't match. Poll::Ready(None) => { @@ -127,13 +128,20 @@ impl http_body::Body for ChecksumBody { type Data = Bytes; type Error = aws_smithy_types::body::Error; - fn poll_frame( + fn poll_data( self: Pin<&mut Self>, cx: &mut Context<'_>, - ) -> Poll, Self::Error>>> { + ) -> Poll>> { self.poll_inner(cx) } + fn poll_trailers( + self: Pin<&mut Self>, + cx: &mut Context<'_>, + ) -> Poll>, Self::Error>> { + self.project().inner.poll_trailers(cx) + } + fn is_end_stream(&self) -> bool { self.checksum.is_none() } @@ -150,7 +158,7 @@ mod tests { use aws_smithy_types::body::SdkBody; use bytes::{Buf, Bytes}; use bytes_utils::SegmentedBuf; - use http_body_util::BodyExt; + use http_body::Body; use std::io::Read; fn calculate_crc32_checksum(input: &str) -> Bytes { @@ -170,8 +178,8 @@ mod tests { non_matching_checksum.clone(), ); - while let Some(frame) = body.frame().await { - match frame { + while let Some(data) = body.data().await { + match data { Ok(_) => { /* Do nothing */ } Err(e) => { match e.downcast_ref::().unwrap() { @@ -198,12 +206,8 @@ mod tests { let mut body = ChecksumBody::new(body, http_checksum, actual_checksum); let mut output = SegmentedBuf::new(); - while let Some(frame) = body.frame().await { - let data = frame - .expect("frame expected") - .into_data() - .expect("only data frames"); - output.push(data); + while let Some(buf) = body.data().await { + output.push(buf.unwrap()); } let mut output_text = String::new(); diff --git a/rust-runtime/aws-smithy-http/Cargo.toml b/rust-runtime/aws-smithy-http/Cargo.toml index 4c6b7f95f6..f017945b73 100644 --- a/rust-runtime/aws-smithy-http/Cargo.toml +++ b/rust-runtime/aws-smithy-http/Cargo.toml @@ -13,20 +13,17 @@ repository = "https://github.com/smithy-lang/smithy-rs" [features] event-stream = ["aws-smithy-eventstream"] rt-tokio = ["aws-smithy-types/rt-tokio"] -compat = ["dep:http-02x"] [dependencies] aws-smithy-eventstream = { path = "../aws-smithy-eventstream", optional = true } -# FIXME(hyper1) - _somewhere_ in codegen relies on http-02x feature enabled via this crate, find and fix -aws-smithy-runtime-api = { path = "../aws-smithy-runtime-api", features = ["client", "http-1x", "http-02x"] } +aws-smithy-runtime-api = { path = "../aws-smithy-runtime-api", features = ["client", "http-02x"] } aws-smithy-types = { path = "../aws-smithy-types", features = ["byte-stream-poll-next", "http-body-0-4-x"] } bytes = "1" bytes-utils = "0.1" +# TODO(hyper1) - Complete the breaking changes by updating to http 1.x ecosystem fully in this crate. Also remove hyper 0.14 from dev +http-02x = { package = "http", version = "0.2.3" } http-1x = { package = "http", version = "1" } -http-02x = { package = "http", version = "0.2.9", optional = true } -# TODO(hyper1) - remove in favor of http-body-1x with breaking 0.62 change http-body-04x = { package = "http-body", version = "0.4.4" } -http-body-1x = { package = "http-body", version = "1" } once_cell = "1.10" percent-encoding = "2.1.0" pin-project-lite = "0.2.9" diff --git a/rust-runtime/aws-smithy-http/src/compat.rs b/rust-runtime/aws-smithy-http/src/compat.rs deleted file mode 100644 index 8b098fd794..0000000000 --- a/rust-runtime/aws-smithy-http/src/compat.rs +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * SPDX-License-Identifier: Apache-2.0 - */ - -use core::task::ready; -use pin_project_lite::pin_project; -use std::pin::Pin; -use std::task::Context; -use std::task::Poll; - -pin_project! { - /// http-0.4.x to http-1.x body conversion util. This is meant for internal use only and may be - /// removed in the future. - pub struct Http04toHttp1x { - #[pin] - inner: B, - state: State, - } -} - -enum State { - PollData, - PollTrailers, - Done, -} - -impl Http04toHttp1x { - /// Create a new shim to convert http-0.4.x body to an http-1.x body. - pub fn new(inner: B) -> Self { - Self { - inner, - state: State::PollData, - } - } -} - -impl http_body_1x::Body for Http04toHttp1x -where - B: http_body_04x::Body, -{ - type Data = B::Data; - type Error = B::Error; - - fn poll_frame( - self: std::pin::Pin<&mut Self>, - cx: &mut std::task::Context<'_>, - ) -> std::task::Poll, Self::Error>>> { - let mut this = self.project(); - - loop { - match this.state { - State::PollData => match ready!(this.inner.as_mut().poll_data(cx)) { - Some(data) => return Poll::Ready(Some(data.map(http_body_1x::Frame::data))), - None => *this.state = State::PollTrailers, - }, - State::PollTrailers => { - let result = match ready!(this.inner.as_mut().poll_trailers(cx)) { - Ok(trailers) => Poll::Ready( - trailers - .map(convert_headers_0x_1x) - .map(http_body_1x::Frame::::trailers) - .map(Result::Ok), - ), - Err(err) => Poll::Ready(Some(Err(err))), - }; - - *this.state = State::Done; - return result; - } - State::Done => return Poll::Ready(None), - } - } - } - - fn is_end_stream(&self) -> bool { - self.inner.is_end_stream() - } - - fn size_hint(&self) -> http_body_1x::SizeHint { - let mut size_hint = http_body_1x::SizeHint::new(); - let inner_hint = self.inner.size_hint(); - if let Some(exact) = inner_hint.exact() { - size_hint.set_exact(exact) - } else { - size_hint.set_lower(inner_hint.lower()); - if let Some(upper) = inner_hint.upper() { - size_hint.set_upper(upper); - } - } - size_hint - } -} - -pub fn convert_headers_0x_1x(input: http_02x::HeaderMap) -> http_1x::HeaderMap { - let mut map = http_1x::HeaderMap::with_capacity(input.capacity()); - let mut mem: Option = None; - for (k, v) in input.into_iter() { - let name = k.or_else(|| mem.clone()).unwrap(); - map.append( - http_1x::HeaderName::from_bytes(name.as_str().as_bytes()).expect("already validated"), - http_1x::HeaderValue::from_bytes(v.as_bytes()).expect("already validated"), - ); - mem = Some(name); - } - map -} - -pin_project! { - /// http-1.x to http-0.4.x body conversion util. This is meant for internal use only and may be - /// removed in the future. - pub struct Http1toHttp04 { - #[pin] - inner: B, - trailers: Option, - } -} - -impl Http1toHttp04 { - /// Create a new shim to convert http-1.x body to an http-0.4.x body. - pub fn new(inner: B) -> Self { - Self { - inner, - trailers: None, - } - } -} - -impl http_body_04x::Body for Http1toHttp04 -where - B: http_body_1x::Body, -{ - type Data = B::Data; - type Error = B::Error; - - fn poll_data( - mut self: Pin<&mut Self>, - cx: &mut Context<'_>, - ) -> Poll>> { - loop { - let this = self.as_mut().project(); - match ready!(this.inner.poll_frame(cx)) { - Some(Ok(frame)) => { - let frame = match frame.into_data() { - Ok(data) => return Poll::Ready(Some(Ok(data))), - Err(frame) => frame, - }; - // when we get a trailers frame, store the trailers for the next poll - if let Ok(trailers) = frame.into_trailers() { - this.trailers.replace(trailers); - return Poll::Ready(None); - }; - // if the frame type was unknown, discard it. the next one might be something - // useful - } - Some(Err(e)) => return Poll::Ready(Some(Err(e))), - None => return Poll::Ready(None), - } - } - } - - fn poll_trailers( - self: Pin<&mut Self>, - _cx: &mut Context<'_>, - ) -> Poll, Self::Error>> { - // all of the polling happens in poll_data, once we get to the trailers we've actually - // already read everything - let this = self.project(); - match this.trailers.take() { - Some(headers) => Poll::Ready(Ok(Some(convert_headers_1x_0x(headers)))), - None => Poll::Ready(Ok(None)), - } - } - - fn is_end_stream(&self) -> bool { - self.inner.is_end_stream() - } - - fn size_hint(&self) -> http_body_04x::SizeHint { - let mut size_hint = http_body_04x::SizeHint::new(); - let inner_hint = self.inner.size_hint(); - if let Some(exact) = inner_hint.exact() { - size_hint.set_exact(exact); - } else { - size_hint.set_lower(inner_hint.lower()); - if let Some(upper) = inner_hint.upper() { - size_hint.set_upper(upper); - } - } - size_hint - } -} - -pub fn convert_headers_1x_0x(input: http_1x::HeaderMap) -> http_02x::HeaderMap { - let mut map = http_02x::HeaderMap::with_capacity(input.capacity()); - let mut mem: Option = None; - for (k, v) in input.into_iter() { - let name = k.or_else(|| mem.clone()).unwrap(); - map.append( - http_02x::HeaderName::from_bytes(name.as_str().as_bytes()).expect("already validated"), - http_02x::HeaderValue::from_bytes(v.as_bytes()).expect("already validated"), - ); - mem = Some(name); - } - map -} diff --git a/rust-runtime/aws-smithy-http/src/header.rs b/rust-runtime/aws-smithy-http/src/header.rs index bcc62788e6..4519bf490f 100644 --- a/rust-runtime/aws-smithy-http/src/header.rs +++ b/rust-runtime/aws-smithy-http/src/header.rs @@ -8,7 +8,7 @@ use aws_smithy_types::date_time::Format; use aws_smithy_types::primitive::Parse; use aws_smithy_types::DateTime; -use http_1x::header::{HeaderMap, HeaderName, HeaderValue}; +use http_02x::header::{HeaderMap, HeaderName, HeaderValue}; use std::borrow::Cow; use std::error::Error; use std::fmt; @@ -151,13 +151,13 @@ where /// Given an HTTP request, set a request header if that header was not already set. pub fn set_request_header_if_absent( - request: http_1x::request::Builder, + request: http_02x::request::Builder, key: HeaderName, value: V, -) -> http_1x::request::Builder +) -> http_02x::request::Builder where HeaderValue: TryFrom, - >::Error: Into, + >::Error: Into, { if !request .headers_ref() @@ -172,13 +172,13 @@ where /// Given an HTTP response, set a response header if that header was not already set. pub fn set_response_header_if_absent( - response: http_1x::response::Builder, + response: http_02x::response::Builder, key: HeaderName, value: V, -) -> http_1x::response::Builder +) -> http_02x::response::Builder where HeaderValue: TryFrom, - >::Error: Into, + >::Error: Into, { if !response .headers_ref() @@ -340,12 +340,12 @@ mod test { use aws_smithy_runtime_api::http::Request; use aws_smithy_types::error::display::DisplayErrorContext; use aws_smithy_types::{date_time::Format, DateTime}; - use http_1x::header::{HeaderMap, HeaderName, HeaderValue}; + use http_02x::header::{HeaderMap, HeaderName, HeaderValue}; use std::collections::HashMap; #[test] fn put_on_request_if_absent() { - let builder = http_1x::Request::builder().header("foo", "bar"); + let builder = http_02x::Request::builder().header("foo", "bar"); let builder = set_request_header_if_absent(builder, HeaderName::from_static("foo"), "baz"); let builder = set_request_header_if_absent(builder, HeaderName::from_static("other"), "value"); @@ -362,7 +362,7 @@ mod test { #[test] fn put_on_response_if_absent() { - let builder = http_1x::Response::builder().header("foo", "bar"); + let builder = http_02x::Response::builder().header("foo", "bar"); let builder = set_response_header_if_absent(builder, HeaderName::from_static("foo"), "baz"); let builder = set_response_header_if_absent(builder, HeaderName::from_static("other"), "value"); @@ -383,7 +383,7 @@ mod test { #[test] fn parse_floats() { - let test_request = http_1x::Request::builder() + let test_request = http_02x::Request::builder() .header("X-Float-Multi", "0.0,Infinity,-Infinity,5555.5") .header("X-Float-Error", "notafloat") .body(()) @@ -421,7 +421,7 @@ mod test { #[test] fn test_many_dates() { - let test_request = http_1x::Request::builder() + let test_request = http_02x::Request::builder() .header("Empty", "") .header("SingleHttpDate", "Wed, 21 Oct 2015 07:28:00 GMT") .header( @@ -473,7 +473,7 @@ mod test { #[test] fn read_many_strings() { - let test_request = http_1x::Request::builder() + let test_request = http_02x::Request::builder() .header("Empty", "") .header("Foo", " foo") .header("FooTrailing", "foo ") @@ -524,7 +524,7 @@ mod test { #[test] fn read_many_bools() { - let test_request = http_1x::Request::builder() + let test_request = http_02x::Request::builder() .header("X-Bool-Multi", "true,false") .header("X-Bool-Multi", "true") .header("X-Bool", "true") @@ -590,7 +590,7 @@ mod test { #[test] fn check_read_many_i16() { - let test_request = http_1x::Request::builder() + let test_request = http_02x::Request::builder() .header("X-Multi", "123,456") .header("X-Multi", "789") .header("X-Num", "777") @@ -657,7 +657,7 @@ mod test { #[test] fn test_prefix_headers() { let test_request = Request::try_from( - http_1x::Request::builder() + http_02x::Request::builder() .header("X-Prefix-A", "123,456") .header("X-Prefix-B", "789") .header("X-Prefix-C", "777") diff --git a/rust-runtime/aws-smithy-http/src/label.rs b/rust-runtime/aws-smithy-http/src/label.rs index 720b812c5c..5d24fca442 100644 --- a/rust-runtime/aws-smithy-http/src/label.rs +++ b/rust-runtime/aws-smithy-http/src/label.rs @@ -41,7 +41,7 @@ pub fn fmt_timestamp(t: &DateTime, format: Format) -> Result Writer<'a> { #[cfg(test)] mod test { use crate::query::{fmt_string, Writer}; - use http_1x::Uri; + use http_02x::Uri; use proptest::proptest; #[test] diff --git a/rust-runtime/aws-smithy-http/src/query_writer.rs b/rust-runtime/aws-smithy-http/src/query_writer.rs index d04decb72b..fef41d0830 100644 --- a/rust-runtime/aws-smithy-http/src/query_writer.rs +++ b/rust-runtime/aws-smithy-http/src/query_writer.rs @@ -4,8 +4,8 @@ */ use crate::query::fmt_string as percent_encode_query; -use http_1x::uri::InvalidUri; -use http_1x::Uri; +use http_02x::uri::InvalidUri; +use http_02x::Uri; /// Utility for updating the query string in a [`Uri`]. #[allow(missing_debug_implementations)] @@ -82,7 +82,7 @@ impl QueryWriter { #[cfg(test)] mod test { use super::QueryWriter; - use http_1x::Uri; + use http_02x::Uri; #[test] fn empty_uri() { diff --git a/rust-runtime/aws-smithy-runtime-api/src/http/request.rs b/rust-runtime/aws-smithy-runtime-api/src/http/request.rs index eaf0105d45..701abbfce3 100644 --- a/rust-runtime/aws-smithy-runtime-api/src/http/request.rs +++ b/rust-runtime/aws-smithy-runtime-api/src/http/request.rs @@ -195,13 +195,6 @@ impl TryInto> for Request { } } -#[cfg(feature = "http-1x")] -impl From for Uri { - fn from(value: http_1x::Uri) -> Self { - Uri::from_http1x_uri(value) - } -} - impl Request { /// Converts this request into an http 0.x request. /// diff --git a/rust-runtime/aws-smithy-runtime/Cargo.toml b/rust-runtime/aws-smithy-runtime/Cargo.toml index 38ad79822b..cfab3977ac 100644 --- a/rust-runtime/aws-smithy-runtime/Cargo.toml +++ b/rust-runtime/aws-smithy-runtime/Cargo.toml @@ -31,7 +31,7 @@ wire-mock = ["test-util", "aws-smithy-http-client/wire-mock"] [dependencies] aws-smithy-async = { path = "../aws-smithy-async" } aws-smithy-http = { path = "../aws-smithy-http" } -aws-smithy-runtime-api = { path = "../aws-smithy-runtime-api", features = ["http-1x"] } +aws-smithy-runtime-api = { path = "../aws-smithy-runtime-api" } aws-smithy-types = { path = "../aws-smithy-types", features = ["http-body-0-4-x"] } aws-smithy-http-client = { path = "../aws-smithy-http-client", optional = true } bytes = "1" diff --git a/rust-runtime/aws-smithy-types/src/body/http_body_1_x.rs b/rust-runtime/aws-smithy-types/src/body/http_body_1_x.rs index 8a35e331ae..2f777f4207 100644 --- a/rust-runtime/aws-smithy-types/src/body/http_body_1_x.rs +++ b/rust-runtime/aws-smithy-types/src/body/http_body_1_x.rs @@ -24,8 +24,6 @@ impl SdkBody { SdkBody::from_body_0_4_internal(Http1toHttp04::new(body.map_err(Into::into))) } - // FIXME(hyper1): this method name is confusing at best since it doesn't only return data - // frames pub(crate) fn poll_data_frame( mut self: Pin<&mut Self>, cx: &mut Context<'_>, diff --git a/rust-runtime/inlineable/Cargo.toml b/rust-runtime/inlineable/Cargo.toml index 3770a731a3..2b39b25854 100644 --- a/rust-runtime/inlineable/Cargo.toml +++ b/rust-runtime/inlineable/Cargo.toml @@ -28,9 +28,7 @@ aws-smithy-xml = { path = "../aws-smithy-xml" } bytes = "1" fastrand = "2.0.0" futures-util = "0.3.29" -# FIXME(hyper1) - due to the way codegen generates crate dependencies right now we have to match the codegen names used for theses -http-1x = { package = "http", version = "1" } -http = { package = "http", version = "0.2.9" } +http = "0.2.1" http-body = "0.4" md-5 = "0.10.0" once_cell = "1.16.0"