mirror of https://github.com/smithy-lang/smithy-rs
1cecc3baa6
## Description <!--- Describe your changes in detail --> This PR includes several fixes for request compression: - `aws_smithy_compression::body::compress::CompressedBody` will no longer incorrectly return the inner body's `SizeHint`, returning `SizeHint::default()` instead. - Fixed a bug where compressed payloads would have an incorrect content length, causing those requests to hang. - Compress in-memory request payloads instead of the previous lazy approach. ## Testing <!--- Please describe in detail how you tested your changes --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> Tests are included. Additionally, I ran a reproducer for a user issues to ensure that their use case works: ``` #[tokio::test] async fn use_case_reproducer() { tracing_subscriber::fmt::init(); let shared_config = aws_config::from_env() .region(aws_sdk_cloudwatch::config::Region::new("us-west-2")) .load() .await; let service_config = aws_sdk_cloudwatch::config::Config::from(&shared_config) .to_builder() .request_min_compression_size_bytes(1) .build(); let client = Client::from_conf(service_config); tracing::info!("sending metrics..."); client .put_metric_data() .namespace("CloudWatchTestMetricsBrivinc") .metric_data( aws_sdk_cloudwatch::types::MetricDatum::builder() .metric_name(format!("MyMetricNameIsALittleLong")) .value(0.0) .build(), ) .send() .await .unwrap(); } ``` ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._ --------- Co-authored-by: ysaito1001 <awsaito@amazon.com> |
||
---|---|---|
.. | ||
aws-smithy-async | ||
aws-smithy-cbor | ||
aws-smithy-checksums | ||
aws-smithy-client | ||
aws-smithy-compression | ||
aws-smithy-eventstream | ||
aws-smithy-experimental | ||
aws-smithy-http | ||
aws-smithy-http-auth | ||
aws-smithy-http-server | ||
aws-smithy-http-server-python | ||
aws-smithy-http-server-typescript | ||
aws-smithy-http-tower | ||
aws-smithy-json | ||
aws-smithy-mocks-experimental | ||
aws-smithy-protocol-test | ||
aws-smithy-query | ||
aws-smithy-runtime | ||
aws-smithy-runtime-api | ||
aws-smithy-types | ||
aws-smithy-types-convert | ||
aws-smithy-wasm | ||
aws-smithy-xml | ||
inlineable | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
build.gradle.kts | ||
clippy.toml |