Client Test

Client Test

rev. 96f5a1b4ad139d2f1ad1e8e40f300e1cd1ff574c

Files changed:

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/operation/timestamp_format_headers/_timestamp_format_headers_output.rs

@@ -33,33 +256,295 @@
   53     53   
    "aws.protocoltests.restjson.synthetic",
   54     54   
    "TimestampFormatHeadersOutput",
   55     55   
);
   56     56   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_EPOCH_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   57     57   
    ::aws_smithy_schema::ShapeId::from_static(
   58     58   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$memberEpochSeconds",
   59     59   
        "aws.protocoltests.restjson.synthetic",
   60     60   
        "TimestampFormatHeadersOutput",
   61     61   
    ),
   62     62   
    ::aws_smithy_schema::ShapeType::Timestamp,
   63         -
    "member_epoch_seconds",
          63  +
    "memberEpochSeconds",
   64     64   
    0,
   65     65   
)
   66     66   
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::EpochSeconds)
   67     67   
.with_http_header("X-memberEpochSeconds");
   68     68   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_HTTP_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   69     69   
    ::aws_smithy_schema::ShapeId::from_static(
   70     70   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$memberHttpDate",
   71     71   
        "aws.protocoltests.restjson.synthetic",
   72     72   
        "TimestampFormatHeadersOutput",
   73     73   
    ),
   74     74   
    ::aws_smithy_schema::ShapeType::Timestamp,
   75         -
    "member_http_date",
          75  +
    "memberHttpDate",
   76     76   
    1,
   77     77   
)
   78     78   
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate)
   79     79   
.with_http_header("X-memberHttpDate");
   80     80   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_DATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   81     81   
    ::aws_smithy_schema::ShapeId::from_static(
   82     82   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$memberDateTime",
   83     83   
        "aws.protocoltests.restjson.synthetic",
   84     84   
        "TimestampFormatHeadersOutput",
   85     85   
    ),
   86     86   
    ::aws_smithy_schema::ShapeType::Timestamp,
   87         -
    "member_date_time",
          87  +
    "memberDateTime",
   88     88   
    2,
   89     89   
)
   90     90   
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime)
   91     91   
.with_http_header("X-memberDateTime");
   92     92   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_DEFAULT_FORMAT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
   93     93   
    ::aws_smithy_schema::ShapeId::from_static(
   94     94   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$defaultFormat",
   95     95   
        "aws.protocoltests.restjson.synthetic",
   96     96   
        "TimestampFormatHeadersOutput",
   97     97   
    ),
   98     98   
    ::aws_smithy_schema::ShapeType::Timestamp,
   99         -
    "default_format",
          99  +
    "defaultFormat",
  100    100   
    3,
  101    101   
)
  102    102   
.with_http_header("X-defaultFormat");
  103    103   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_EPOCH_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  104    104   
    ::aws_smithy_schema::ShapeId::from_static(
  105    105   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$targetEpochSeconds",
  106    106   
        "aws.protocoltests.restjson.synthetic",
  107    107   
        "TimestampFormatHeadersOutput",
  108    108   
    ),
  109    109   
    ::aws_smithy_schema::ShapeType::Timestamp,
  110         -
    "target_epoch_seconds",
         110  +
    "targetEpochSeconds",
  111    111   
    4,
  112    112   
)
  113         -
.with_http_header("X-targetEpochSeconds");
         113  +
.with_http_header("X-targetEpochSeconds")
         114  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::EpochSeconds);
  114    115   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_HTTP_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  115    116   
    ::aws_smithy_schema::ShapeId::from_static(
  116    117   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$targetHttpDate",
  117    118   
        "aws.protocoltests.restjson.synthetic",
  118    119   
        "TimestampFormatHeadersOutput",
  119    120   
    ),
  120    121   
    ::aws_smithy_schema::ShapeType::Timestamp,
  121         -
    "target_http_date",
         122  +
    "targetHttpDate",
  122    123   
    5,
  123    124   
)
  124         -
.with_http_header("X-targetHttpDate");
         125  +
.with_http_header("X-targetHttpDate")
         126  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate);
  125    127   
static TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_DATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
  126    128   
    ::aws_smithy_schema::ShapeId::from_static(
  127    129   
        "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersOutput$targetDateTime",
  128    130   
        "aws.protocoltests.restjson.synthetic",
  129    131   
        "TimestampFormatHeadersOutput",
  130    132   
    ),
  131    133   
    ::aws_smithy_schema::ShapeType::Timestamp,
  132         -
    "target_date_time",
         134  +
    "targetDateTime",
  133    135   
    6,
  134    136   
)
  135         -
.with_http_header("X-targetDateTime");
         137  +
.with_http_header("X-targetDateTime")
         138  +
.with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime);
  136    139   
static TIMESTAMPFORMATHEADERSOUTPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
  137    140   
    TIMESTAMPFORMATHEADERSOUTPUT_SCHEMA_ID,
  138    141   
    ::aws_smithy_schema::ShapeType::Structure,
  139    142   
    &[
  140    143   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_EPOCH_SECONDS,
  141    144   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_HTTP_DATE,
  142    145   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_DATE_TIME,
  143    146   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_DEFAULT_FORMAT,
  144    147   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_EPOCH_SECONDS,
  145    148   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_HTTP_DATE,
  146    149   
        &TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_DATE_TIME,
  147    150   
    ],
  148    151   
);
  149    152   
impl TimestampFormatHeadersOutput {
  150    153   
    /// The schema for this shape.
  151    154   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TIMESTAMPFORMATHEADERSOUTPUT_SCHEMA;
  152    155   
}
  153    156   
impl ::aws_smithy_schema::serde::SerializableStruct for TimestampFormatHeadersOutput {
  154    157   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
  155    158   
    fn serialize_members(
  156    159   
        &self,
  157    160   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
  158    161   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
  159    162   
        if let Some(ref val) = self.member_epoch_seconds {
  160    163   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_EPOCH_SECONDS, val)?;
  161    164   
        }
  162    165   
        if let Some(ref val) = self.member_http_date {
  163    166   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_HTTP_DATE, val)?;
  164    167   
        }
  165    168   
        if let Some(ref val) = self.member_date_time {
  166    169   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_MEMBER_DATE_TIME, val)?;
  167    170   
        }
  168    171   
        if let Some(ref val) = self.default_format {
  169    172   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_DEFAULT_FORMAT, val)?;
  170    173   
        }
  171    174   
        if let Some(ref val) = self.target_epoch_seconds {
  172    175   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_EPOCH_SECONDS, val)?;
  173    176   
        }
  174    177   
        if let Some(ref val) = self.target_http_date {
  175    178   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_HTTP_DATE, val)?;
  176    179   
        }
  177    180   
        if let Some(ref val) = self.target_date_time {
  178    181   
            ser.write_timestamp(&TIMESTAMPFORMATHEADERSOUTPUT_MEMBER_TARGET_DATE_TIME, val)?;
  179    182   
        }
  180    183   
        Ok(())
  181    184   
    }
  182    185   
}
  183    186   
impl TimestampFormatHeadersOutput {
  184    187   
    /// Deserializes this structure from a [`ShapeDeserializer`].
  185         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
  186         -
        deserializer: &mut D,
         188  +
    pub fn deserialize(
         189  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
  187    190   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
  188    191   
        #[allow(unused_variables, unused_mut)]
  189    192   
        let mut builder = Self::builder();
  190    193   
        #[allow(
  191    194   
            unused_variables,
  192    195   
            unreachable_code,
  193    196   
            clippy::single_match,
  194    197   
            clippy::match_single_binding,
  195    198   
            clippy::diverging_sub_expression
  196    199   
        )]
  197         -
        deserializer.read_struct(&TIMESTAMPFORMATHEADERSOUTPUT_SCHEMA, (), |_, member, deser| {
         200  +
        deserializer.read_struct(&TIMESTAMPFORMATHEADERSOUTPUT_SCHEMA, &mut |member, deser| {
  198    201   
            match member.member_index() {
  199    202   
                Some(0) => {
  200    203   
                    builder.member_epoch_seconds = Some(deser.read_timestamp(member)?);
  201    204   
                }
  202    205   
                Some(1) => {
  203    206   
                    builder.member_http_date = Some(deser.read_timestamp(member)?);
  204    207   
                }
  205    208   
                Some(2) => {
  206    209   
                    builder.member_date_time = Some(deser.read_timestamp(member)?);
  207    210   
                }
  208    211   
                Some(3) => {
  209    212   
                    builder.default_format = Some(deser.read_timestamp(member)?);
  210    213   
                }
  211    214   
                Some(4) => {
  212    215   
                    builder.target_epoch_seconds = Some(deser.read_timestamp(member)?);
  213    216   
                }
  214    217   
                Some(5) => {
  215    218   
                    builder.target_http_date = Some(deser.read_timestamp(member)?);
  216    219   
                }
  217    220   
                Some(6) => {
  218    221   
                    builder.target_date_time = Some(deser.read_timestamp(member)?);
  219    222   
                }
  220    223   
                _ => {}
  221    224   
            }
  222    225   
            Ok(())
  223    226   
        })?;
  224    227   
        Ok(builder.build())
  225    228   
    }
  226    229   
}
         230  +
impl TimestampFormatHeadersOutput {
         231  +
    /// Deserializes this structure from a body deserializer and HTTP response headers.
         232  +
    /// Header-bound members are read directly from headers, avoiding runtime
         233  +
    /// member iteration overhead. Body members are read via the deserializer.
         234  +
    pub fn deserialize_with_response(
         235  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         236  +
        headers: &::aws_smithy_runtime_api::http::Headers,
         237  +
        _status: u16,
         238  +
        _body: &[u8],
         239  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         240  +
        #[allow(unused_variables, unused_mut)]
         241  +
        let mut builder = Self::builder();
         242  +
        if let Some(val) = headers.get("X-memberEpochSeconds") {
         243  +
            builder.member_epoch_seconds = val.parse::<f64>().ok().map(::aws_smithy_types::DateTime::from_secs_f64);
         244  +
        }
         245  +
        if let Some(val) = headers.get("X-memberHttpDate") {
         246  +
            builder.member_http_date = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
         247  +
        }
         248  +
        if let Some(val) = headers.get("X-memberDateTime") {
         249  +
            builder.member_date_time = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::DateTime).ok();
         250  +
        }
         251  +
        if let Some(val) = headers.get("X-defaultFormat") {
         252  +
            builder.default_format = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
         253  +
        }
         254  +
        if let Some(val) = headers.get("X-targetEpochSeconds") {
         255  +
            builder.target_epoch_seconds = val.parse::<f64>().ok().map(::aws_smithy_types::DateTime::from_secs_f64);
         256  +
        }
         257  +
        if let Some(val) = headers.get("X-targetHttpDate") {
         258  +
            builder.target_http_date = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
         259  +
        }
         260  +
        if let Some(val) = headers.get("X-targetDateTime") {
         261  +
            builder.target_date_time = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::DateTime).ok();
         262  +
        }
         263  +
        Ok(builder.build())
         264  +
    }
         265  +
}
  227    266   
impl TimestampFormatHeadersOutput {
  228    267   
    /// Creates a new builder-style object to manufacture [`TimestampFormatHeadersOutput`](crate::operation::timestamp_format_headers::TimestampFormatHeadersOutput).
  229    268   
    pub fn builder() -> crate::operation::timestamp_format_headers::builders::TimestampFormatHeadersOutputBuilder {
  230    269   
        crate::operation::timestamp_format_headers::builders::TimestampFormatHeadersOutputBuilder::default()
  231    270   
    }
  232    271   
}
  233    272   
  234    273   
/// A builder for [`TimestampFormatHeadersOutput`](crate::operation::timestamp_format_headers::TimestampFormatHeadersOutput).
  235    274   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  236    275   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/operation/unit_input_and_output.rs

@@ -1,1 +40,44 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Orchestration and serialization glue logic for `UnitInputAndOutput`.
    3      3   
#[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
    4      4   
#[non_exhaustive]
    5      5   
pub struct UnitInputAndOutput;
    6      6   
impl UnitInputAndOutput {
    7      7   
    /// Creates a new `UnitInputAndOutput`
    8      8   
    pub fn new() -> Self {
    9      9   
        Self
   10     10   
    }
          11  +
    /// The schema for this operation's input shape.
          12  +
    pub const INPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::unit_input_and_output::UnitInputAndOutputInput::SCHEMA;
          13  +
    /// The schema for this operation's output shape.
          14  +
    pub const OUTPUT_SCHEMA: &'static ::aws_smithy_schema::Schema = crate::operation::unit_input_and_output::UnitInputAndOutputOutput::SCHEMA;
   11     15   
    pub(crate) async fn orchestrate(
   12     16   
        runtime_plugins: &::aws_smithy_runtime_api::client::runtime_plugin::RuntimePlugins,
   13     17   
        input: crate::operation::unit_input_and_output::UnitInputAndOutputInput,
   14     18   
    ) -> ::std::result::Result<
   15     19   
        crate::operation::unit_input_and_output::UnitInputAndOutputOutput,
   16     20   
        ::aws_smithy_runtime_api::client::result::SdkError<
   17     21   
            crate::operation::unit_input_and_output::UnitInputAndOutputError,
   18     22   
            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
   19     23   
        >,
   20     24   
    > {
@@ -110,114 +228,239 @@
  130    134   
                crate::operation::unit_input_and_output::UnitInputAndOutputError,
  131    135   
            >::new());
  132    136   
  133    137   
        ::std::borrow::Cow::Owned(rcb)
  134    138   
    }
  135    139   
}
  136    140   
  137    141   
#[derive(Debug)]
  138    142   
struct UnitInputAndOutputResponseDeserializer;
  139    143   
impl ::aws_smithy_runtime_api::client::ser_de::DeserializeResponse for UnitInputAndOutputResponseDeserializer {
  140         -
    fn deserialize_nonstreaming(
         144  +
    fn deserialize_nonstreaming_with_config(
  141    145   
        &self,
  142    146   
        response: &::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
         147  +
        _cfg: &::aws_smithy_types::config_bag::ConfigBag,
  143    148   
    ) -> ::aws_smithy_runtime_api::client::interceptors::context::OutputOrError {
  144    149   
        let (success, status) = (response.status().is_success(), response.status().as_u16());
  145         -
        let headers = response.headers();
  146         -
        let body = response.body().bytes().expect("body loaded");
  147    150   
        #[allow(unused_mut)]
  148    151   
        let mut force_error = false;
  149    152   
  150         -
        let parse_result = if !success && status != 200 || force_error {
  151         -
            crate::protocol_serde::shape_unit_input_and_output::de_unit_input_and_output_http_error(status, headers, body)
         153  +
        if !success && status != 200 || force_error {
         154  +
            let headers = response.headers();
         155  +
            let body = response.body().bytes().expect("body loaded");
         156  +
            #[allow(unused_mut)]
         157  +
            let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(status, headers, body).map_err(|e| {
         158  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         159  +
            })?;
         160  +
         161  +
            let generic = generic_builder.build();
         162  +
            ::std::result::Result::Err(::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::operation(
         163  +
                ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(
         164  +
                    crate::operation::unit_input_and_output::UnitInputAndOutputError::generic(generic),
         165  +
                ),
         166  +
            ))
  152    167   
        } else {
  153         -
            crate::protocol_serde::shape_unit_input_and_output::de_unit_input_and_output_http_response(status, headers, body)
  154         -
        };
  155         -
        crate::protocol_serde::type_erase_result(parse_result)
         168  +
            let protocol = _cfg
         169  +
                .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         170  +
                .expect("a SharedClientProtocol is required");
         171  +
            let mut deser = protocol
         172  +
                .deserialize_response(response, UnitInputAndOutput::OUTPUT_SCHEMA, _cfg)
         173  +
                .map_err(|e| {
         174  +
                    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         175  +
                })?;
         176  +
            let body = response.body().bytes().expect("body loaded");
         177  +
            let output = crate::operation::unit_input_and_output::UnitInputAndOutputOutput::deserialize_with_response(
         178  +
                &mut *deser,
         179  +
                response.headers(),
         180  +
                response.status().into(),
         181  +
                body,
         182  +
            )
         183  +
            .map_err(|e| {
         184  +
                ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError::other(::aws_smithy_runtime_api::box_error::BoxError::from(e))
         185  +
            })?;
         186  +
            ::std::result::Result::Ok(::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
         187  +
        }
  156    188   
    }
  157    189   
}
  158    190   
#[derive(Debug)]
  159    191   
struct UnitInputAndOutputRequestSerializer;
  160    192   
impl ::aws_smithy_runtime_api::client::ser_de::SerializeRequest for UnitInputAndOutputRequestSerializer {
  161    193   
    #[allow(unused_mut, clippy::let_and_return, clippy::needless_borrow, clippy::useless_conversion)]
  162    194   
    fn serialize_input(
  163    195   
        &self,
  164    196   
        input: ::aws_smithy_runtime_api::client::interceptors::context::Input,
  165    197   
        _cfg: &mut ::aws_smithy_types::config_bag::ConfigBag,
  166    198   
    ) -> ::std::result::Result<::aws_smithy_runtime_api::client::orchestrator::HttpRequest, ::aws_smithy_runtime_api::box_error::BoxError> {
  167    199   
        let input = input
  168    200   
            .downcast::<crate::operation::unit_input_and_output::UnitInputAndOutputInput>()
  169    201   
            .expect("correct type");
  170         -
        let _header_serialization_settings = _cfg
  171         -
            .load::<crate::serialization_settings::HeaderSerializationSettings>()
  172         -
            .cloned()
  173         -
            .unwrap_or_default();
  174         -
        let mut request_builder = {
  175         -
            #[allow(clippy::uninlined_format_args)]
  176         -
            fn uri_base(
  177         -
                _input: &crate::operation::unit_input_and_output::UnitInputAndOutputInput,
  178         -
                output: &mut ::std::string::String,
  179         -
            ) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::BuildError> {
  180         -
                use ::std::fmt::Write as _;
  181         -
                ::std::write!(output, "/UnitInputAndOutput").expect("formatting should succeed");
  182         -
                ::std::result::Result::Ok(())
  183         -
            }
  184         -
            #[allow(clippy::unnecessary_wraps)]
  185         -
            fn update_http_builder(
  186         -
                input: &crate::operation::unit_input_and_output::UnitInputAndOutputInput,
  187         -
                builder: ::http_1x::request::Builder,
  188         -
            ) -> ::std::result::Result<::http_1x::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
  189         -
                let mut uri = ::std::string::String::new();
  190         -
                uri_base(input, &mut uri)?;
  191         -
                ::std::result::Result::Ok(builder.method("POST").uri(uri))
  192         -
            }
  193         -
            let mut builder = update_http_builder(&input, ::http_1x::request::Builder::new())?;
  194         -
            builder
  195         -
        };
  196         -
        let body = ::aws_smithy_types::body::SdkBody::from("");
         202  +
        let protocol = _cfg
         203  +
            .load::<::aws_smithy_schema::protocol::SharedClientProtocol>()
         204  +
            .expect("a SharedClientProtocol is required");
         205  +
        let mut request = protocol
         206  +
            .serialize_request(&input, UnitInputAndOutput::INPUT_SCHEMA, "", _cfg)
         207  +
            .map_err(::aws_smithy_runtime_api::box_error::BoxError::from)?;
  197    208   
  198         -
        ::std::result::Result::Ok(request_builder.body(body).expect("valid request").try_into().unwrap())
         209  +
        return ::std::result::Result::Ok(request);
  199    210   
    }
  200    211   
}
  201    212   
#[derive(Debug)]
  202    213   
struct UnitInputAndOutputEndpointParamsInterceptor;
  203    214   
  204    215   
impl ::aws_smithy_runtime_api::client::interceptors::Intercept for UnitInputAndOutputEndpointParamsInterceptor {
  205    216   
    fn name(&self) -> &'static str {
  206    217   
        "UnitInputAndOutputEndpointParamsInterceptor"
  207    218   
    }
  208    219   
@@ -269,280 +329,350 @@
  289    300   
            .expect("the config must have a deserializer");
  290    301   
  291    302   
        let parsed = de.deserialize_streaming(&mut http_response);
  292    303   
        let parsed = parsed.unwrap_or_else(|| {
  293    304   
            let http_response = http_response.map(|body| {
  294    305   
                ::aws_smithy_types::body::SdkBody::from(::bytes::Bytes::copy_from_slice(&::aws_smithy_protocol_test::decode_body_data(
  295    306   
                    body.bytes().unwrap(),
  296    307   
                    ::aws_smithy_protocol_test::MediaType::from("unknown"),
  297    308   
                )))
  298    309   
            });
  299         -
            de.deserialize_nonstreaming(&http_response)
         310  +
            // Build a config bag with the protocol for schema-based deserialization
         311  +
            #[allow(unused_mut)]
         312  +
            let mut test_cfg = ::aws_smithy_types::config_bag::ConfigBag::base();
         313  +
            {
         314  +
                let mut layer = ::aws_smithy_types::config_bag::Layer::new("test_protocol");
         315  +
                layer.store_put(::aws_smithy_schema::protocol::SharedClientProtocol::new(
         316  +
                    ::aws_smithy_json::protocol::aws_rest_json_1::AwsRestJsonProtocol::new(),
         317  +
                ));
         318  +
                test_cfg.push_shared_layer(layer.freeze());
         319  +
            }
         320  +
            de.deserialize_nonstreaming_with_config(&http_response, &test_cfg)
  300    321   
        });
  301    322   
        let parsed = parsed
  302    323   
            .expect("should be successful response")
  303    324   
            .downcast::<crate::operation::unit_input_and_output::UnitInputAndOutputOutput>()
  304    325   
            .unwrap();
  305    326   
    }
  306    327   
}
  307    328   
  308    329   
/// Error type for the `UnitInputAndOutputError` operation.
  309    330   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/operation/unit_input_and_output/_unit_input_and_output_input.rs

@@ -1,1 +70,84 @@
    2      2   
#[allow(missing_docs)] // documentation missing in model
    3      3   
#[non_exhaustive]
    4      4   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5      5   
pub struct UnitInputAndOutputInput {}
    6      6   
static UNITINPUTANDOUTPUTINPUT_SCHEMA_ID: ::aws_smithy_schema::ShapeId = ::aws_smithy_schema::ShapeId::from_static(
    7      7   
    "aws.protocoltests.restjson.synthetic#UnitInputAndOutputInput",
    8      8   
    "aws.protocoltests.restjson.synthetic",
    9      9   
    "UnitInputAndOutputInput",
   10     10   
);
   11     11   
static UNITINPUTANDOUTPUTINPUT_SCHEMA: ::aws_smithy_schema::Schema =
   12         -
    ::aws_smithy_schema::Schema::new_struct(UNITINPUTANDOUTPUTINPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[]);
          12  +
    ::aws_smithy_schema::Schema::new_struct(UNITINPUTANDOUTPUTINPUT_SCHEMA_ID, ::aws_smithy_schema::ShapeType::Structure, &[])
          13  +
        .with_http(aws_smithy_schema::traits::HttpTrait::new("POST", "/UnitInputAndOutput", None));
   13     14   
impl UnitInputAndOutputInput {
   14     15   
    /// The schema for this shape.
   15     16   
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &UNITINPUTANDOUTPUTINPUT_SCHEMA;
   16     17   
}
   17     18   
impl ::aws_smithy_schema::serde::SerializableStruct for UnitInputAndOutputInput {
   18     19   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   19     20   
    fn serialize_members(
   20     21   
        &self,
   21     22   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   22     23   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   23     24   
        Ok(())
   24     25   
    }
   25     26   
}
   26     27   
impl UnitInputAndOutputInput {
   27     28   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   28         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   29         -
        deserializer: &mut D,
          29  +
    pub fn deserialize(
          30  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   30     31   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   31     32   
        #[allow(unused_variables, unused_mut)]
   32     33   
        let mut builder = Self::builder();
   33     34   
        #[allow(
   34     35   
            unused_variables,
   35     36   
            unreachable_code,
   36     37   
            clippy::single_match,
   37     38   
            clippy::match_single_binding,
   38     39   
            clippy::diverging_sub_expression
   39     40   
        )]
   40         -
        deserializer.read_struct(&UNITINPUTANDOUTPUTINPUT_SCHEMA, (), |_, member, deser| {
          41  +
        deserializer.read_struct(&UNITINPUTANDOUTPUTINPUT_SCHEMA, &mut |member, deser| {
   41     42   
            match member.member_index() {
   42     43   
                _ => {}
   43     44   
            }
   44     45   
            Ok(())
   45     46   
        })?;
   46     47   
        builder
   47     48   
            .build()
   48     49   
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
   49     50   
    }
   50     51   
}
          52  +
impl UnitInputAndOutputInput {
          53  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          54  +
    pub fn deserialize_with_response(
          55  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          56  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          57  +
        _status: u16,
          58  +
        _body: &[u8],
          59  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          60  +
        Self::builder()
          61  +
            .build()
          62  +
            .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
          63  +
    }
          64  +
}
   51     65   
impl UnitInputAndOutputInput {
   52     66   
    /// Creates a new builder-style object to manufacture [`UnitInputAndOutputInput`](crate::operation::unit_input_and_output::UnitInputAndOutputInput).
   53     67   
    pub fn builder() -> crate::operation::unit_input_and_output::builders::UnitInputAndOutputInputBuilder {
   54     68   
        crate::operation::unit_input_and_output::builders::UnitInputAndOutputInputBuilder::default()
   55     69   
    }
   56     70   
}
   57     71   
   58     72   
/// A builder for [`UnitInputAndOutputInput`](crate::operation::unit_input_and_output::UnitInputAndOutputInput).
   59     73   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   60     74   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/operation/unit_input_and_output/_unit_input_and_output_output.rs

@@ -1,1 +65,76 @@
   18     18   
    #[allow(unused_variables, clippy::diverging_sub_expression)]
   19     19   
    fn serialize_members(
   20     20   
        &self,
   21     21   
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
   22     22   
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
   23     23   
        Ok(())
   24     24   
    }
   25     25   
}
   26     26   
impl UnitInputAndOutputOutput {
   27     27   
    /// Deserializes this structure from a [`ShapeDeserializer`].
   28         -
    pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
   29         -
        deserializer: &mut D,
          28  +
    pub fn deserialize(
          29  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
   30     30   
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
   31     31   
        #[allow(unused_variables, unused_mut)]
   32     32   
        let mut builder = Self::builder();
   33     33   
        #[allow(
   34     34   
            unused_variables,
   35     35   
            unreachable_code,
   36     36   
            clippy::single_match,
   37     37   
            clippy::match_single_binding,
   38     38   
            clippy::diverging_sub_expression
   39     39   
        )]
   40         -
        deserializer.read_struct(&UNITINPUTANDOUTPUTOUTPUT_SCHEMA, (), |_, member, deser| {
          40  +
        deserializer.read_struct(&UNITINPUTANDOUTPUTOUTPUT_SCHEMA, &mut |member, deser| {
   41     41   
            match member.member_index() {
   42     42   
                _ => {}
   43     43   
            }
   44     44   
            Ok(())
   45     45   
        })?;
   46     46   
        Ok(builder.build())
   47     47   
    }
   48     48   
}
          49  +
impl UnitInputAndOutputOutput {
          50  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          51  +
    pub fn deserialize_with_response(
          52  +
        _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          53  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          54  +
        _status: u16,
          55  +
        _body: &[u8],
          56  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          57  +
        Ok(Self::builder().build())
          58  +
    }
          59  +
}
   49     60   
impl UnitInputAndOutputOutput {
   50     61   
    /// Creates a new builder-style object to manufacture [`UnitInputAndOutputOutput`](crate::operation::unit_input_and_output::UnitInputAndOutputOutput).
   51     62   
    pub fn builder() -> crate::operation::unit_input_and_output::builders::UnitInputAndOutputOutputBuilder {
   52     63   
        crate::operation::unit_input_and_output::builders::UnitInputAndOutputOutputBuilder::default()
   53     64   
    }
   54     65   
}
   55     66   
   56     67   
/// A builder for [`UnitInputAndOutputOutput`](crate::operation::unit_input_and_output::UnitInputAndOutputOutput).
   57     68   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   58     69   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde.rs

@@ -1,1 +576,0 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub fn parse_http_error_metadata(
           3  +
    _response_status: u16,
           4  +
    response_headers: &::aws_smithy_runtime_api::http::Headers,
           5  +
    response_body: &[u8],
           6  +
) -> ::std::result::Result<::aws_smithy_types::error::metadata::Builder, ::aws_smithy_json::deserialize::error::DeserializeError> {
           7  +
    crate::json_errors::parse_error_metadata(response_body, response_headers)
           8  +
}
           9  +
    2     10   
pub(crate) fn type_erase_result<O, E>(
    3     11   
    result: ::std::result::Result<O, E>,
    4     12   
) -> ::std::result::Result<
    5     13   
    ::aws_smithy_runtime_api::client::interceptors::context::Output,
    6     14   
    ::aws_smithy_runtime_api::client::orchestrator::OrchestratorError<::aws_smithy_runtime_api::client::interceptors::context::Error>,
    7     15   
>
    8     16   
where
    9     17   
    O: ::std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
   10     18   
    E: ::std::error::Error + std::fmt::Debug + ::std::marker::Send + ::std::marker::Sync + 'static,
   11     19   
{
   12     20   
    result
   13     21   
        .map(|output| ::aws_smithy_runtime_api::client::interceptors::context::Output::erase(output))
   14     22   
        .map_err(|error| ::aws_smithy_runtime_api::client::interceptors::context::Error::erase(error))
   15     23   
        .map_err(::std::convert::Into::into)
   16     24   
}
   17     25   
   18         -
pub fn parse_http_error_metadata(
   19         -
    _response_status: u16,
   20         -
    response_headers: &::aws_smithy_runtime_api::http::Headers,
   21         -
    response_body: &[u8],
   22         -
) -> ::std::result::Result<::aws_smithy_types::error::metadata::Builder, ::aws_smithy_json::deserialize::error::DeserializeError> {
   23         -
    crate::json_errors::parse_error_metadata(response_body, response_headers)
   24         -
}
   25         -
   26         -
pub(crate) mod shape_all_query_string_types;
   27         -
   28         -
pub(crate) mod shape_constant_and_variable_query_string;
   29         -
   30         -
pub(crate) mod shape_constant_query_string;
   31         -
   32         -
pub(crate) mod shape_content_type_parameters;
   33         -
   34         -
pub(crate) mod shape_datetime_offsets;
   35         -
   36         -
pub(crate) mod shape_document_type;
   37         -
   38         -
pub(crate) mod shape_document_type_as_map_value;
   39         -
   40         -
pub(crate) mod shape_document_type_as_payload;
   41         -
   42         -
pub fn serialize_document(input: &::aws_smithy_types::Document) -> ::std::vec::Vec<u8> {
   43         -
    let mut out = String::new();
   44         -
    ::aws_smithy_json::serialize::JsonValueWriter::new(&mut out).document(input);
   45         -
    out.into_bytes()
   46         -
}
   47         -
   48         -
pub(crate) mod shape_document_type_as_payload_input;
   49         -
   50     26   
pub(crate) mod shape_duplex_stream;
   51     27   
   52         -
pub(crate) mod shape_duplex_stream_with_distinct_streams;
   53         -
   54     28   
pub(crate) mod shape_duplex_stream_with_initial_messages;
   55     29   
   56         -
pub(crate) mod shape_empty_input_and_empty_output;
   57         -
   58         -
pub(crate) mod shape_endpoint_operation;
   59         -
   60         -
pub(crate) mod shape_endpoint_with_host_label_operation;
   61         -
   62         -
pub(crate) mod shape_fractional_seconds;
   63         -
   64         -
pub(crate) mod shape_greeting_with_errors;
   65         -
   66         -
pub(crate) mod shape_host_with_path_operation;
   67         -
   68         -
pub(crate) mod shape_http_checksum_required;
   69         -
   70         -
pub(crate) mod shape_http_empty_prefix_headers;
   71         -
   72         -
pub(crate) mod shape_http_enum_payload;
   73         -
   74         -
pub(crate) mod shape_http_enum_payload_input;
   75         -
   76         -
pub(crate) mod shape_http_payload_traits;
   77         -
   78         -
pub(crate) mod shape_http_payload_traits_input;
   79         -
   80         -
pub(crate) mod shape_http_payload_traits_with_media_type;
   81         -
   82         -
pub(crate) mod shape_http_payload_traits_with_media_type_input;
   83         -
   84         -
pub(crate) mod shape_http_payload_with_structure;
   85         -
   86         -
pub fn rest_json_unset_struct_payload() -> ::std::vec::Vec<u8> {
   87         -
    b"{}"[..].into()
   88         -
}
   89         -
   90         -
pub(crate) mod shape_http_payload_with_structure_input;
   91         -
   92         -
pub(crate) mod shape_http_payload_with_union;
   93         -
   94         -
pub fn rest_json_unset_union_payload() -> ::std::vec::Vec<u8> {
   95         -
    ::std::vec::Vec::new()
   96         -
}
   97         -
   98         -
pub(crate) mod shape_http_payload_with_union_input;
   99         -
  100         -
pub(crate) mod shape_http_prefix_headers;
  101         -
  102         -
pub(crate) mod shape_http_prefix_headers_in_response;
  103         -
  104         -
pub(crate) mod shape_http_query_params_only_operation;
  105         -
  106         -
pub(crate) mod shape_http_request_with_float_labels;
  107         -
  108         -
pub(crate) mod shape_http_request_with_greedy_label_in_path;
  109         -
  110         -
pub(crate) mod shape_http_request_with_labels;
  111         -
  112         -
pub(crate) mod shape_http_request_with_labels_and_timestamp_format;
  113         -
  114         -
pub(crate) mod shape_http_request_with_regex_literal;
  115         -
  116         -
pub(crate) mod shape_http_response_code;
  117         -
  118         -
pub(crate) mod shape_http_string_payload;
  119         -
  120         -
pub(crate) mod shape_http_string_payload_input;
  121         -
  122         -
pub(crate) mod shape_ignore_query_params_in_response;
  123         -
  124         -
pub(crate) mod shape_input_and_output_with_headers;
  125         -
  126         -
pub(crate) mod shape_input_stream;
  127         -
  128         -
pub(crate) mod shape_input_stream_with_initial_request;
  129         -
  130         -
pub(crate) mod shape_json_blobs;
  131         -
  132         -
pub(crate) mod shape_json_enums;
  133         -
  134         -
pub(crate) mod shape_json_int_enums;
  135         -
  136         -
pub(crate) mod shape_json_lists;
  137         -
  138         -
pub(crate) mod shape_json_maps;
  139         -
  140         -
pub(crate) mod shape_json_timestamps;
  141         -
  142         -
pub(crate) mod shape_json_unions;
  143         -
  144         -
pub(crate) mod shape_malformed_accept_with_body;
  145         -
  146         -
pub(crate) mod shape_malformed_accept_with_generic_string;
  147         -
  148         -
pub(crate) mod shape_malformed_accept_with_payload;
  149         -
  150         -
pub(crate) mod shape_malformed_blob;
  151         -
  152         -
pub(crate) mod shape_malformed_boolean;
  153         -
  154         -
pub(crate) mod shape_malformed_byte;
  155         -
  156         -
pub(crate) mod shape_malformed_content_type_with_body;
  157         -
  158         -
pub(crate) mod shape_malformed_content_type_with_generic_string;
  159         -
  160         -
pub(crate) mod shape_malformed_content_type_with_generic_string_input;
  161         -
  162         -
pub(crate) mod shape_malformed_content_type_with_payload;
  163         -
  164         -
pub(crate) mod shape_malformed_content_type_with_payload_input;
  165         -
  166         -
pub(crate) mod shape_malformed_content_type_without_body;
  167         -
  168         -
pub(crate) mod shape_malformed_content_type_without_body_empty_input;
  169         -
  170         -
pub(crate) mod shape_malformed_double;
  171         -
  172         -
pub(crate) mod shape_malformed_float;
  173         -
  174         -
pub(crate) mod shape_malformed_integer;
  175         -
  176         -
pub(crate) mod shape_malformed_list;
  177         -
  178         -
pub(crate) mod shape_malformed_long;
  179         -
  180         -
pub(crate) mod shape_malformed_map;
  181         -
  182         -
pub(crate) mod shape_malformed_request_body;
  183         -
  184         -
pub(crate) mod shape_malformed_short;
  185         -
  186         -
pub(crate) mod shape_malformed_string;
  187         -
  188         -
pub(crate) mod shape_malformed_timestamp_body_date_time;
  189         -
  190         -
pub(crate) mod shape_malformed_timestamp_body_default;
  191         -
  192         -
pub(crate) mod shape_malformed_timestamp_body_http_date;
  193         -
  194         -
pub(crate) mod shape_malformed_timestamp_header_date_time;
  195         -
  196         -
pub(crate) mod shape_malformed_timestamp_header_default;
  197         -
  198         -
pub(crate) mod shape_malformed_timestamp_header_epoch;
  199         -
  200         -
pub(crate) mod shape_malformed_timestamp_path_default;
  201         -
  202         -
pub(crate) mod shape_malformed_timestamp_path_epoch;
  203         -
  204         -
pub(crate) mod shape_malformed_timestamp_path_http_date;
  205         -
  206         -
pub(crate) mod shape_malformed_timestamp_query_default;
  207         -
  208         -
pub(crate) mod shape_malformed_timestamp_query_epoch;
  209         -
  210         -
pub(crate) mod shape_malformed_timestamp_query_http_date;
  211         -
  212         -
pub(crate) mod shape_malformed_union;
  213         -
  214         -
pub(crate) mod shape_media_type_header;
  215         -
  216         -
pub(crate) mod shape_no_input_and_no_output;
  217         -
  218         -
pub(crate) mod shape_no_input_and_output;
  219         -
  220         -
pub(crate) mod shape_null_and_empty_headers_client;
  221         -
  222         -
pub(crate) mod shape_null_and_empty_headers_server;
  223         -
  224         -
pub(crate) mod shape_omits_null_serializes_empty_string;
  225         -
  226         -
pub(crate) mod shape_omits_serializing_empty_lists;
  227         -
  228         -
pub(crate) mod shape_operation_with_defaults;
  229         -
  230         -
pub(crate) mod shape_operation_with_nested_structure;
  231         -
  232     30   
pub(crate) mod shape_output_stream;
  233     31   
  234     32   
pub(crate) mod shape_output_stream_with_initial_response;
  235     33   
  236         -
pub(crate) mod shape_post_player_action;
  237         -
  238         -
pub(crate) mod shape_post_union_with_json_name;
  239         -
  240         -
pub(crate) mod shape_put_with_content_encoding;
  241         -
  242         -
pub(crate) mod shape_query_idempotency_token_auto_fill;
  243         -
  244         -
pub(crate) mod shape_query_params_as_string_list_map;
  245         -
  246         -
pub(crate) mod shape_query_precedence;
  247         -
  248         -
pub(crate) mod shape_recursive_shapes;
  249         -
  250         -
pub(crate) mod shape_response_code_http_fallback;
  251         -
  252         -
pub(crate) mod shape_response_code_required;
  253         -
  254         -
pub(crate) mod shape_simple_scalar_properties;
  255         -
  256         -
pub(crate) mod shape_sparse_json_lists;
  257         -
  258         -
pub(crate) mod shape_sparse_json_maps;
  259         -
  260     34   
pub(crate) mod shape_streaming_traits;
  261     35   
  262         -
pub(crate) mod shape_streaming_traits_input;
  263         -
  264         -
pub(crate) mod shape_streaming_traits_require_length;
  265         -
  266         -
pub(crate) mod shape_streaming_traits_require_length_input;
  267         -
  268     36   
pub(crate) mod shape_streaming_traits_with_media_type;
  269     37   
  270         -
pub(crate) mod shape_streaming_traits_with_media_type_input;
  271         -
  272         -
pub(crate) mod shape_test_body_structure;
  273         -
  274         -
pub(crate) mod shape_test_get_no_input_no_payload;
  275         -
  276         -
pub(crate) mod shape_test_get_no_payload;
  277         -
  278         -
pub(crate) mod shape_test_payload_blob;
  279         -
  280         -
pub(crate) mod shape_test_payload_blob_input;
  281         -
  282         -
pub(crate) mod shape_test_payload_structure;
  283         -
  284         -
pub(crate) mod shape_test_payload_structure_input;
  285         -
  286         -
pub(crate) mod shape_test_post_no_input_no_payload;
  287         -
  288         -
pub(crate) mod shape_test_post_no_payload;
  289         -
  290         -
pub(crate) mod shape_timestamp_format_headers;
  291         -
  292         -
pub(crate) mod shape_unit_input_and_output;
  293         -
  294         -
pub(crate) fn or_empty_doc(data: &[u8]) -> &[u8] {
  295         -
    if data.is_empty() {
  296         -
        b"{}"
  297         -
    } else {
  298         -
        data
  299         -
    }
  300         -
}
  301         -
  302         -
pub(crate) mod shape_complex_error;
  303         -
  304         -
pub(crate) mod shape_content_type_parameters_input;
  305         -
  306         -
pub(crate) mod shape_document_type_as_map_value_input;
  307         -
  308         -
pub(crate) mod shape_document_type_as_payload_output;
  309         -
  310         -
pub(crate) mod shape_document_type_input;
  311         -
  312     38   
pub(crate) mod shape_duplex_stream_output;
  313     39   
  314         -
pub(crate) mod shape_duplex_stream_with_distinct_streams_output;
  315         -
  316     40   
pub(crate) mod shape_duplex_stream_with_initial_messages_output;
  317     41   
  318         -
pub(crate) mod shape_endpoint_with_host_label_operation_input;
  319         -
  320     42   
pub(crate) mod shape_error_event;
  321     43   
  322         -
pub(crate) mod shape_foo_error;
  323         -
  324         -
pub(crate) mod shape_greeting_with_errors_output;
  325         -
  326     44   
pub(crate) mod shape_headers_and_explicit_payload_event;
  327     45   
  328         -
pub(crate) mod shape_http_checksum_required_input;
  329         -
  330         -
pub(crate) mod shape_http_empty_prefix_headers_output;
  331         -
  332         -
pub(crate) mod shape_http_enum_payload_output;
  333         -
  334         -
pub(crate) mod shape_http_payload_traits_output;
  335         -
  336         -
pub(crate) mod shape_http_payload_traits_with_media_type_output;
  337         -
  338         -
pub(crate) mod shape_http_payload_with_structure_output;
  339         -
  340         -
pub(crate) mod shape_http_payload_with_union_output;
  341         -
  342         -
pub(crate) mod shape_http_prefix_headers_in_response_output;
  343         -
  344         -
pub(crate) mod shape_http_prefix_headers_output;
  345         -
  346         -
pub(crate) mod shape_http_string_payload_output;
  347         -
  348         -
pub(crate) mod shape_input_and_output_with_headers_output;
  349         -
  350         -
pub(crate) mod shape_invalid_greeting;
  351         -
  352         -
pub(crate) mod shape_json_blobs_input;
  353         -
  354         -
pub(crate) mod shape_json_enums_input;
  355         -
  356         -
pub(crate) mod shape_json_int_enums_input;
  357         -
  358         -
pub(crate) mod shape_json_lists_input;
  359         -
  360         -
pub(crate) mod shape_json_maps_input;
  361         -
  362         -
pub(crate) mod shape_json_timestamps_input;
  363         -
  364         -
pub(crate) mod shape_json_unions_input;
  365         -
  366         -
pub(crate) mod shape_malformed_accept_with_generic_string_output;
  367         -
  368         -
pub(crate) mod shape_malformed_accept_with_payload_output;
  369         -
  370         -
pub(crate) mod shape_malformed_blob_input;
  371         -
  372         -
pub(crate) mod shape_malformed_boolean_input;
  373         -
  374         -
pub(crate) mod shape_malformed_byte_input;
  375         -
  376         -
pub(crate) mod shape_malformed_content_type_with_body_input;
  377         -
  378         -
pub(crate) mod shape_malformed_double_input;
  379         -
  380         -
pub(crate) mod shape_malformed_float_input;
  381         -
  382         -
pub(crate) mod shape_malformed_integer_input;
  383         -
  384         -
pub(crate) mod shape_malformed_list_input;
  385         -
  386         -
pub(crate) mod shape_malformed_long_input;
  387         -
  388         -
pub(crate) mod shape_malformed_map_input;
  389         -
  390         -
pub(crate) mod shape_malformed_request_body_input;
  391         -
  392         -
pub(crate) mod shape_malformed_short_input;
  393         -
  394         -
pub(crate) mod shape_malformed_timestamp_body_date_time_input;
  395         -
  396         -
pub(crate) mod shape_malformed_timestamp_body_default_input;
  397         -
  398         -
pub(crate) mod shape_malformed_timestamp_body_http_date_input;
  399         -
  400         -
pub(crate) mod shape_malformed_union_input;
  401         -
  402         -
pub(crate) mod shape_media_type_header_output;
  403         -
  404         -
pub(crate) mod shape_null_and_empty_headers_client_output;
  405         -
  406         -
pub(crate) mod shape_null_and_empty_headers_server_output;
  407         -
  408         -
pub(crate) mod shape_operation_with_defaults_input;
  409         -
  410         -
pub(crate) mod shape_operation_with_nested_structure_input;
  411         -
  412     46   
pub(crate) mod shape_output_stream_output;
  413     47   
  414     48   
pub(crate) mod shape_output_stream_with_initial_response_output;
  415     49   
  416         -
pub(crate) mod shape_post_player_action_input;
  417         -
  418         -
pub(crate) mod shape_post_union_with_json_name_input;
  419         -
  420         -
pub(crate) mod shape_put_with_content_encoding_input;
  421         -
  422         -
pub(crate) mod shape_recursive_shapes_input;
  423         -
  424         -
pub(crate) mod shape_service_unavailable_error;
  425         -
  426         -
pub(crate) mod shape_simple_scalar_properties_input;
  427         -
  428         -
pub(crate) mod shape_simple_scalar_properties_output;
  429         -
  430         -
pub(crate) mod shape_sparse_json_lists_input;
  431         -
  432         -
pub(crate) mod shape_sparse_json_maps_input;
  433         -
  434     50   
pub(crate) mod shape_streaming_traits_output;
  435     51   
  436     52   
pub(crate) mod shape_streaming_traits_with_media_type_output;
  437     53   
  438     54   
pub(crate) mod shape_structure_payload_event;
  439     55   
  440         -
pub(crate) mod shape_test_body_structure_input;
  441         -
  442         -
pub(crate) mod shape_test_body_structure_output;
  443         -
  444         -
pub(crate) mod shape_test_get_no_input_no_payload_output;
  445         -
  446         -
pub(crate) mod shape_test_get_no_payload_output;
  447         -
  448         -
pub(crate) mod shape_test_payload_blob_output;
  449         -
  450         -
pub(crate) mod shape_test_payload_structure_output;
  451         -
  452         -
pub(crate) mod shape_test_post_no_input_no_payload_output;
  453         -
  454         -
pub(crate) mod shape_test_post_no_payload_output;
  455         -
  456         -
pub(crate) mod shape_timestamp_format_headers_output;
  457         -
  458     56   
pub(crate) mod shape_union_payload_event;
  459     57   
  460     58   
pub fn parse_event_stream_error_metadata(
  461     59   
    payload: &::bytes::Bytes,
  462     60   
) -> ::std::result::Result<::aws_smithy_types::error::metadata::Builder, ::aws_smithy_json::deserialize::error::DeserializeError> {
  463     61   
    crate::json_errors::parse_error_metadata(payload, &::aws_smithy_runtime_api::http::Headers::new())
  464     62   
}
  465     63   
  466         -
pub(crate) mod shape_boolean_list;
  467         -
  468         -
pub(crate) mod shape_client_optional_defaults;
  469         -
  470         -
pub(crate) mod shape_complex_nested_error_data;
  471         -
  472         -
pub(crate) mod shape_defaults;
  473         -
  474         -
pub(crate) mod shape_dense_boolean_map;
  475         -
  476         -
pub(crate) mod shape_dense_number_map;
  477         -
  478         -
pub(crate) mod shape_dense_set_map;
  479         -
  480         -
pub(crate) mod shape_dense_string_map;
  481         -
  482         -
pub(crate) mod shape_dense_struct_map;
  483         -
  484         -
pub(crate) mod shape_dialog;
  485         -
  486         -
pub(crate) mod shape_dialog_list;
  487         -
  488         -
pub(crate) mod shape_dialog_map;
  489         -
  490         -
pub(crate) mod shape_document;
  491         -
  492         -
pub(crate) mod shape_document_valued_map;
  493         -
  494         -
pub(crate) mod shape_foo_enum_list;
  495         -
  496         -
pub(crate) mod shape_foo_enum_map;
  497         -
  498         -
pub(crate) mod shape_foo_enum_set;
  499         -
  500         -
pub(crate) mod shape_greeting_struct;
  501         -
  502         -
pub(crate) mod shape_integer_enum_list;
  503         -
  504         -
pub(crate) mod shape_integer_enum_map;
  505         -
  506         -
pub(crate) mod shape_integer_enum_set;
  507         -
  508         -
pub(crate) mod shape_integer_list;
  509         -
  510         -
pub(crate) mod shape_my_union;
  511         -
  512         -
pub(crate) mod shape_nested_payload;
  513         -
  514         -
pub(crate) mod shape_nested_string_list;
  515         -
  516         -
pub(crate) mod shape_payload_config;
  517         -
  518     64   
pub(crate) mod shape_payload_structure;
  519     65   
  520     66   
pub(crate) mod shape_payload_union;
  521     67   
  522         -
pub(crate) mod shape_player_action;
  523         -
  524         -
pub(crate) mod shape_recursive_shapes_input_output_nested1;
  525         -
  526         -
pub(crate) mod shape_simple_union;
  527         -
  528         -
pub(crate) mod shape_singleton_event_stream;
  529         -
  530         -
pub(crate) mod shape_sparse_boolean_map;
  531         -
  532         -
pub(crate) mod shape_sparse_number_map;
  533         -
  534         -
pub(crate) mod shape_sparse_set_map;
  535         -
  536         -
pub(crate) mod shape_sparse_short_list;
  537         -
  538         -
pub(crate) mod shape_sparse_string_list;
  539         -
  540         -
pub(crate) mod shape_sparse_string_map;
  541         -
  542         -
pub(crate) mod shape_sparse_struct_map;
  543         -
  544         -
pub(crate) mod shape_string_list;
  545         -
  546         -
pub(crate) mod shape_string_set;
  547         -
  548         -
pub(crate) mod shape_structure_list;
  549         -
  550         -
pub(crate) mod shape_structure_list_member;
  551         -
  552         -
pub(crate) mod shape_test_config;
  553         -
  554         -
pub(crate) mod shape_test_string_list;
  555         -
  556         -
pub(crate) mod shape_test_string_map;
  557         -
  558         -
pub(crate) mod shape_timestamp_list;
  559         -
  560         -
pub(crate) mod shape_top_level;
  561         -
  562         -
pub(crate) mod shape_union_payload;
  563         -
  564         -
pub(crate) mod shape_union_with_json_name;
  565         -
  566         -
pub(crate) mod shape_farewell;
          68  +
pub(crate) fn or_empty_doc(data: &[u8]) -> &[u8] {
          69  +
    if data.is_empty() {
          70  +
        b"{}"
          71  +
    } else {
          72  +
        data
          73  +
    }
          74  +
}
  567     75   
  568     76   
pub(crate) mod shape_headers_and_implicit_payload_event;
  569         -
  570         -
pub(crate) mod shape_recursive_shapes_input_output_nested2;
  571         -
  572         -
pub(crate) mod shape_renamed_greeting;
  573         -
  574         -
pub(crate) mod shape_string_map;
  575         -
  576         -
pub(crate) mod shape_singleton_event;

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_all_query_string_types.rs

@@ -1,0 +32,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_all_query_string_types_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<
    8         -
    crate::operation::all_query_string_types::AllQueryStringTypesOutput,
    9         -
    crate::operation::all_query_string_types::AllQueryStringTypesError,
   10         -
> {
   11         -
    #[allow(unused_mut)]
   12         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13         -
        .map_err(crate::operation::all_query_string_types::AllQueryStringTypesError::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    Err(crate::operation::all_query_string_types::AllQueryStringTypesError::generic(generic))
   16         -
}
   17         -
   18         -
#[allow(clippy::unnecessary_wraps)]
   19         -
pub fn de_all_query_string_types_http_response(
   20         -
    _response_status: u16,
   21         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22         -
    _response_body: &[u8],
   23         -
) -> std::result::Result<
   24         -
    crate::operation::all_query_string_types::AllQueryStringTypesOutput,
   25         -
    crate::operation::all_query_string_types::AllQueryStringTypesError,
   26         -
> {
   27         -
    Ok({
   28         -
        #[allow(unused_mut)]
   29         -
        let mut output = crate::operation::all_query_string_types::builders::AllQueryStringTypesOutputBuilder::default();
   30         -
        output.build()
   31         -
    })
   32         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_boolean_list.rs

@@ -1,0 +37,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_boolean_list<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
) -> ::std::result::Result<Option<::std::vec::Vec<bool>>, ::aws_smithy_json::deserialize::error::DeserializeError>
    6         -
where
    7         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    8         -
{
    9         -
    match tokens.next().transpose()? {
   10         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   11         -
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
   12         -
            let mut items = Vec::new();
   13         -
            loop {
   14         -
                match tokens.peek() {
   15         -
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
   16         -
                        tokens.next().transpose().unwrap();
   17         -
                        break;
   18         -
                    }
   19         -
                    _ => {
   20         -
                        let value = ::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?;
   21         -
                        if let Some(value) = value {
   22         -
                            items.push(value);
   23         -
                        } else {
   24         -
                            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   25         -
                                "dense list cannot contain null values",
   26         -
                            ));
   27         -
                        }
   28         -
                    }
   29         -
                }
   30         -
            }
   31         -
            Ok(Some(items))
   32         -
        }
   33         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   34         -
            "expected start array or null",
   35         -
        )),
   36         -
    }
   37         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_client_optional_defaults.rs

@@ -1,0 +13,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_client_optional_defaults(
    3         -
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4         -
    input: &crate::types::ClientOptionalDefaults,
    5         -
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    6         -
    if let Some(var_1) = &input.member {
    7         -
        object.key("member").number(
    8         -
            #[allow(clippy::useless_conversion)]
    9         -
            ::aws_smithy_types::Number::NegInt((*var_1).into()),
   10         -
        );
   11         -
    }
   12         -
    Ok(())
   13         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_complex_error.rs

@@ -1,0 +61,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_complex_error_json_err(
    3         -
    _value: &[u8],
    4         -
    mut builder: crate::types::error::builders::ComplexErrorBuilder,
    5         -
) -> ::std::result::Result<crate::types::error::builders::ComplexErrorBuilder, ::aws_smithy_json::deserialize::error::DeserializeError> {
    6         -
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
    7         -
    let tokens = &mut tokens_owned;
    8         -
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
    9         -
    loop {
   10         -
        match tokens.next().transpose()? {
   11         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   12         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   13         -
                "Header" => {
   14         -
                    builder = builder.set_header(
   15         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   16         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   17         -
                            .transpose()?,
   18         -
                    );
   19         -
                }
   20         -
                "TopLevel" => {
   21         -
                    builder = builder.set_top_level(
   22         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   23         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   24         -
                            .transpose()?,
   25         -
                    );
   26         -
                }
   27         -
                "Nested" => {
   28         -
                    builder = builder.set_nested(crate::protocol_serde::shape_complex_nested_error_data::de_complex_nested_error_data(
   29         -
                        tokens, _value,
   30         -
                    )?);
   31         -
                }
   32         -
                "Message" => {
   33         -
                    builder = builder.set_message(
   34         -
                        ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   35         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   36         -
                            .transpose()?,
   37         -
                    );
   38         -
                }
   39         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   40         -
            },
   41         -
            other => {
   42         -
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   43         -
                    "expected object key or end object, found: {other:?}"
   44         -
                )))
   45         -
            }
   46         -
        }
   47         -
    }
   48         -
    if tokens.next().is_some() {
   49         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   50         -
            "found more JSON tokens after completing parsing",
   51         -
        ));
   52         -
    }
   53         -
    Ok(builder)
   54         -
}
   55         -
   56         -
pub(crate) fn de_header_header(
   57         -
    header_map: &::aws_smithy_runtime_api::http::Headers,
   58         -
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
   59         -
    let headers = header_map.get_all("X-Header");
   60         -
    ::aws_smithy_http::header::one_or_none(headers)
   61         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_complex_nested_error_data.rs

@@ -1,0 +40,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_complex_nested_error_data<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
) -> ::std::result::Result<Option<crate::types::ComplexNestedErrorData>, ::aws_smithy_json::deserialize::error::DeserializeError>
    6         -
where
    7         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    8         -
{
    9         -
    match tokens.next().transpose()? {
   10         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   11         -
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   12         -
            #[allow(unused_mut)]
   13         -
            let mut builder = crate::types::builders::ComplexNestedErrorDataBuilder::default();
   14         -
            loop {
   15         -
                match tokens.next().transpose()? {
   16         -
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   17         -
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   18         -
                        "Fooooo" => {
   19         -
                            builder = builder.set_foo(
   20         -
                                ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   21         -
                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   22         -
                                    .transpose()?,
   23         -
                            );
   24         -
                        }
   25         -
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   26         -
                    },
   27         -
                    other => {
   28         -
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   29         -
                            "expected object key or end object, found: {other:?}"
   30         -
                        )))
   31         -
                    }
   32         -
                }
   33         -
            }
   34         -
            Ok(Some(builder.build()))
   35         -
        }
   36         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   37         -
            "expected start object or null",
   38         -
        )),
   39         -
    }
   40         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_constant_and_variable_query_string.rs

@@ -1,0 +32,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_constant_and_variable_query_string_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<
    8         -
    crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringOutput,
    9         -
    crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringError,
   10         -
> {
   11         -
    #[allow(unused_mut)]
   12         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13         -
        .map_err(crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringError::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    Err(crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringError::generic(generic))
   16         -
}
   17         -
   18         -
#[allow(clippy::unnecessary_wraps)]
   19         -
pub fn de_constant_and_variable_query_string_http_response(
   20         -
    _response_status: u16,
   21         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22         -
    _response_body: &[u8],
   23         -
) -> std::result::Result<
   24         -
    crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringOutput,
   25         -
    crate::operation::constant_and_variable_query_string::ConstantAndVariableQueryStringError,
   26         -
> {
   27         -
    Ok({
   28         -
        #[allow(unused_mut)]
   29         -
        let mut output = crate::operation::constant_and_variable_query_string::builders::ConstantAndVariableQueryStringOutputBuilder::default();
   30         -
        output.build()
   31         -
    })
   32         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_constant_query_string.rs

@@ -1,0 +32,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_constant_query_string_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<
    8         -
    crate::operation::constant_query_string::ConstantQueryStringOutput,
    9         -
    crate::operation::constant_query_string::ConstantQueryStringError,
   10         -
> {
   11         -
    #[allow(unused_mut)]
   12         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13         -
        .map_err(crate::operation::constant_query_string::ConstantQueryStringError::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    Err(crate::operation::constant_query_string::ConstantQueryStringError::generic(generic))
   16         -
}
   17         -
   18         -
#[allow(clippy::unnecessary_wraps)]
   19         -
pub fn de_constant_query_string_http_response(
   20         -
    _response_status: u16,
   21         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22         -
    _response_body: &[u8],
   23         -
) -> std::result::Result<
   24         -
    crate::operation::constant_query_string::ConstantQueryStringOutput,
   25         -
    crate::operation::constant_query_string::ConstantQueryStringError,
   26         -
> {
   27         -
    Ok({
   28         -
        #[allow(unused_mut)]
   29         -
        let mut output = crate::operation::constant_query_string::builders::ConstantQueryStringOutputBuilder::default();
   30         -
        output.build()
   31         -
    })
   32         -
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_content_type_parameters.rs

@@ -1,0 +42,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_content_type_parameters_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<
    8         -
    crate::operation::content_type_parameters::ContentTypeParametersOutput,
    9         -
    crate::operation::content_type_parameters::ContentTypeParametersError,
   10         -
> {
   11         -
    #[allow(unused_mut)]
   12         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13         -
        .map_err(crate::operation::content_type_parameters::ContentTypeParametersError::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    Err(crate::operation::content_type_parameters::ContentTypeParametersError::generic(generic))
   16         -
}
   17         -
   18         -
#[allow(clippy::unnecessary_wraps)]
   19         -
pub fn de_content_type_parameters_http_response(
   20         -
    _response_status: u16,
   21         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22         -
    _response_body: &[u8],
   23         -
) -> std::result::Result<
   24         -
    crate::operation::content_type_parameters::ContentTypeParametersOutput,
   25         -
    crate::operation::content_type_parameters::ContentTypeParametersError,
   26         -
> {
   27         -
    Ok({
   28         -
        #[allow(unused_mut)]
   29         -
        let mut output = crate::operation::content_type_parameters::builders::ContentTypeParametersOutputBuilder::default();
   30         -
        output.build()
   31         -
    })
   32         -
}
   33         -
   34         -
pub fn ser_content_type_parameters_input(
   35         -
    input: &crate::operation::content_type_parameters::ContentTypeParametersInput,
   36         -
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
   37         -
    let mut out = String::new();
   38         -
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
   39         -
    crate::protocol_serde::shape_content_type_parameters_input::ser_content_type_parameters_input_input(&mut object, input)?;
   40         -
    object.finish();
   41         -
    Ok(::aws_smithy_types::body::SdkBody::from(out))
   42         -
}