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> |
||
---|---|---|
.. | ||
benches | ||
fuzz | ||
proptest-regressions/instant | ||
src | ||
test_data | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
additional-ci | ||
external-types.toml |
README.md
Fundamental Types for Smithy Services
This crate implements fundamental types shared across all service clients generated by smithy-rs. Generally, you should not need to take a direct dependency on this crate as service clients should publicly re-export the types when used.
This crate is part of the AWS SDK for Rust and the smithy-rs code generator. In most cases, it should not be used directly.