AWS SDK

AWS SDK

rev. 2e092aa1536c16ae71a89254a610da8d2811618f

Files changed:

tmp-codegen-diff/aws-sdk/sdk/route53/src/operation/get_reusable_delegation_set.rs

@@ -231,231 +291,291 @@
  251    251   
  252    252   
#[allow(unreachable_code, unused_variables)]
  253    253   
#[cfg(test)]
  254    254   
mod get_reusable_delegation_set_test {
  255    255   
  256    256   
    /// This test validates that delegation set id is correctly trimmed
  257    257   
    /// Test ID: GetReusableDelegationSetTrimDelegationSetId
  258    258   
    #[::tokio::test]
  259    259   
    #[::tracing_test::traced_test]
  260    260   
    async fn get_reusable_delegation_set_trim_delegation_set_id_request() {
  261         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         261  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  262    262   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  263    263   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  264    264   
        let mut config_builder = config_builder;
  265    265   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  266    266   
  267    267   
        let config = config_builder.http_client(http_client).build();
  268    268   
        let client = crate::Client::from_conf(config);
  269    269   
        let result = client
  270    270   
            .get_reusable_delegation_set()
  271    271   
            .set_id(::std::option::Option::Some("/delegationset/DELEGATIONSETID".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/route53/src/operation/list_resource_record_sets.rs

@@ -260,260 +320,320 @@
  280    280   
  281    281   
#[allow(unreachable_code, unused_variables)]
  282    282   
#[cfg(test)]
  283    283   
mod list_resource_record_sets_test {
  284    284   
  285    285   
    /// This test validates that hosted zone is correctly trimmed
  286    286   
    /// Test ID: ListResourceRecordSetsTrimHostedZone
  287    287   
    #[::tokio::test]
  288    288   
    #[::tracing_test::traced_test]
  289    289   
    async fn list_resource_record_sets_trim_hosted_zone_request() {
  290         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         290  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  291    291   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  292    292   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  293    293   
        let mut config_builder = config_builder;
  294    294   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  295    295   
  296    296   
        let config = config_builder.http_client(http_client).build();
  297    297   
        let client = crate::Client::from_conf(config);
  298    298   
        let result = client
  299    299   
            .list_resource_record_sets()
  300    300   
            .set_hosted_zone_id(::std::option::Option::Some("/hostedzone/IDOFMYHOSTEDZONE".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml

@@ -1,1 +0,226 @@
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10     10   
rust-version = "1.81.0"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
[package.metadata.docs.rs]
   15     15   
all-features = true
   16     16   
targets = ["x86_64-unknown-linux-gnu"]
   17     17   
[dependencies.aws-credential-types]
   18     18   
path = "../aws-credential-types"
   19         -
version = "1.2.1"
          19  +
version = "1.2.2"
   20     20   
   21     21   
[dependencies.aws-runtime]
   22     22   
path = "../aws-runtime"
   23     23   
features = ["event-stream", "http-02x"]
   24         -
version = "1.5.5"
          24  +
version = "1.5.6"
   25     25   
   26     26   
[dependencies.aws-sigv4]
   27     27   
path = "../aws-sigv4"
   28         -
version = "1.2.9"
          28  +
version = "1.3.0"
   29     29   
   30     30   
[dependencies.aws-smithy-async]
   31     31   
path = "../aws-smithy-async"
   32         -
version = "1.2.4"
          32  +
version = "1.2.5"
   33     33   
   34     34   
[dependencies.aws-smithy-checksums]
   35     35   
path = "../aws-smithy-checksums"
   36         -
version = "0.63.0"
          36  +
version = "0.63.1"
   37     37   
   38     38   
[dependencies.aws-smithy-eventstream]
   39     39   
path = "../aws-smithy-eventstream"
   40         -
version = "0.60.7"
          40  +
version = "0.60.8"
   41     41   
   42     42   
[dependencies.aws-smithy-http]
   43     43   
path = "../aws-smithy-http"
   44     44   
features = ["event-stream"]
   45         -
version = "0.61.1"
          45  +
version = "0.62.0"
   46     46   
   47     47   
[dependencies.aws-smithy-json]
   48     48   
path = "../aws-smithy-json"
   49         -
version = "0.61.2"
          49  +
version = "0.61.3"
   50     50   
   51     51   
[dependencies.aws-smithy-runtime]
   52     52   
path = "../aws-smithy-runtime"
   53     53   
features = ["client"]
   54         -
version = "1.7.8"
          54  +
version = "1.8.0"
   55     55   
   56     56   
[dependencies.aws-smithy-runtime-api]
   57     57   
path = "../aws-smithy-runtime-api"
   58     58   
features = ["client", "http-02x"]
   59         -
version = "1.7.3"
          59  +
version = "1.7.4"
   60     60   
   61     61   
[dependencies.aws-smithy-types]
   62     62   
path = "../aws-smithy-types"
   63         -
version = "1.2.13"
          63  +
version = "1.3.0"
   64     64   
   65     65   
[dependencies.aws-smithy-xml]
   66     66   
path = "../aws-smithy-xml"
   67     67   
version = "0.60.9"
   68     68   
   69     69   
[dependencies.aws-types]
   70     70   
path = "../aws-types"
   71         -
version = "1.3.5"
          71  +
version = "1.3.6"
   72     72   
   73     73   
[dependencies.bytes]
   74     74   
version = "1.4.0"
   75     75   
   76     76   
[dependencies.fastrand]
   77     77   
version = "2.0.0"
   78     78   
   79     79   
[dependencies.hex]
   80     80   
version = "0.4.3"
   81     81   
   82     82   
[dependencies.hmac]
   83     83   
version = "0.12"
   84     84   
   85     85   
[dependencies.http]
   86     86   
version = "0.2.9"
   87     87   
   88     88   
[dependencies.http-1x]
   89     89   
version = "1"
   90         -
optional = true
   91     90   
package = "http"
   92     91   
   93     92   
[dependencies.http-body]
   94     93   
version = "0.4.4"
   95     94   
   96     95   
[dependencies.http-body-1x]
   97     96   
version = "1"
   98     97   
optional = true
   99     98   
package = "http-body"
  100     99   
  101    100   
[dependencies.lru]
  102    101   
version = "0.12.2"
  103    102   
  104    103   
[dependencies.once_cell]
  105    104   
version = "1.16"
  106    105   
  107    106   
[dependencies.percent-encoding]
  108    107   
version = "2.0.0"
  109    108   
  110    109   
[dependencies.regex-lite]
  111    110   
version = "0.1.5"
  112    111   
  113    112   
[dependencies.sha2]
  114    113   
version = "0.10"
  115    114   
  116    115   
[dependencies.tracing]
  117    116   
version = "0.1"
  118    117   
  119    118   
[dependencies.url]
  120    119   
version = "2.3.1"
  121    120   
[dev-dependencies.async-std]
  122    121   
version = "1.12.0"
  123    122   
  124    123   
[dev-dependencies.aws-config]
  125    124   
path = "../aws-config"
  126    125   
features = ["behavior-version-latest"]
  127         -
version = "1.5.18"
         126  +
version = "1.6.0"
  128    127   
  129    128   
[dev-dependencies.aws-credential-types]
  130    129   
path = "../aws-credential-types"
  131    130   
features = ["test-util"]
  132         -
version = "1.2.1"
         131  +
version = "1.2.2"
  133    132   
  134    133   
[dev-dependencies.aws-runtime]
  135    134   
path = "../aws-runtime"
  136    135   
features = ["test-util"]
  137         -
version = "1.5.5"
         136  +
version = "1.5.6"
  138    137   
  139    138   
[dev-dependencies.aws-smithy-async]
  140    139   
path = "../aws-smithy-async"
  141    140   
features = ["test-util"]
  142         -
version = "1.2.4"
         141  +
version = "1.2.5"
  143    142   
  144    143   
[dev-dependencies.aws-smithy-eventstream]
  145    144   
path = "../aws-smithy-eventstream"
  146    145   
features = ["test-util"]
  147         -
version = "0.60.7"
         146  +
version = "0.60.8"
  148    147   
  149         -
[dev-dependencies.aws-smithy-experimental]
  150         -
path = "../aws-smithy-experimental"
  151         -
features = ["crypto-ring"]
  152         -
version = "0.1.5"
         148  +
[dev-dependencies.aws-smithy-http-client]
         149  +
path = "../aws-smithy-http-client"
         150  +
features = ["test-util", "wire-mock", "rustls-ring"]
         151  +
version = "1.0.0"
  153    152   
  154    153   
[dev-dependencies.aws-smithy-protocol-test]
  155    154   
path = "../aws-smithy-protocol-test"
  156         -
version = "0.63.0"
         155  +
version = "0.63.1"
  157    156   
  158    157   
[dev-dependencies.aws-smithy-runtime]
  159    158   
path = "../aws-smithy-runtime"
  160         -
features = ["test-util", "wire-mock", "client"]
  161         -
version = "1.7.8"
         159  +
features = ["test-util"]
         160  +
version = "1.8.0"
  162    161   
  163    162   
[dev-dependencies.aws-smithy-runtime-api]
  164    163   
path = "../aws-smithy-runtime-api"
  165    164   
features = ["test-util", "client", "http-02x"]
  166         -
version = "1.7.3"
         165  +
version = "1.7.4"
  167    166   
  168    167   
[dev-dependencies.aws-smithy-types]
  169    168   
path = "../aws-smithy-types"
  170    169   
features = ["test-util"]
  171         -
version = "1.2.13"
         170  +
version = "1.3.0"
  172    171   
  173    172   
[dev-dependencies.bytes-utils]
  174    173   
version = "0.1.0"
  175    174   
  176    175   
[dev-dependencies.futures-util]
  177    176   
version = "0.3.25"
  178    177   
features = ["alloc"]
  179    178   
default-features = false
  180    179   
  181    180   
[dev-dependencies.hdrhistogram]
  182    181   
version = "7.5.2"
  183    182   
         183  +
[dev-dependencies.http-body-1x]
         184  +
version = "1"
         185  +
package = "http-body"
         186  +
  184    187   
[dev-dependencies.pretty_assertions]
  185    188   
version = "1.3.0"
  186    189   
  187    190   
[dev-dependencies.proptest]
  188    191   
version = "1"
  189    192   
  190    193   
[dev-dependencies.serde_json]
  191    194   
version = "1.0.0"
  192    195   
  193    196   
[dev-dependencies.smol]
  194    197   
version = "1.2.0"
  195    198   
  196    199   
[dev-dependencies.tempfile]
  197    200   
version = "3.2.0"
  198    201   
  199    202   
[dev-dependencies.tokio]
  200    203   
version = "1.23.1"
  201    204   
features = ["macros", "test-util", "rt-multi-thread"]
  202    205   
  203    206   
[dev-dependencies.tracing-appender]
  204    207   
version = "0.2.2"
  205    208   
  206    209   
[dev-dependencies.tracing-subscriber]
  207    210   
version = "0.3.16"
  208    211   
features = ["env-filter", "json"]
  209    212   
  210    213   
[dev-dependencies.tracing-test]
  211    214   
version = "0.2.5"
  212    215   
features = ["no-env-filter"]
  213    216   
  214    217   
[features]
  215    218   
sigv4a = ["aws-runtime/sigv4a"]
  216         -
http-1x = ["dep:http-1x", "dep:http-body-1x", "aws-smithy-runtime-api/http-1x"]
         219  +
http-1x = ["dep:http-body-1x", "aws-smithy-runtime-api/http-1x"]
  217    220   
behavior-version-latest = []
  218    221   
rustls = ["aws-smithy-runtime/tls-rustls"]
         222  +
default-https-client = ["aws-smithy-runtime/default-https-client"]
  219    223   
test-util = ["aws-credential-types/test-util", "aws-smithy-runtime/test-util"]
  220    224   
rt-tokio = ["aws-smithy-async/rt-tokio", "aws-smithy-types/rt-tokio"]
  221    225   
gated-tests = []
  222         -
default = ["sigv4a", "rustls", "rt-tokio"]
         226  +
default = ["sigv4a", "rustls", "default-https-client", "rt-tokio"]

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/create_multipart_upload.rs

@@ -276,276 +336,336 @@
  296    296   
  297    297   
#[allow(unreachable_code, unused_variables)]
  298    298   
#[cfg(test)]
  299    299   
mod create_multipart_upload_test {
  300    300   
  301    301   
    /// This test validates that the URI for CreateMultipartUpload is created correctly
  302    302   
    /// Test ID: CreateMultipartUploadUriConstruction
  303    303   
    #[::tokio::test]
  304    304   
    #[::tracing_test::traced_test]
  305    305   
    async fn create_multipart_upload_uri_construction_request() {
  306         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         306  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  307    307   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  308    308   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  309    309   
        let mut config_builder = config_builder;
  310    310   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  311    311   
  312    312   
        let config = config_builder.http_client(http_client).build();
  313    313   
        let client = crate::Client::from_conf(config);
  314    314   
        let result = client
  315    315   
            .create_multipart_upload()
  316    316   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/delete_object_tagging.rs

@@ -261,261 +358,358 @@
  281    281   
#[cfg(test)]
  282    282   
mod delete_object_tagging_test {
  283    283   
  284    284   
    /// S3 clients should escape special characters in Object Keys
  285    285   
    /// when the Object Key is used as a URI label binding.
  286    286   
    ///
  287    287   
    /// Test ID: S3EscapeObjectKeyInUriLabel
  288    288   
    #[::tokio::test]
  289    289   
    #[::tracing_test::traced_test]
  290    290   
    async fn s3_escape_object_key_in_uri_label_request() {
  291         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         291  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  292    292   
        let config_builder = crate::config::Config::builder()
  293    293   
            .with_test_defaults()
  294    294   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  295    295   
  296    296   
        let mut config_builder = config_builder;
  297    297   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  298    298   
  299    299   
        let config = config_builder.http_client(http_client).build();
  300    300   
        let client = crate::Client::from_conf(config);
  301    301   
        let result = client
  302    302   
            .delete_object_tagging()
  303    303   
            .set_bucket(::std::option::Option::Some("mybucket".to_owned()))
  304    304   
            .set_key(::std::option::Option::Some("my key.txt".to_owned()))
  305    305   
            .send()
  306    306   
            .await;
  307    307   
        let _ = dbg!(result);
  308    308   
        let http_request = request_receiver.expect_request();
  309    309   
        let expected_query_params = &["tagging"];
  310    310   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_query_string(&http_request, expected_query_params));
  311    311   
        let body = http_request.body().bytes().expect("body should be strict");
  312    312   
        // No body.
  313    313   
        ::pretty_assertions::assert_eq!(&body, &bytes::Bytes::new());
  314    314   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  315    315   
        ::pretty_assertions::assert_eq!(http_request.method(), "DELETE", "method was incorrect");
  316    316   
        ::pretty_assertions::assert_eq!(uri.path(), "/my%20key.txt", "path was incorrect");
  317    317   
        ::pretty_assertions::assert_eq!(uri.host().expect("host should be set"), "mybucket.s3.us-west-2.amazonaws.com");
  318    318   
    }
  319    319   
  320    320   
    /// S3 clients should preserve an Object Key representing a path
  321    321   
    /// when the Object Key is used as a URI label binding, but still
  322    322   
    /// escape special characters.
  323    323   
    ///
  324    324   
    /// Test ID: S3EscapePathObjectKeyInUriLabel
  325    325   
    #[::tokio::test]
  326    326   
    #[::tracing_test::traced_test]
  327    327   
    async fn s3_escape_path_object_key_in_uri_label_request() {
  328         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         328  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  329    329   
        let config_builder = crate::config::Config::builder()
  330    330   
            .with_test_defaults()
  331    331   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  332    332   
  333    333   
        let mut config_builder = config_builder;
  334    334   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  335    335   
  336    336   
        let config = config_builder.http_client(http_client).build();
  337    337   
        let client = crate::Client::from_conf(config);
  338    338   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/get_object.rs

@@ -362,362 +487,487 @@
  382    382   
  383    383   
#[allow(unreachable_code, unused_variables)]
  384    384   
#[cfg(test)]
  385    385   
mod get_object_test {
  386    386   
  387    387   
    /// https://github.com/awslabs/aws-sdk-rust/issues/818
  388    388   
    /// Test ID: GetObjectIfModifiedSince
  389    389   
    #[::tokio::test]
  390    390   
    #[::tracing_test::traced_test]
  391    391   
    async fn get_object_if_modified_since_request() {
  392         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         392  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  393    393   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  394    394   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  395    395   
        let mut config_builder = config_builder;
  396    396   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  397    397   
  398    398   
        let config = config_builder.http_client(http_client).build();
  399    399   
        let client = crate::Client::from_conf(config);
  400    400   
        let result = client
  401    401   
            .get_object()
  402    402   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))
  403    403   
            .set_key(::std::option::Option::Some("object.txt".to_owned()))
  404    404   
            .set_if_modified_since(::std::option::Option::Some(::aws_smithy_types::DateTime::from_fractional_secs(
  405    405   
                1626452453, 0.123_f64,
  406    406   
            )))
  407    407   
            .send()
  408    408   
            .await;
  409    409   
        let _ = dbg!(result);
  410    410   
        let http_request = request_receiver.expect_request();
  411    411   
        let expected_headers = [("if-modified-since", "Fri, 16 Jul 2021 16:20:53 GMT")];
  412    412   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  413    413   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  414    414   
        ::pretty_assertions::assert_eq!(http_request.method(), "GET", "method was incorrect");
  415    415   
        ::pretty_assertions::assert_eq!(uri.path(), "/object.txt", "path was incorrect");
  416    416   
    }
  417    417   
  418    418   
    /// S3 clients should not remove dot segments from request paths.
  419    419   
    ///
  420    420   
    /// Test ID: S3PreservesLeadingDotSegmentInUriLabel
  421    421   
    #[::tokio::test]
  422    422   
    #[::tracing_test::traced_test]
  423    423   
    async fn s3_preserves_leading_dot_segment_in_uri_label_request() {
  424         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         424  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  425    425   
        let config_builder = crate::config::Config::builder()
  426    426   
            .with_test_defaults()
  427    427   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  428    428   
  429    429   
        let mut config_builder = config_builder;
  430    430   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  431    431   
  432    432   
        let config = config_builder.http_client(http_client).build();
  433    433   
        let client = crate::Client::from_conf(config);
  434    434   
        let result = client
  435    435   
            .get_object()
  436    436   
            .set_bucket(::std::option::Option::Some("mybucket".to_owned()))
  437    437   
            .set_key(::std::option::Option::Some("../key.txt".to_owned()))
  438    438   
            .send()
  439    439   
            .await;
  440    440   
        let _ = dbg!(result);
  441    441   
        let http_request = request_receiver.expect_request();
  442    442   
        let body = http_request.body().bytes().expect("body should be strict");
  443    443   
        // No body.
  444    444   
        ::pretty_assertions::assert_eq!(&body, &bytes::Bytes::new());
  445    445   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  446    446   
        ::pretty_assertions::assert_eq!(http_request.method(), "GET", "method was incorrect");
  447    447   
        ::pretty_assertions::assert_eq!(uri.path(), "/../key.txt", "path was incorrect");
  448    448   
        ::pretty_assertions::assert_eq!(uri.host().expect("host should be set"), "mybucket.s3.us-west-2.amazonaws.com");
  449    449   
    }
  450    450   
  451    451   
    /// S3 clients should not remove dot segments from request paths.
  452    452   
    ///
  453    453   
    /// Test ID: S3PreservesEmbeddedDotSegmentInUriLabel
  454    454   
    #[::tokio::test]
  455    455   
    #[::tracing_test::traced_test]
  456    456   
    async fn s3_preserves_embedded_dot_segment_in_uri_label_request() {
  457         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         457  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  458    458   
        let config_builder = crate::config::Config::builder()
  459    459   
            .with_test_defaults()
  460    460   
            .endpoint_url("https://s3.us-west-2.amazonaws.com");
  461    461   
  462    462   
        let mut config_builder = config_builder;
  463    463   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  464    464   
  465    465   
        let config = config_builder.http_client(http_client).build();
  466    466   
        let client = crate::Client::from_conf(config);
  467    467   
        let result = client

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/head_object.rs

@@ -311,311 +371,371 @@
  331    331   
  332    332   
#[allow(unreachable_code, unused_variables)]
  333    333   
#[cfg(test)]
  334    334   
mod head_object_test {
  335    335   
  336    336   
    /// https://github.com/awslabs/aws-sdk-rust/issues/331
  337    337   
    /// Test ID: HeadObjectUriEncoding
  338    338   
    #[::tokio::test]
  339    339   
    #[::tracing_test::traced_test]
  340    340   
    async fn head_object_uri_encoding_request() {
  341         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         341  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  342    342   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  343    343   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  344    344   
        let mut config_builder = config_builder;
  345    345   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  346    346   
  347    347   
        let config = config_builder.http_client(http_client).build();
  348    348   
        let client = crate::Client::from_conf(config);
  349    349   
        let result = client
  350    350   
            .head_object()
  351    351   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/put_bucket_lifecycle_configuration.rs

@@ -335,335 +395,395 @@
  355    355   
  356    356   
#[allow(unreachable_code, unused_variables)]
  357    357   
#[cfg(test)]
  358    358   
mod put_bucket_lifecycle_configuration_test {
  359    359   
  360    360   
    /// This test validates that the content md5 header is set correctly
  361    361   
    /// Test ID: PutBucketLifecycleConfiguration
  362    362   
    #[::tokio::test]
  363    363   
    #[::tracing_test::traced_test]
  364    364   
    async fn put_bucket_lifecycle_configuration_request() {
  365         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         365  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  366    366   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  367    367   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  368    368   
        let mut config_builder = config_builder;
  369    369   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  370    370   
  371    371   
        let config = config_builder.http_client(http_client).build();
  372    372   
        let client = crate::Client::from_conf(config);
  373    373   
        let result = client
  374    374   
            .put_bucket_lifecycle_configuration()
  375    375   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/s3/src/operation/put_object.rs

@@ -330,330 +419,419 @@
  350    350   
  351    351   
#[allow(unreachable_code, unused_variables)]
  352    352   
#[cfg(test)]
  353    353   
mod put_object_test {
  354    354   
  355    355   
    /// This test validates that if a content-type is specified, that only one content-type header is sent
  356    356   
    /// Test ID: DontSendDuplicateContentType
  357    357   
    #[::tokio::test]
  358    358   
    #[::tracing_test::traced_test]
  359    359   
    async fn dont_send_duplicate_content_type_request() {
  360         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         360  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  361    361   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  362    362   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  363    363   
        let mut config_builder = config_builder;
  364    364   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  365    365   
  366    366   
        let config = config_builder.http_client(http_client).build();
  367    367   
        let client = crate::Client::from_conf(config);
  368    368   
        let result = client
  369    369   
            .put_object()
  370    370   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))
  371    371   
            .set_key(::std::option::Option::Some("test-key".to_owned()))
  372    372   
            .set_content_type(::std::option::Option::Some("text/html".to_owned()))
  373    373   
            .send()
  374    374   
            .await;
  375    375   
        let _ = dbg!(result);
  376    376   
        let http_request = request_receiver.expect_request();
  377    377   
        let expected_headers = [("content-type", "text/html")];
  378    378   
        ::aws_smithy_protocol_test::assert_ok(::aws_smithy_protocol_test::validate_headers(http_request.headers(), expected_headers));
  379    379   
        let uri: ::http::Uri = http_request.uri().parse().expect("invalid URI sent");
  380    380   
        ::pretty_assertions::assert_eq!(http_request.method(), "PUT", "method was incorrect");
  381    381   
        ::pretty_assertions::assert_eq!(uri.path(), "/test-key", "path was incorrect");
  382    382   
    }
  383    383   
  384    384   
    /// This test validates that if a content-length is specified, that only one content-length header is sent
  385    385   
    /// Test ID: DontSendDuplicateContentLength
  386    386   
    #[::tokio::test]
  387    387   
    #[::tracing_test::traced_test]
  388    388   
    async fn dont_send_duplicate_content_length_request() {
  389         -
        let (http_client, request_receiver) = ::aws_smithy_runtime::client::http::test_util::capture_request(None);
         389  +
        let (http_client, request_receiver) = ::aws_smithy_http_client::test_util::capture_request(None);
  390    390   
        let config_builder = crate::config::Config::builder().with_test_defaults().endpoint_url("https://example.com");
  391    391   
        let config_builder = config_builder.region(::aws_types::region::Region::new("us-east-1"));
  392    392   
        let mut config_builder = config_builder;
  393    393   
        config_builder.set_region(Some(crate::config::Region::new("us-east-1")));
  394    394   
  395    395   
        let config = config_builder.http_client(http_client).build();
  396    396   
        let client = crate::Client::from_conf(config);
  397    397   
        let result = client
  398    398   
            .put_object()
  399    399   
            .set_bucket(::std::option::Option::Some("test-bucket".to_owned()))

tmp-codegen-diff/aws-sdk/sdk/s3/tests/alternative-async-runtime.rs

@@ -1,1 +46,46 @@
    6      6   
use aws_config::retry::RetryConfig;
    7      7   
use aws_credential_types::provider::SharedCredentialsProvider;
    8      8   
use aws_sdk_s3::config::{Credentials, Region, StalledStreamProtectionConfig};
    9      9   
use aws_sdk_s3::types::{
   10     10   
    CompressionType, CsvInput, CsvOutput, ExpressionType, FileHeaderInfo, InputSerialization,
   11     11   
    OutputSerialization,
   12     12   
};
   13     13   
use aws_sdk_s3::{Client, Config};
   14     14   
use aws_smithy_async::assert_elapsed;
   15     15   
use aws_smithy_async::rt::sleep::{AsyncSleep, SharedAsyncSleep, Sleep};
   16         -
use aws_smithy_runtime::client::http::test_util::NeverClient;
          16  +
use aws_smithy_http_client::test_util::NeverClient;
   17     17   
use aws_smithy_runtime::test_util::capture_test_logs::capture_test_logs;
   18     18   
use aws_smithy_runtime_api::client::result::SdkError;
   19     19   
use aws_smithy_types::error::display::DisplayErrorContext;
   20     20   
use aws_smithy_types::timeout::TimeoutConfig;
   21     21   
use std::fmt::Debug;
   22     22   
use std::time::{Duration, Instant};
   23     23   
   24     24   
#[derive(Debug)]
   25     25   
struct SmolSleep;
   26     26   

tmp-codegen-diff/aws-sdk/sdk/s3/tests/body_size_hint.rs

@@ -1,1 +58,58 @@
    4      4   
 */
    5      5   
    6      6   
//! Body wrappers must pass through size_hint
    7      7   
    8      8   
use aws_config::SdkConfig;
    9      9   
use aws_sdk_s3::{
   10     10   
    config::{Credentials, Region, SharedCredentialsProvider},
   11     11   
    primitives::{ByteStream, SdkBody},
   12     12   
    Client,
   13     13   
};
   14         -
use aws_smithy_runtime::client::http::test_util::{capture_request, infallible_client_fn};
   15         -
use http_body::Body;
          14  +
use aws_smithy_http_client::test_util::{capture_request, infallible_client_fn};
          15  +
use http_body_1x::Body;
   16     16   
   17     17   
#[tokio::test]
   18     18   
async fn download_body_size_hint_check() {
   19     19   
    let test_body_content = b"hello";
   20     20   
    let test_body = || SdkBody::from(&test_body_content[..]);
   21     21   
    assert_eq!(
   22     22   
        Some(test_body_content.len() as u64),
   23     23   
        (test_body)().size_hint().exact(),
   24     24   
        "pre-condition check"
   25     25   
    );
   26     26   
   27     27   
    let http_client = infallible_client_fn(move |_| {
   28         -
        http::Response::builder()
          28  +
        http_1x::Response::builder()
   29     29   
            .status(200)
   30     30   
            .body((test_body)())
   31     31   
            .unwrap()
   32     32   
    });
   33     33   
    let sdk_config = SdkConfig::builder()
   34     34   
        .credentials_provider(SharedCredentialsProvider::new(Credentials::for_tests()))
   35     35   
        .region(Region::new("us-east-1"))
   36     36   
        .http_client(http_client)
   37     37   
        .build();
   38     38   
    let client = Client::new(&sdk_config);

tmp-codegen-diff/aws-sdk/sdk/s3/tests/bucket-required.rs

@@ -1,1 +29,29 @@
    1      1   
/*
    2      2   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    3      3   
 * SPDX-License-Identifier: Apache-2.0
    4      4   
 */
    5      5   
    6      6   
use aws_config::SdkConfig;
    7      7   
use aws_credential_types::provider::SharedCredentialsProvider;
    8      8   
use aws_sdk_s3::config::{Credentials, Region, StalledStreamProtectionConfig};
    9      9   
use aws_sdk_s3::Client;
   10         -
use aws_smithy_runtime::client::http::test_util::capture_request;
          10  +
use aws_smithy_http_client::test_util::capture_request;
   11     11   
   12     12   
#[tokio::test]
   13     13   
async fn dont_dispatch_when_bucket_is_unset() {
   14     14   
    let (http_client, rcvr) = capture_request(None);
   15     15   
    let sdk_config = SdkConfig::builder()
   16     16   
        .credentials_provider(SharedCredentialsProvider::new(Credentials::for_tests()))
   17     17   
        .region(Region::new("us-east-1"))
   18     18   
        .stalled_stream_protection(StalledStreamProtectionConfig::disabled())
   19     19   
        .http_client(http_client.clone())
   20     20   
        .build();

tmp-codegen-diff/aws-sdk/sdk/s3/tests/business_metrics.rs

@@ -1,1 +45,45 @@
    5      5   
    6      6   
use aws_config::Region;
    7      7   
use aws_runtime::{
    8      8   
    sdk_feature::AwsSdkFeature, user_agent::test_util::assert_ua_contains_metric_values,
    9      9   
};
   10     10   
use aws_sdk_s3::{
   11     11   
    config::{Intercept, IntoShared},
   12     12   
    primitives::ByteStream,
   13     13   
    Client, Config,
   14     14   
};
   15         -
use aws_smithy_runtime::client::http::test_util::capture_request;
          15  +
use aws_smithy_http_client::test_util::capture_request;
   16     16   
   17     17   
#[derive(Debug)]
   18     18   
struct TransferManagerFeatureInterceptor;
   19     19   
   20     20   
impl Intercept for TransferManagerFeatureInterceptor {
   21     21   
    fn name(&self) -> &'static str {
   22     22   
        "TransferManagerFeature"
   23     23   
    }
   24     24   
   25     25   
    fn read_before_execution(

tmp-codegen-diff/aws-sdk/sdk/s3/tests/checksums.rs

@@ -1,1 +97,96 @@
    1      1   
/*
    2      2   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    3      3   
 * SPDX-License-Identifier: Apache-2.0
    4      4   
 */
    5      5   
    6      6   
#![cfg(feature = "test-util")]
    7      7   
    8      8   
use aws_config::SdkConfig;
    9      9   
use aws_credential_types::provider::SharedCredentialsProvider;
   10     10   
use aws_sdk_s3::config::{Credentials, Region, StalledStreamProtectionConfig};
          11  +
use aws_sdk_s3::primitives::ByteStream;
   11     12   
use aws_sdk_s3::types::ChecksumMode;
   12     13   
use aws_sdk_s3::{operation::get_object::GetObjectOutput, types::ChecksumAlgorithm};
   13     14   
use aws_sdk_s3::{Client, Config};
   14         -
use aws_smithy_runtime::client::http::test_util::{
   15         -
    capture_request, ReplayEvent, StaticReplayClient,
   16         -
};
          15  +
use aws_smithy_http_client::test_util::{capture_request, ReplayEvent, StaticReplayClient};
   17     16   
use aws_smithy_types::body::SdkBody;
   18         -
use http::header::AUTHORIZATION;
   19         -
use http::{HeaderValue, Uri};
          17  +
use http_1x::header::AUTHORIZATION;
          18  +
use http_1x::{HeaderValue, Uri};
   20     19   
use std::time::{Duration, UNIX_EPOCH};
   21     20   
use tracing_test::traced_test;
   22     21   
   23     22   
/// Test connection for the movies IT
   24     23   
/// headers are signed with actual creds, at some point we could replace them with verifiable test
   25     24   
/// credentials, but there are plenty of other tests that target signing
   26     25   
fn new_checksum_validated_response_test_connection(
   27     26   
    checksum_header_name: &'static str,
   28     27   
    checksum_header_value: &'static str,
   29     28   
) -> StaticReplayClient {
   30     29   
    StaticReplayClient::new(vec![ReplayEvent::new(
   31         -
        http::Request::builder()
          30  +
        http_1x::Request::builder()
   32     31   
            .header("x-amz-checksum-mode", "ENABLED")
   33     32   
            .header(
   34     33   
                "user-agent",
   35     34   
                "aws-sdk-rust/0.123.test os/windows/XPSP3 lang/rust/1.50.0",
   36     35   
            )
   37     36   
            .header("x-amz-date", "20090213T233130Z")
   38     37   
            .header(
   39     38   
                "x-amz-content-sha256",
   40     39   
                "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
   41     40   
            )
   42     41   
            .header(
   43     42   
                "x-amz-user-agent",
   44     43   
                "aws-sdk-rust/0.123.test api/test-service/0.123 os/windows/XPSP3 lang/rust/1.50.0",
   45     44   
            )
   46     45   
            .header("authorization", "not-relevant")
   47     46   
            .uri(Uri::from_static(
   48     47   
                "https://some-test-bucket.s3.us-east-1.amazonaws.com/test.txt?x-id=GetObject",
   49     48   
            ))
   50     49   
            .body(SdkBody::empty())
   51     50   
            .unwrap(),
   52         -
        http::Response::builder()
          51  +
        http_1x::Response::builder()
   53     52   
            .header("x-amz-request-id", "4B4NGF0EAWN0GE63")
   54     53   
            .header("content-length", "11")
   55     54   
            .header("etag", "\"3e25960a79dbc69b674cd4ec67a72c62\"")
   56     55   
            .header(checksum_header_name, checksum_header_value)
   57     56   
            .header("content-type", "application/octet-stream")
   58     57   
            .header("server", "AmazonS3")
   59     58   
            .header("content-encoding", "")
   60     59   
            .header("last-modified", "Tue, 21 Jun 2022 16:29:14 GMT")
   61     60   
            .header("date", "Tue, 21 Jun 2022 16:29:23 GMT")
   62     61   
            .header(
   63     62   
                "x-amz-id-2",
   64     63   
                "kPl+IVVZAwsN8ePUyQJZ40WD9dzaqtr4eNESArqE68GSKtVvuvCTDe+SxhTT+JTUqXB1HL4OxNM=",
   65     64   
            )
   66     65   
            .header("accept-ranges", "bytes")
   67         -
            .status(http::StatusCode::from_u16(200).unwrap())
          66  +
            .status(http_1x::StatusCode::from_u16(200).unwrap())
   68     67   
            .body(SdkBody::from(r#"Hello world"#))
   69     68   
            .unwrap(),
   70     69   
    )])
   71     70   
}
   72     71   
   73     72   
async fn test_checksum_on_streaming_response(
   74     73   
    checksum_header_name: &'static str,
   75     74   
    checksum_header_value: &'static str,
   76     75   
) -> GetObjectOutput {
   77     76   
    let http_client = new_checksum_validated_response_test_connection(
@@ -292,291 +424,423 @@
  312    311   
        b"Hello world",
  313    312   
        ChecksumAlgorithm::Sha256,
  314    313   
        "x-amz-checksum-sha256",
  315    314   
        "11",
  316    315   
        &expected_encoded_content_length,
  317    316   
        expected_aws_chunked_encoded_body,
  318    317   
    )
  319    318   
    .await
  320    319   
}
  321    320   
  322         -
async fn collect_body_into_string(mut body: aws_smithy_types::body::SdkBody) -> String {
         321  +
async fn collect_body_into_string(body: aws_smithy_types::body::SdkBody) -> String {
  323    322   
    use bytes::Buf;
  324    323   
    use bytes_utils::SegmentedBuf;
  325         -
    use http_body::Body;
  326    324   
    use std::io::Read;
  327    325   
         326  +
    let mut stream = ByteStream::new(body);
  328    327   
    let mut output = SegmentedBuf::new();
  329         -
    while let Some(buf) = body.data().await {
         328  +
    while let Some(buf) = stream.next().await {
  330    329   
        output.push(buf.unwrap());
  331    330   
    }
  332    331   
  333    332   
    let mut output_text = String::new();
  334    333   
    output
  335    334   
        .reader()
  336    335   
        .read_to_string(&mut output_text)
  337    336   
        .expect("Doesn't cause IO errors");
  338    337   
  339    338   
    output_text
  340    339   
}
  341    340   
  342    341   
#[tokio::test]
  343    342   
#[traced_test]
  344    343   
async fn test_get_multipart_upload_part_checksum_validation() {
  345    344   
    let expected_checksum = "cpjwid==-12";
  346    345   
    let (http_client, rcvr) = capture_request(Some(
  347         -
        http::Response::builder()
         346  +
        http_1x::Response::builder()
  348    347   
            .header("etag", "\"3e25960a79dbc69b674cd4ec67a72c62\"")
  349    348   
            .header("x-amz-checksum-crc32", expected_checksum)
  350    349   
            .body(SdkBody::empty())
  351    350   
            .unwrap(),
  352    351   
    ));
  353    352   
    let sdk_config = SdkConfig::builder()
  354    353   
        .credentials_provider(SharedCredentialsProvider::new(Credentials::for_tests()))
  355    354   
        .region(Region::new("us-east-1"))
  356    355   
        .http_client(http_client.clone())
  357    356   
        .stalled_stream_protection(StalledStreamProtectionConfig::disabled())
  358    357   
        .build();
  359    358   
    let client = Client::new(&sdk_config);
  360    359   
  361    360   
    // The response from the fake connection won't return the expected XML but we don't care about
  362    361   
    // that error in this test
  363    362   
    let res = client
  364    363   
        .get_object()
  365    364   
        .bucket("test-bucket")
  366    365   
        .key("test.txt")
  367    366   
        .checksum_mode(ChecksumMode::Enabled)
  368    367   
        .send()
  369    368   
        .await
  370    369   
        .expect("request should succeed, despite the non-base64-decodable checksum");
  371    370   
  372    371   
    let _req = rcvr.expect_request();
  373    372   
  374    373   
    let actual_checksum = res.checksum_crc32().unwrap();
  375    374   
    assert_eq!(expected_checksum, actual_checksum);
  376    375   
  377    376   
    logs_assert(|lines: &[&str]| {
  378    377   
        let checksum_warning = lines.iter().find(|&&line| {
  379    378   
            line.contains("This checksum is a part-level checksum which can't be validated by the Rust SDK. Disable checksum validation for this request to fix this warning.")
  380    379   
        });
  381    380   
  382    381   
        match checksum_warning {
  383    382   
            Some(_) => Ok(()),
  384    383   
            None => Err("Checksum warning was not issued".to_string()),
  385    384   
        }
  386    385   
    });
  387    386   
}
  388    387   
  389    388   
#[tokio::test]
  390    389   
#[traced_test]
  391    390   
async fn test_response_checksum_ignores_invalid_base64() {
  392    391   
    let expected_checksum = "{}{!!#{})!{)@$(}";
  393    392   
    let (http_client, rcvr) = capture_request(Some(
  394         -
        http::Response::builder()
         393  +
        http_1x::Response::builder()
  395    394   
            .header("etag", "\"3e25960a79dbc69b674cd4ec67a72c62\"")
  396    395   
            .header("x-amz-checksum-crc32", expected_checksum)
  397    396   
            .body(SdkBody::empty())
  398    397   
            .unwrap(),
  399    398   
    ));
  400    399   
    let sdk_config = SdkConfig::builder()
  401    400   
        .credentials_provider(SharedCredentialsProvider::new(Credentials::for_tests()))
  402    401   
        .stalled_stream_protection(StalledStreamProtectionConfig::disabled())
  403    402   
        .region(Region::new("us-east-1"))
  404    403   
        .http_client(http_client.clone())

tmp-codegen-diff/aws-sdk/sdk/s3/tests/config-override.rs

@@ -1,1 +39,39 @@
    1      1   
/*
    2      2   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    3      3   
 * SPDX-License-Identifier: Apache-2.0
    4      4   
 */
    5      5   
    6      6   
use aws_credential_types::provider::SharedCredentialsProvider;
    7      7   
use aws_sdk_s3::config::{Credentials, Region};
    8      8   
use aws_sdk_s3::Client;
    9         -
use aws_smithy_runtime::client::http::test_util::{capture_request, CaptureRequestReceiver};
           9  +
use aws_smithy_http_client::test_util::{capture_request, CaptureRequestReceiver};
   10     10   
use aws_types::SdkConfig;
   11     11   
   12     12   
fn test_client() -> (CaptureRequestReceiver, Client) {
   13     13   
    let (http_client, captured_request) = capture_request(None);
   14     14   
    let sdk_config = SdkConfig::builder()
   15     15   
        .credentials_provider(SharedCredentialsProvider::new(Credentials::for_tests()))
   16     16   
        .region(Region::new("us-west-2"))
   17     17   
        .http_client(http_client)
   18     18   
        .build();
   19     19   
    let client = Client::new(&sdk_config);

tmp-codegen-diff/aws-sdk/sdk/s3/tests/content-length-enforcement.rs

@@ -1,1 +37,37 @@
    1      1   
/*
    2      2   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    3      3   
 * SPDX-License-Identifier: Apache-2.0
    4      4   
 */
    5      5   
    6      6   
use aws_sdk_s3::{config::Region, error::DisplayErrorContext, Client, Config};
    7         -
use aws_smithy_runtime::client::http::test_util::dvr::ReplayingClient;
           7  +
use aws_smithy_http_client::test_util::dvr::ReplayingClient;
    8      8   
    9      9   
#[tokio::test]
   10     10   
async fn test_content_length_enforcement_is_not_applied_to_head_request() {
   11     11   
    let http_client =
   12     12   
        ReplayingClient::from_file("tests/data/content-length-enforcement/head-object.json")
   13     13   
            .expect("recorded HTTP communication exists");
   14     14   
    let config = Config::builder()
   15     15   
        .with_test_defaults()
   16     16   
        .http_client(http_client.clone())
   17     17   
        .region(Region::new("us-east-1"))