Client Test

Client Test

rev. 0b749be6d000fdc7ef59d1bc26f1dce00358d95c

Files changed:

tmp-codegen-diff/codegen-client-test/rest_json_extras/rust-client-codegen/src/operation/http_string_payload2/_http_string_payload2_input.rs

@@ -1,0 +50,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct HttpStringPayload2Input {
    6         -
    #[allow(missing_docs)] // documentation missing in model
    7         -
    pub payload: ::std::option::Option<::std::string::String>,
    8         -
}
    9         -
impl HttpStringPayload2Input {
   10         -
    #[allow(missing_docs)] // documentation missing in model
   11         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
   12         -
        self.payload.as_deref()
   13         -
    }
   14         -
}
   15         -
impl HttpStringPayload2Input {
   16         -
    /// Creates a new builder-style object to manufacture [`HttpStringPayload2Input`](crate::operation::http_string_payload2::HttpStringPayload2Input).
   17         -
    pub fn builder() -> crate::operation::http_string_payload2::builders::HttpStringPayload2InputBuilder {
   18         -
        crate::operation::http_string_payload2::builders::HttpStringPayload2InputBuilder::default()
   19         -
    }
   20         -
}
   21         -
   22         -
/// A builder for [`HttpStringPayload2Input`](crate::operation::http_string_payload2::HttpStringPayload2Input).
   23         -
#[non_exhaustive]
   24         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   25         -
pub struct HttpStringPayload2InputBuilder {
   26         -
    pub(crate) payload: ::std::option::Option<::std::string::String>,
   27         -
}
   28         -
impl HttpStringPayload2InputBuilder {
   29         -
    #[allow(missing_docs)] // documentation missing in model
   30         -
    pub fn payload(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   31         -
        self.payload = ::std::option::Option::Some(input.into());
   32         -
        self
   33         -
    }
   34         -
    #[allow(missing_docs)] // documentation missing in model
   35         -
    pub fn set_payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   36         -
        self.payload = input;
   37         -
        self
   38         -
    }
   39         -
    #[allow(missing_docs)] // documentation missing in model
   40         -
    pub fn get_payload(&self) -> &::std::option::Option<::std::string::String> {
   41         -
        &self.payload
   42         -
    }
   43         -
    /// Consumes the builder and constructs a [`HttpStringPayload2Input`](crate::operation::http_string_payload2::HttpStringPayload2Input).
   44         -
    pub fn build(
   45         -
        self,
   46         -
    ) -> ::std::result::Result<crate::operation::http_string_payload2::HttpStringPayload2Input, ::aws_smithy_types::error::operation::BuildError>
   47         -
    {
   48         -
        ::std::result::Result::Ok(crate::operation::http_string_payload2::HttpStringPayload2Input { payload: self.payload })
   49         -
    }
   50         -
}

tmp-codegen-diff/codegen-client-test/rest_json_extras/rust-client-codegen/src/operation/http_string_payload2/_http_string_payload2_output.rs

@@ -1,0 +47,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct HttpStringPayload2Output {
    6         -
    #[allow(missing_docs)] // documentation missing in model
    7         -
    pub payload: ::std::option::Option<::std::string::String>,
    8         -
}
    9         -
impl HttpStringPayload2Output {
   10         -
    #[allow(missing_docs)] // documentation missing in model
   11         -
    pub fn payload(&self) -> ::std::option::Option<&str> {
   12         -
        self.payload.as_deref()
   13         -
    }
   14         -
}
   15         -
impl HttpStringPayload2Output {
   16         -
    /// Creates a new builder-style object to manufacture [`HttpStringPayload2Output`](crate::operation::http_string_payload2::HttpStringPayload2Output).
   17         -
    pub fn builder() -> crate::operation::http_string_payload2::builders::HttpStringPayload2OutputBuilder {
   18         -
        crate::operation::http_string_payload2::builders::HttpStringPayload2OutputBuilder::default()
   19         -
    }
   20         -
}
   21         -
   22         -
/// A builder for [`HttpStringPayload2Output`](crate::operation::http_string_payload2::HttpStringPayload2Output).
   23         -
#[non_exhaustive]
   24         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   25         -
pub struct HttpStringPayload2OutputBuilder {
   26         -
    pub(crate) payload: ::std::option::Option<::std::string::String>,
   27         -
}
   28         -
impl HttpStringPayload2OutputBuilder {
   29         -
    #[allow(missing_docs)] // documentation missing in model
   30         -
    pub fn payload(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   31         -
        self.payload = ::std::option::Option::Some(input.into());
   32         -
        self
   33         -
    }
   34         -
    #[allow(missing_docs)] // documentation missing in model
   35         -
    pub fn set_payload(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   36         -
        self.payload = input;
   37         -
        self
   38         -
    }
   39         -
    #[allow(missing_docs)] // documentation missing in model
   40         -
    pub fn get_payload(&self) -> &::std::option::Option<::std::string::String> {
   41         -
        &self.payload
   42         -
    }
   43         -
    /// Consumes the builder and constructs a [`HttpStringPayload2Output`](crate::operation::http_string_payload2::HttpStringPayload2Output).
   44         -
    pub fn build(self) -> crate::operation::http_string_payload2::HttpStringPayload2Output {
   45         -
        crate::operation::http_string_payload2::HttpStringPayload2Output { payload: self.payload }
   46         -
    }
   47         -
}

tmp-codegen-diff/codegen-client-test/rest_json_extras/rust-client-codegen/src/operation/malformed_content_type_with_body2/_malformed_content_type_with_body2_input.rs

@@ -1,0 +54,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct MalformedContentTypeWithBody2Input {
    6         -
    #[allow(missing_docs)] // documentation missing in model
    7         -
    pub salutation: ::std::option::Option<::std::string::String>,
    8         -
}
    9         -
impl MalformedContentTypeWithBody2Input {
   10         -
    #[allow(missing_docs)] // documentation missing in model
   11         -
    pub fn salutation(&self) -> ::std::option::Option<&str> {
   12         -
        self.salutation.as_deref()
   13         -
    }
   14         -
}
   15         -
impl MalformedContentTypeWithBody2Input {
   16         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithBody2Input`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input).
   17         -
    pub fn builder() -> crate::operation::malformed_content_type_with_body2::builders::MalformedContentTypeWithBody2InputBuilder {
   18         -
        crate::operation::malformed_content_type_with_body2::builders::MalformedContentTypeWithBody2InputBuilder::default()
   19         -
    }
   20         -
}
   21         -
   22         -
/// A builder for [`MalformedContentTypeWithBody2Input`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input).
   23         -
#[non_exhaustive]
   24         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   25         -
pub struct MalformedContentTypeWithBody2InputBuilder {
   26         -
    pub(crate) salutation: ::std::option::Option<::std::string::String>,
   27         -
}
   28         -
impl MalformedContentTypeWithBody2InputBuilder {
   29         -
    #[allow(missing_docs)] // documentation missing in model
   30         -
    pub fn salutation(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
   31         -
        self.salutation = ::std::option::Option::Some(input.into());
   32         -
        self
   33         -
    }
   34         -
    #[allow(missing_docs)] // documentation missing in model
   35         -
    pub fn set_salutation(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
   36         -
        self.salutation = input;
   37         -
        self
   38         -
    }
   39         -
    #[allow(missing_docs)] // documentation missing in model
   40         -
    pub fn get_salutation(&self) -> &::std::option::Option<::std::string::String> {
   41         -
        &self.salutation
   42         -
    }
   43         -
    /// Consumes the builder and constructs a [`MalformedContentTypeWithBody2Input`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input).
   44         -
    pub fn build(
   45         -
        self,
   46         -
    ) -> ::std::result::Result<
   47         -
        crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input,
   48         -
        ::aws_smithy_types::error::operation::BuildError,
   49         -
    > {
   50         -
        ::std::result::Result::Ok(crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input {
   51         -
            salutation: self.salutation,
   52         -
        })
   53         -
    }
   54         -
}

tmp-codegen-diff/codegen-client-test/rest_json_extras/rust-client-codegen/src/operation/malformed_content_type_with_body2/_malformed_content_type_with_body2_output.rs

@@ -1,0 +22,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(missing_docs)] // documentation missing in model
    3         -
#[non_exhaustive]
    4         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
    5         -
pub struct MalformedContentTypeWithBody2Output {}
    6         -
impl MalformedContentTypeWithBody2Output {
    7         -
    /// Creates a new builder-style object to manufacture [`MalformedContentTypeWithBody2Output`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output).
    8         -
    pub fn builder() -> crate::operation::malformed_content_type_with_body2::builders::MalformedContentTypeWithBody2OutputBuilder {
    9         -
        crate::operation::malformed_content_type_with_body2::builders::MalformedContentTypeWithBody2OutputBuilder::default()
   10         -
    }
   11         -
}
   12         -
   13         -
/// A builder for [`MalformedContentTypeWithBody2Output`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output).
   14         -
#[non_exhaustive]
   15         -
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   16         -
pub struct MalformedContentTypeWithBody2OutputBuilder {}
   17         -
impl MalformedContentTypeWithBody2OutputBuilder {
   18         -
    /// Consumes the builder and constructs a [`MalformedContentTypeWithBody2Output`](crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output).
   19         -
    pub fn build(self) -> crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output {
   20         -
        crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output {}
   21         -
    }
   22         -
}

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

@@ -4,4 +108,86 @@
   24     24   
}
   25     25   
   26     26   
pub(crate) mod shape_case_insensitive_error_operation;
   27     27   
   28     28   
pub(crate) mod shape_empty_struct_with_content_on_wire_op;
   29     29   
   30     30   
pub(crate) mod shape_enum_query;
   31     31   
   32     32   
pub(crate) mod shape_escaped_string_values;
   33     33   
   34         -
pub(crate) mod shape_http_enum_payload2;
   35         -
   36         -
pub(crate) mod shape_http_enum_payload2_input;
   37         -
   38         -
pub(crate) mod shape_http_payload_traits2;
   39         -
   40         -
pub(crate) mod shape_http_payload_traits2_input;
   41         -
   42         -
pub(crate) mod shape_http_string_payload2;
   43         -
   44         -
pub(crate) mod shape_http_string_payload2_input;
   45         -
   46         -
pub(crate) mod shape_malformed_content_type_with_body2;
   47         -
   48     34   
pub(crate) mod shape_map_with_enum_key_op;
   49     35   
   50     36   
pub(crate) mod shape_null_in_non_sparse;
   51     37   
   52     38   
pub(crate) mod shape_primitive_int_header;
   53     39   
   54     40   
pub(crate) mod shape_primitive_int_op;
   55     41   
   56     42   
pub(crate) mod shape_query_precedence;
   57     43   
   58     44   
pub(crate) mod shape_status_response;
   59     45   
   60     46   
pub(crate) mod shape_string_payload;
   61     47   
   62     48   
pub(crate) mod shape_string_payload_input;
   63     49   
   64     50   
pub(crate) fn or_empty_doc(data: &[u8]) -> &[u8] {
   65     51   
    if data.is_empty() {
   66     52   
        b"{}"
   67     53   
    } else {
   68     54   
        data
   69     55   
    }
   70     56   
}
   71     57   
   72     58   
pub(crate) mod shape_case_insensitive_error;
   73     59   
   74     60   
pub(crate) mod shape_escaped_string_values_input;
   75     61   
   76     62   
pub(crate) mod shape_extra_error;
   77     63   
   78         -
pub(crate) mod shape_http_enum_payload2_output;
   79         -
   80         -
pub(crate) mod shape_http_payload_traits2_output;
   81         -
   82         -
pub(crate) mod shape_http_string_payload2_output;
   83         -
   84         -
pub(crate) mod shape_malformed_content_type_with_body2_input;
   85         -
   86     64   
pub(crate) mod shape_map_with_enum_key_op_input;
   87     65   
   88     66   
pub(crate) mod shape_primitive_int_header_output;
   89     67   
   90     68   
pub(crate) mod shape_primitive_int_op_input;
   91     69   
   92     70   
pub(crate) mod shape_string_payload_output;
   93     71   
   94     72   
pub(crate) mod shape_validation_exception;
   95     73   

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

@@ -1,0 +66,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_http_enum_payload2_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<crate::operation::http_enum_payload2::HttpEnumPayload2Output, crate::operation::http_enum_payload2::HttpEnumPayload2Error> {
    8         -
    #[allow(unused_mut)]
    9         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10         -
        .map_err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled)?;
   11         -
    let generic = generic_builder.build();
   12         -
    let error_code = match generic.code() {
   13         -
        Some(code) => code,
   14         -
        None => return Err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled(generic)),
   15         -
    };
   16         -
   17         -
    let _error_message = generic.message().map(|msg| msg.to_owned());
   18         -
    Err(match error_code {
   19         -
        "ValidationException" => crate::operation::http_enum_payload2::HttpEnumPayload2Error::ValidationError({
   20         -
            #[allow(unused_mut)]
   21         -
            let mut tmp = {
   22         -
                #[allow(unused_mut)]
   23         -
                let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
   24         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
   25         -
                    .map_err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled)?;
   26         -
                let output = output.meta(generic);
   27         -
                crate::serde_util::validation_exception_correct_errors(output)
   28         -
                    .build()
   29         -
                    .map_err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled)?
   30         -
            };
   31         -
            tmp
   32         -
        }),
   33         -
        "ExtraError" => crate::operation::http_enum_payload2::HttpEnumPayload2Error::ExtraError({
   34         -
            #[allow(unused_mut)]
   35         -
            let mut tmp = {
   36         -
                #[allow(unused_mut)]
   37         -
                let mut output = crate::types::error::builders::ExtraErrorBuilder::default();
   38         -
                output = crate::protocol_serde::shape_extra_error::de_extra_error_json_err(_response_body, output)
   39         -
                    .map_err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled)?;
   40         -
                let output = output.meta(generic);
   41         -
                output.build()
   42         -
            };
   43         -
            if tmp.message.is_none() {
   44         -
                tmp.message = _error_message;
   45         -
            }
   46         -
            tmp
   47         -
        }),
   48         -
        _ => crate::operation::http_enum_payload2::HttpEnumPayload2Error::generic(generic),
   49         -
    })
   50         -
}
   51         -
   52         -
#[allow(clippy::unnecessary_wraps)]
   53         -
pub fn de_http_enum_payload2_http_response(
   54         -
    _response_status: u16,
   55         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   56         -
    _response_body: &[u8],
   57         -
) -> std::result::Result<crate::operation::http_enum_payload2::HttpEnumPayload2Output, crate::operation::http_enum_payload2::HttpEnumPayload2Error> {
   58         -
    Ok({
   59         -
        #[allow(unused_mut)]
   60         -
        let mut output = crate::operation::http_enum_payload2::builders::HttpEnumPayload2OutputBuilder::default();
   61         -
        output = output.set_payload(crate::protocol_serde::shape_http_enum_payload2_output::de_payload_payload(
   62         -
            _response_body,
   63         -
        )?);
   64         -
        output.build()
   65         -
    })
   66         -
}

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

@@ -1,0 +10,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_payload_http_payload(
    3         -
    payload: ::std::option::Option<crate::types::StringEnum>,
    4         -
) -> Result<::std::vec::Vec<u8>, ::aws_smithy_types::error::operation::BuildError> {
    5         -
    let payload = match payload {
    6         -
        Some(t) => t,
    7         -
        None => return Ok(Vec::new()),
    8         -
    };
    9         -
    Ok(payload.as_str().as_bytes().to_vec())
   10         -
}

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

@@ -1,0 +11,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_payload_payload(
    3         -
    body: &[u8],
    4         -
) -> std::result::Result<::std::option::Option<crate::types::StringEnum>, crate::operation::http_enum_payload2::HttpEnumPayload2Error> {
    5         -
    (!body.is_empty())
    6         -
        .then(|| {
    7         -
            let body_str = std::str::from_utf8(body).map_err(crate::operation::http_enum_payload2::HttpEnumPayload2Error::unhandled)?;
    8         -
            Ok(crate::types::StringEnum::from(body_str))
    9         -
        })
   10         -
        .transpose()
   11         -
}

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

@@ -1,0 +80,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_http_payload_traits2_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::http_payload_traits2::HttpPayloadTraits2Output,
    9         -
    crate::operation::http_payload_traits2::HttpPayloadTraits2Error,
   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::http_payload_traits2::HttpPayloadTraits2Error::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    let error_code = match generic.code() {
   16         -
        Some(code) => code,
   17         -
        None => return Err(crate::operation::http_payload_traits2::HttpPayloadTraits2Error::unhandled(generic)),
   18         -
    };
   19         -
   20         -
    let _error_message = generic.message().map(|msg| msg.to_owned());
   21         -
    Err(match error_code {
   22         -
        "ExtraError" => crate::operation::http_payload_traits2::HttpPayloadTraits2Error::ExtraError({
   23         -
            #[allow(unused_mut)]
   24         -
            let mut tmp = {
   25         -
                #[allow(unused_mut)]
   26         -
                let mut output = crate::types::error::builders::ExtraErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_extra_error::de_extra_error_json_err(_response_body, output)
   28         -
                    .map_err(crate::operation::http_payload_traits2::HttpPayloadTraits2Error::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                output.build()
   31         -
            };
   32         -
            if tmp.message.is_none() {
   33         -
                tmp.message = _error_message;
   34         -
            }
   35         -
            tmp
   36         -
        }),
   37         -
        _ => crate::operation::http_payload_traits2::HttpPayloadTraits2Error::generic(generic),
   38         -
    })
   39         -
}
   40         -
   41         -
#[allow(clippy::unnecessary_wraps)]
   42         -
pub fn de_http_payload_traits2_http_response(
   43         -
    _response_status: u16,
   44         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   45         -
    _response_body: &[u8],
   46         -
) -> std::result::Result<
   47         -
    crate::operation::http_payload_traits2::HttpPayloadTraits2Output,
   48         -
    crate::operation::http_payload_traits2::HttpPayloadTraits2Error,
   49         -
> {
   50         -
    Ok({
   51         -
        #[allow(unused_mut)]
   52         -
        let mut output = crate::operation::http_payload_traits2::builders::HttpPayloadTraits2OutputBuilder::default();
   53         -
        output = output.set_blob(crate::protocol_serde::shape_http_payload_traits2_output::de_blob_payload(_response_body)?);
   54         -
        output = output.set_foo(
   55         -
            crate::protocol_serde::shape_http_payload_traits2_output::de_foo_header(_response_headers)
   56         -
                .map_err(|_| crate::operation::http_payload_traits2::HttpPayloadTraits2Error::unhandled("Failed to parse foo from header `X-Foo"))?,
   57         -
        );
   58         -
        output.build()
   59         -
    })
   60         -
}
   61         -
   62         -
pub fn ser_http_payload_traits2_headers(
   63         -
    input: &crate::operation::http_payload_traits2::HttpPayloadTraits2Input,
   64         -
    mut builder: ::http::request::Builder,
   65         -
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
   66         -
    if let ::std::option::Option::Some(inner_1) = &input.foo {
   67         -
        let formatted_2 = inner_1.as_str();
   68         -
        if !formatted_2.is_empty() {
   69         -
            let header_value = formatted_2;
   70         -
            let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
   71         -
                ::aws_smithy_types::error::operation::BuildError::invalid_field(
   72         -
                    "foo",
   73         -
                    format!("`{}` cannot be used as a header value: {}", &header_value, err),
   74         -
                )
   75         -
            })?;
   76         -
            builder = builder.header("X-Foo", header_value);
   77         -
        }
   78         -
    }
   79         -
    Ok(builder)
   80         -
}

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

@@ -1,0 +10,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_blob_http_payload(
    3         -
    payload: ::std::option::Option<::aws_smithy_types::Blob>,
    4         -
) -> Result<::std::vec::Vec<u8>, ::aws_smithy_types::error::operation::BuildError> {
    5         -
    let payload = match payload {
    6         -
        Some(t) => t,
    7         -
        None => return Ok(Vec::new()),
    8         -
    };
    9         -
    Ok(payload.into_inner())
   10         -
}

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

@@ -1,0 +13,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_blob_payload(
    3         -
    body: &[u8],
    4         -
) -> std::result::Result<::std::option::Option<::aws_smithy_types::Blob>, crate::operation::http_payload_traits2::HttpPayloadTraits2Error> {
    5         -
    (!body.is_empty()).then(|| Ok(::aws_smithy_types::Blob::new(body))).transpose()
    6         -
}
    7         -
    8         -
pub(crate) fn de_foo_header(
    9         -
    header_map: &::aws_smithy_runtime_api::http::Headers,
   10         -
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
   11         -
    let headers = header_map.get_all("X-Foo");
   12         -
    ::aws_smithy_http::header::one_or_none(headers)
   13         -
}

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

@@ -1,0 +58,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_http_string_payload2_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::http_string_payload2::HttpStringPayload2Output,
    9         -
    crate::operation::http_string_payload2::HttpStringPayload2Error,
   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::http_string_payload2::HttpStringPayload2Error::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    let error_code = match generic.code() {
   16         -
        Some(code) => code,
   17         -
        None => return Err(crate::operation::http_string_payload2::HttpStringPayload2Error::unhandled(generic)),
   18         -
    };
   19         -
   20         -
    let _error_message = generic.message().map(|msg| msg.to_owned());
   21         -
    Err(match error_code {
   22         -
        "ExtraError" => crate::operation::http_string_payload2::HttpStringPayload2Error::ExtraError({
   23         -
            #[allow(unused_mut)]
   24         -
            let mut tmp = {
   25         -
                #[allow(unused_mut)]
   26         -
                let mut output = crate::types::error::builders::ExtraErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_extra_error::de_extra_error_json_err(_response_body, output)
   28         -
                    .map_err(crate::operation::http_string_payload2::HttpStringPayload2Error::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                output.build()
   31         -
            };
   32         -
            if tmp.message.is_none() {
   33         -
                tmp.message = _error_message;
   34         -
            }
   35         -
            tmp
   36         -
        }),
   37         -
        _ => crate::operation::http_string_payload2::HttpStringPayload2Error::generic(generic),
   38         -
    })
   39         -
}
   40         -
   41         -
#[allow(clippy::unnecessary_wraps)]
   42         -
pub fn de_http_string_payload2_http_response(
   43         -
    _response_status: u16,
   44         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   45         -
    _response_body: &[u8],
   46         -
) -> std::result::Result<
   47         -
    crate::operation::http_string_payload2::HttpStringPayload2Output,
   48         -
    crate::operation::http_string_payload2::HttpStringPayload2Error,
   49         -
> {
   50         -
    Ok({
   51         -
        #[allow(unused_mut)]
   52         -
        let mut output = crate::operation::http_string_payload2::builders::HttpStringPayload2OutputBuilder::default();
   53         -
        output = output.set_payload(crate::protocol_serde::shape_http_string_payload2_output::de_payload_payload(
   54         -
            _response_body,
   55         -
        )?);
   56         -
        output.build()
   57         -
    })
   58         -
}

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

@@ -1,0 +10,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_payload_http_payload(
    3         -
    payload: ::std::option::Option<::std::string::String>,
    4         -
) -> Result<::std::vec::Vec<u8>, ::aws_smithy_types::error::operation::BuildError> {
    5         -
    let payload = match payload {
    6         -
        Some(t) => t,
    7         -
        None => return Ok(Vec::new()),
    8         -
    };
    9         -
    Ok(payload.into_bytes())
   10         -
}

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

@@ -1,0 +11,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_payload_payload(
    3         -
    body: &[u8],
    4         -
) -> std::result::Result<::std::option::Option<::std::string::String>, crate::operation::http_string_payload2::HttpStringPayload2Error> {
    5         -
    (!body.is_empty())
    6         -
        .then(|| {
    7         -
            let body_str = std::str::from_utf8(body).map_err(crate::operation::http_string_payload2::HttpStringPayload2Error::unhandled)?;
    8         -
            Ok(body_str.to_string())
    9         -
        })
   10         -
        .transpose()
   11         -
}

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

@@ -1,0 +65,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_malformed_content_type_with_body2_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::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output,
    9         -
    crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error,
   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::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    let error_code = match generic.code() {
   16         -
        Some(code) => code,
   17         -
        None => return Err(crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error::unhandled(generic)),
   18         -
    };
   19         -
   20         -
    let _error_message = generic.message().map(|msg| msg.to_owned());
   21         -
    Err(match error_code {
   22         -
        "ExtraError" => crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error::ExtraError({
   23         -
            #[allow(unused_mut)]
   24         -
            let mut tmp = {
   25         -
                #[allow(unused_mut)]
   26         -
                let mut output = crate::types::error::builders::ExtraErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_extra_error::de_extra_error_json_err(_response_body, output)
   28         -
                    .map_err(crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                output.build()
   31         -
            };
   32         -
            if tmp.message.is_none() {
   33         -
                tmp.message = _error_message;
   34         -
            }
   35         -
            tmp
   36         -
        }),
   37         -
        _ => crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error::generic(generic),
   38         -
    })
   39         -
}
   40         -
   41         -
#[allow(clippy::unnecessary_wraps)]
   42         -
pub fn de_malformed_content_type_with_body2_http_response(
   43         -
    _response_status: u16,
   44         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   45         -
    _response_body: &[u8],
   46         -
) -> std::result::Result<
   47         -
    crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Output,
   48         -
    crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Error,
   49         -
> {
   50         -
    Ok({
   51         -
        #[allow(unused_mut)]
   52         -
        let mut output = crate::operation::malformed_content_type_with_body2::builders::MalformedContentTypeWithBody2OutputBuilder::default();
   53         -
        output.build()
   54         -
    })
   55         -
}
   56         -
   57         -
pub fn ser_malformed_content_type_with_body2_input(
   58         -
    input: &crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input,
   59         -
) -> Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
   60         -
    let mut out = String::new();
   61         -
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
   62         -
    crate::protocol_serde::shape_malformed_content_type_with_body2_input::ser_malformed_content_type_with_body2_input_input(&mut object, input)?;
   63         -
    object.finish();
   64         -
    Ok(::aws_smithy_types::body::SdkBody::from(out))
   65         -
}

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

@@ -1,0 +10,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_malformed_content_type_with_body2_input_input(
    3         -
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4         -
    input: &crate::operation::malformed_content_type_with_body2::MalformedContentTypeWithBody2Input,
    5         -
) -> Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    6         -
    if let Some(var_1) = &input.salutation {
    7         -
        object.key("salutation").string(var_1.as_str());
    8         -
    }
    9         -
    Ok(())
   10         -
}