Client Test

Client Test

rev. 91bfa30069abdbd8a8723a357243311fac92fdec

Files changed:

tmp-codegen-diff/codegen-client-test/rpcv2Cbor_extras/rust-client-codegen/Cargo.toml

@@ -13,13 +69,66 @@
   33     33   
version = "2.0.0"
   34     34   
[dependencies.futures-util]
   35     35   
version = "0.3.25"
   36     36   
features = ["alloc"]
   37     37   
default-features = false
   38     38   
[dependencies.http]
   39     39   
version = "0.2.9"
   40     40   
[dependencies.http-1x]
   41     41   
version = "1"
   42     42   
package = "http"
   43         -
[dependencies.http-body-1x]
   44         -
version = "1"
   45         -
package = "http-body"
   46     43   
[dependencies.http-body-util]
   47     44   
version = "0.1.3"
   48     45   
[dependencies.tracing]
   49     46   
version = "0.1"
   50     47   
[dev-dependencies.aws-smithy-protocol-test]
   51     48   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-protocol-test"
   52     49   
[dev-dependencies.pretty_assertions]
   53     50   
version = "1.3.0"
   54     51   
[dev-dependencies.tokio]
   55     52   
version = "1.23.1"

tmp-codegen-diff/codegen-client-test/rpcv2Cbor_extras/rust-client-codegen/src/operation/streaming_operation_with_initial_data.rs

@@ -200,200 +264,277 @@
  220    220   
        let body = ::aws_smithy_types::body::SdkBody::from({
  221    221   
            let error_marshaller = crate::event_stream_serde::EventsErrorMarshaller::new();
  222    222   
            let marshaller = crate::event_stream_serde::EventsMarshaller::new();
  223    223   
            let (signer, signer_sender) = ::aws_smithy_eventstream::frame::DeferredSigner::new();
  224    224   
            _cfg.interceptor_state().store_put(signer_sender);
  225    225   
            ::aws_smithy_types::body::SdkBody::from_body_1_x(::http_body_util::StreamBody::new({
  226    226   
                use ::futures_util::StreamExt;
  227    227   
                let body =
  228    228   
                    crate::protocol_serde::shape_streaming_operation_with_initial_data::ser_streaming_operation_with_initial_data_input(&input)?;
  229    229   
                let initial_message = crate::event_stream_serde::initial_message_from_body(body);
  230         -
                let mut buffer = ::std::vec::Vec::new();
  231         -
                ::aws_smithy_eventstream::frame::write_message_to(&initial_message, &mut buffer)?;
  232         -
                let initial_message_stream = futures_util::stream::iter(vec![Ok(::http_body_1x::Frame::data(buffer.into()))]);
  233         -
                let adapter = input.events.into_body_stream(marshaller, error_marshaller, signer);
  234         -
                initial_message_stream.chain(adapter)
         230  +
         231  +
                // Wrap the marshaller to handle both initial and regular messages
         232  +
                let wrapped_marshaller = ::aws_smithy_http::event_stream::EventOrInitialMarshaller::new(marshaller);
         233  +
         234  +
                // Create stream with initial message
         235  +
                let initial_stream = ::futures_util::stream::once(async move {
         236  +
                    ::std::result::Result::Ok(::aws_smithy_http::event_stream::EventOrInitial::InitialMessage(initial_message))
         237  +
                });
         238  +
         239  +
                // Extract inner stream and map events
         240  +
                let event_stream = input
         241  +
                    .events
         242  +
                    .into_inner()
         243  +
                    .map(|result| result.map(::aws_smithy_http::event_stream::EventOrInitial::Event));
         244  +
         245  +
                // Chain streams and convert to EventStreamSender
         246  +
                let combined = initial_stream.chain(event_stream);
         247  +
                ::aws_smithy_http::event_stream::EventStreamSender::from(combined).into_body_stream(wrapped_marshaller, error_marshaller, signer)
  235    248   
            }))
  236    249   
        });
  237    250   
        if let Some(content_length) = body.content_length() {
  238    251   
            let content_length = content_length.to_string();
  239    252   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
  240    253   
        }
  241    254   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  242    255   
    }
  243    256   
}
  244    257   
#[derive(Debug)]

tmp-codegen-diff/codegen-client-test/rpcv2Cbor_extras/rust-client-codegen/src/operation/streaming_operation_with_optional_data.rs

@@ -200,200 +264,277 @@
  220    220   
        let body = ::aws_smithy_types::body::SdkBody::from({
  221    221   
            let error_marshaller = crate::event_stream_serde::EventsErrorMarshaller::new();
  222    222   
            let marshaller = crate::event_stream_serde::EventsMarshaller::new();
  223    223   
            let (signer, signer_sender) = ::aws_smithy_eventstream::frame::DeferredSigner::new();
  224    224   
            _cfg.interceptor_state().store_put(signer_sender);
  225    225   
            ::aws_smithy_types::body::SdkBody::from_body_1_x(::http_body_util::StreamBody::new({
  226    226   
                use ::futures_util::StreamExt;
  227    227   
                let body =
  228    228   
                    crate::protocol_serde::shape_streaming_operation_with_optional_data::ser_streaming_operation_with_optional_data_input(&input)?;
  229    229   
                let initial_message = crate::event_stream_serde::initial_message_from_body(body);
  230         -
                let mut buffer = ::std::vec::Vec::new();
  231         -
                ::aws_smithy_eventstream::frame::write_message_to(&initial_message, &mut buffer)?;
  232         -
                let initial_message_stream = futures_util::stream::iter(vec![Ok(::http_body_1x::Frame::data(buffer.into()))]);
  233         -
                let adapter = input.events.into_body_stream(marshaller, error_marshaller, signer);
  234         -
                initial_message_stream.chain(adapter)
         230  +
         231  +
                // Wrap the marshaller to handle both initial and regular messages
         232  +
                let wrapped_marshaller = ::aws_smithy_http::event_stream::EventOrInitialMarshaller::new(marshaller);
         233  +
         234  +
                // Create stream with initial message
         235  +
                let initial_stream = ::futures_util::stream::once(async move {
         236  +
                    ::std::result::Result::Ok(::aws_smithy_http::event_stream::EventOrInitial::InitialMessage(initial_message))
         237  +
                });
         238  +
         239  +
                // Extract inner stream and map events
         240  +
                let event_stream = input
         241  +
                    .events
         242  +
                    .into_inner()
         243  +
                    .map(|result| result.map(::aws_smithy_http::event_stream::EventOrInitial::Event));
         244  +
         245  +
                // Chain streams and convert to EventStreamSender
         246  +
                let combined = initial_stream.chain(event_stream);
         247  +
                ::aws_smithy_http::event_stream::EventStreamSender::from(combined).into_body_stream(wrapped_marshaller, error_marshaller, signer)
  235    248   
            }))
  236    249   
        });
  237    250   
        if let Some(content_length) = body.content_length() {
  238    251   
            let content_length = content_length.to_string();
  239    252   
            request_builder = _header_serialization_settings.set_default_header(request_builder, ::http_1x::header::CONTENT_LENGTH, &content_length);
  240    253   
        }
  241    254   
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
  242    255   
    }
  243    256   
}
  244    257   
#[derive(Debug)]