Server Test Python

Server Test Python

rev. 1661690c47759989ca94986fb8d3e5132fc72dc5 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test-python/naming_test_ops/rust-server-codegen-python/src/error.rs

@@ -646,646 +759,757 @@
  666    666   
            }
  667    667   
            .into()
  668    668   
        })
  669    669   
    }
  670    670   
}
  671    671   
/// See [`InternalServerError`](crate::error::InternalServerError).
  672    672   
pub mod internal_server_error {
  673    673   
  674    674   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  675    675   
    /// Holds one variant for each of the ways the builder can fail.
  676         -
  677    676   
    #[allow(clippy::enum_variant_names)]
  678    677   
    pub enum ConstraintViolation {
  679    678   
        /// `message` was not provided but it is required when building `InternalServerError`.
  680    679   
        MissingMessage,
  681    680   
    }
  682    681   
    impl ::std::fmt::Display for ConstraintViolation {
  683    682   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  684    683   
            match self {
  685    684   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `InternalServerError`"),
  686    685   
            }
  687    686   
        }
  688    687   
    }
  689    688   
    impl ::std::error::Error for ConstraintViolation {}
  690    689   
    impl ::std::convert::TryFrom<Builder> for crate::error::InternalServerError {
  691    690   
        type Error = ConstraintViolation;
  692    691   
  693    692   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  694    693   
            builder.build()
  695    694   
        }
  696    695   
    }
  697    696   
    /// A builder for [`InternalServerError`](crate::error::InternalServerError).
  698    697   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  699    698   
    pub struct Builder {
  700    699   
        pub(crate) message: ::std::option::Option<::std::string::String>,
  701    700   
    }
  702    701   
    impl Builder {
  703    702   
        #[allow(missing_docs)] // documentation missing in model
  704    703   
        pub fn message(mut self, input: ::std::string::String) -> Self {
  705    704   
            self.message = Some(input);
  706    705   
            self
  707    706   
        }
  708    707   
        /// Consumes the builder and constructs a [`InternalServerError`](crate::error::InternalServerError).
  709    708   
        ///
  710    709   
        /// The builder fails to construct a [`InternalServerError`](crate::error::InternalServerError) if you do not provide a value for all non-`Option`al members.
  711    710   
        ///
  712    711   
        pub fn build(self) -> Result<crate::error::InternalServerError, ConstraintViolation> {
  713    712   
            self.build_enforcing_required_and_enum_traits()
  714    713   
        }
  715    714   
        fn build_enforcing_required_and_enum_traits(
  716    715   
            self,
  717    716   
        ) -> Result<crate::error::InternalServerError, ConstraintViolation> {
  718    717   
            Ok(crate::error::InternalServerError {
  719    718   
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
  720    719   
            })
  721    720   
        }
  722    721   
    }
  723    722   
}
  724    723   
/// See [`ValidationException`](crate::error::ValidationException).
  725    724   
pub mod validation_exception {
  726    725   
  727    726   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  728    727   
    /// Holds one variant for each of the ways the builder can fail.
  729         -
  730    728   
    #[allow(clippy::enum_variant_names)]
  731    729   
    pub enum ConstraintViolation {
  732    730   
        /// `message` was not provided but it is required when building `ValidationException`.
  733    731   
        MissingMessage,
  734    732   
    }
  735    733   
    impl ::std::fmt::Display for ConstraintViolation {
  736    734   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  737    735   
            match self {
  738    736   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationException`"),
  739    737   
            }

tmp-codegen-diff/codegen-server-test-python/naming_test_ops/rust-server-codegen-python/src/model.rs

@@ -240,240 +300,299 @@
  260    260   
    /// Creates a new builder-style object to manufacture [`Vec`](crate::model::Vec).
  261    261   
    pub fn builder() -> crate::model::vec::Builder {
  262    262   
        crate::model::vec::Builder::default()
  263    263   
    }
  264    264   
}
  265    265   
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  266    266   
pub mod validation_exception_field {
  267    267   
  268    268   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  269    269   
    /// Holds one variant for each of the ways the builder can fail.
  270         -
  271    270   
    #[allow(clippy::enum_variant_names)]
  272    271   
    pub enum ConstraintViolation {
  273    272   
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
  274    273   
        MissingPath,
  275    274   
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
  276    275   
        MissingMessage,
  277    276   
    }
  278    277   
    impl ::std::fmt::Display for ConstraintViolation {
  279    278   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  280    279   
            match self {

tmp-codegen-diff/codegen-server-test-python/naming_test_ops/rust-server-codegen-python/src/operation.rs

@@ -24,24 +86,84 @@
   44     44   
    type Future = RpcEchoInputFuture;
   45     45   
   46     46   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   47     47   
        let fut = async move {
   48     48   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   49     49   
                request.headers(),
   50     50   
                &CONTENT_TYPE_RPCECHO,
   51     51   
            ) {
   52     52   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   53     53   
            }
   54         -
            crate::protocol_serde::shape_rpc_echo::de_rpc_echo_http_request(request)
   55         -
                .await
   56         -
                .map_err(Into::into)
          54  +
            crate::protocol_serde::shape_rpc_echo::de_rpc_echo_http_request(request).await
   57     55   
        };
   58     56   
        use ::futures_util::future::TryFutureExt;
   59     57   
        let fut = fut.map_err(
   60     58   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   61     59   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   62     60   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   63     61   
            },
   64     62   
        );
   65     63   
        RpcEchoInputFuture {
   66     64   
            inner: Box::pin(fut),
@@ -140,138 +202,198 @@
  160    158   
    type Future = MatchInputFuture;
  161    159   
  162    160   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  163    161   
        let fut = async move {
  164    162   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  165    163   
                request.headers(),
  166    164   
                &CONTENT_TYPE_MATCH,
  167    165   
            ) {
  168    166   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  169    167   
            }
  170         -
            crate::protocol_serde::shape_match::de_match_http_request(request)
  171         -
                .await
  172         -
                .map_err(Into::into)
         168  +
            crate::protocol_serde::shape_match::de_match_http_request(request).await
  173    169   
        };
  174    170   
        use ::futures_util::future::TryFutureExt;
  175    171   
        let fut = fut.map_err(
  176    172   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  177    173   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  178    174   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  179    175   
            },
  180    176   
        );
  181    177   
        MatchInputFuture {
  182    178   
            inner: Box::pin(fut),
@@ -256,252 +318,312 @@
  276    272   
    type Future = OptionInputFuture;
  277    273   
  278    274   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  279    275   
        let fut = async move {
  280    276   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  281    277   
                request.headers(),
  282    278   
                &CONTENT_TYPE_OPTION,
  283    279   
            ) {
  284    280   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  285    281   
            }
  286         -
            crate::protocol_serde::shape_option::de_option_http_request(request)
  287         -
                .await
  288         -
                .map_err(Into::into)
         282  +
            crate::protocol_serde::shape_option::de_option_http_request(request).await
  289    283   
        };
  290    284   
        use ::futures_util::future::TryFutureExt;
  291    285   
        let fut = fut.map_err(
  292    286   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  293    287   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  294    288   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  295    289   
            },
  296    290   
        );
  297    291   
        OptionInputFuture {
  298    292   
            inner: Box::pin(fut),
@@ -372,366 +434,426 @@
  392    386   
    type Future = ResultInputFuture;
  393    387   
  394    388   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  395    389   
        let fut = async move {
  396    390   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  397    391   
                request.headers(),
  398    392   
                &CONTENT_TYPE_RESULT,
  399    393   
            ) {
  400    394   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  401    395   
            }
  402         -
            crate::protocol_serde::shape_result::de_result_http_request(request)
  403         -
                .await
  404         -
                .map_err(Into::into)
         396  +
            crate::protocol_serde::shape_result::de_result_http_request(request).await
  405    397   
        };
  406    398   
        use ::futures_util::future::TryFutureExt;
  407    399   
        let fut = fut.map_err(
  408    400   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  409    401   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  410    402   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  411    403   
            },
  412    404   
        );
  413    405   
        ResultInputFuture {
  414    406   
            inner: Box::pin(fut),
@@ -491,483 +551,542 @@
  511    503   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  512    504   
        let fut = async move {
  513    505   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  514    506   
                request.headers(),
  515    507   
                &CONTENT_TYPE_ERRCOLLISIONS,
  516    508   
            ) {
  517    509   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  518    510   
            }
  519    511   
            crate::protocol_serde::shape_err_collisions::de_err_collisions_http_request(request)
  520    512   
                .await
  521         -
                .map_err(Into::into)
  522    513   
        };
  523    514   
        use ::futures_util::future::TryFutureExt;
  524    515   
        let fut = fut.map_err(
  525    516   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  526    517   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  527    518   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  528    519   
            },
  529    520   
        );
  530    521   
        ErrCollisionsInputFuture {
  531    522   
            inner: Box::pin(fut),
@@ -608,599 +668,658 @@
  628    619   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  629    620   
        let fut = async move {
  630    621   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  631    622   
                request.headers(),
  632    623   
                &CONTENT_TYPE_STRUCTURENAMEPUNNING,
  633    624   
            ) {
  634    625   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  635    626   
            }
  636    627   
            crate::protocol_serde::shape_structure_name_punning::de_structure_name_punning_http_request(request)
  637    628   
                            .await
  638         -
                            .map_err(Into::into)
  639    629   
        };
  640    630   
        use ::futures_util::future::TryFutureExt;
  641    631   
        let fut = fut.map_err(
  642    632   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  643    633   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  644    634   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  645    635   
            },
  646    636   
        );
  647    637   
        StructureNamePunningInputFuture {
  648    638   
            inner: Box::pin(fut),
@@ -711,701 +771,760 @@
  731    721   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  732    722   
        let fut = async move {
  733    723   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  734    724   
                request.headers(),
  735    725   
                &CONTENT_TYPE_RESERVEDWORDSASMEMBERS,
  736    726   
            ) {
  737    727   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  738    728   
            }
  739    729   
            crate::protocol_serde::shape_reserved_words_as_members::de_reserved_words_as_members_http_request(request)
  740    730   
                            .await
  741         -
                            .map_err(Into::into)
  742    731   
        };
  743    732   
        use ::futures_util::future::TryFutureExt;
  744    733   
        let fut = fut.map_err(
  745    734   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  746    735   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  747    736   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  748    737   
            },
  749    738   
        );
  750    739   
        ReservedWordsAsMembersInputFuture {
  751    740   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test-python/naming_test_structs/rust-server-codegen-python/src/error.rs

@@ -84,84 +144,143 @@
  104    104   
    /// Creates a new builder-style object to manufacture [`InternalServerError`](crate::error::InternalServerError).
  105    105   
    pub fn builder() -> crate::error::internal_server_error::Builder {
  106    106   
        crate::error::internal_server_error::Builder::default()
  107    107   
    }
  108    108   
}
  109    109   
/// See [`InternalServerError`](crate::error::InternalServerError).
  110    110   
pub mod internal_server_error {
  111    111   
  112    112   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  113    113   
    /// Holds one variant for each of the ways the builder can fail.
  114         -
  115    114   
    #[allow(clippy::enum_variant_names)]
  116    115   
    pub enum ConstraintViolation {
  117    116   
        /// `message` was not provided but it is required when building `InternalServerError`.
  118    117   
        MissingMessage,
  119    118   
    }
  120    119   
    impl ::std::fmt::Display for ConstraintViolation {
  121    120   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  122    121   
            match self {
  123    122   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `InternalServerError`"),
  124    123   
            }

tmp-codegen-diff/codegen-server-test-python/naming_test_structs/rust-server-codegen-python/src/operation.rs

@@ -24,24 +86,84 @@
   44     44   
    type Future = StructsInputFuture;
   45     45   
   46     46   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   47     47   
        let fut = async move {
   48     48   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   49     49   
                request.headers(),
   50     50   
                &CONTENT_TYPE_STRUCTS,
   51     51   
            ) {
   52     52   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   53     53   
            }
   54         -
            crate::protocol_serde::shape_structs::de_structs_http_request(request)
   55         -
                .await
   56         -
                .map_err(Into::into)
          54  +
            crate::protocol_serde::shape_structs::de_structs_http_request(request).await
   57     55   
        };
   58     56   
        use ::futures_util::future::TryFutureExt;
   59     57   
        let fut = fut.map_err(
   60     58   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   61     59   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   62     60   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   63     61   
            },
   64     62   
        );
   65     63   
        StructsInputFuture {
   66     64   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/error.rs

@@ -1143,1143 +1256,1254 @@
 1163   1163   
            }
 1164   1164   
            .into()
 1165   1165   
        })
 1166   1166   
    }
 1167   1167   
}
 1168   1168   
/// See [`InternalServerError`](crate::error::InternalServerError).
 1169   1169   
pub mod internal_server_error {
 1170   1170   
 1171   1171   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1172   1172   
    /// Holds one variant for each of the ways the builder can fail.
 1173         -
 1174   1173   
    #[allow(clippy::enum_variant_names)]
 1175   1174   
    pub enum ConstraintViolation {
 1176   1175   
        /// `message` was not provided but it is required when building `InternalServerError`.
 1177   1176   
        MissingMessage,
 1178   1177   
    }
 1179   1178   
    impl ::std::fmt::Display for ConstraintViolation {
 1180   1179   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1181   1180   
            match self {
 1182   1181   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `InternalServerError`"),
 1183   1182   
            }
 1184   1183   
        }
 1185   1184   
    }
 1186   1185   
    impl ::std::error::Error for ConstraintViolation {}
 1187   1186   
    impl ::std::convert::TryFrom<Builder> for crate::error::InternalServerError {
 1188   1187   
        type Error = ConstraintViolation;
 1189   1188   
 1190   1189   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1191   1190   
            builder.build()
 1192   1191   
        }
 1193   1192   
    }
 1194   1193   
    /// A builder for [`InternalServerError`](crate::error::InternalServerError).
 1195   1194   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1196   1195   
    pub struct Builder {
 1197   1196   
        pub(crate) message: ::std::option::Option<::std::string::String>,
 1198   1197   
    }
 1199   1198   
    impl Builder {
 1200   1199   
        #[allow(missing_docs)] // documentation missing in model
 1201   1200   
        pub fn message(mut self, input: ::std::string::String) -> Self {
 1202   1201   
            self.message = Some(input);
 1203   1202   
            self
 1204   1203   
        }
 1205   1204   
        /// Consumes the builder and constructs a [`InternalServerError`](crate::error::InternalServerError).
 1206   1205   
        ///
 1207   1206   
        /// The builder fails to construct a [`InternalServerError`](crate::error::InternalServerError) if you do not provide a value for all non-`Option`al members.
 1208   1207   
        ///
 1209   1208   
        pub fn build(self) -> Result<crate::error::InternalServerError, ConstraintViolation> {
 1210   1209   
            self.build_enforcing_required_and_enum_traits()
 1211   1210   
        }
 1212   1211   
        fn build_enforcing_required_and_enum_traits(
 1213   1212   
            self,
 1214   1213   
        ) -> Result<crate::error::InternalServerError, ConstraintViolation> {
 1215   1214   
            Ok(crate::error::InternalServerError {
 1216   1215   
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
 1217   1216   
            })
 1218   1217   
        }
 1219   1218   
    }
 1220   1219   
}
 1221   1220   
/// See [`ResourceNotFoundException`](crate::error::ResourceNotFoundException).
 1222   1221   
pub mod resource_not_found_exception {
 1223   1222   
 1224   1223   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1225   1224   
    /// Holds one variant for each of the ways the builder can fail.
 1226         -
 1227   1225   
    #[allow(clippy::enum_variant_names)]
 1228   1226   
    pub enum ConstraintViolation {
 1229   1227   
        /// `message` was not provided but it is required when building `ResourceNotFoundException`.
 1230   1228   
        MissingMessage,
 1231   1229   
    }
 1232   1230   
    impl ::std::fmt::Display for ConstraintViolation {
 1233   1231   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1234   1232   
            match self {
 1235   1233   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ResourceNotFoundException`"),
 1236   1234   
            }
@@ -1272,1270 +1332,1329 @@
 1292   1290   
        ) -> crate::error::StorageAccessNotAuthorized {
 1293   1291   
            crate::error::StorageAccessNotAuthorized {}
 1294   1292   
        }
 1295   1293   
    }
 1296   1294   
}
 1297   1295   
/// See [`ValidationException`](crate::error::ValidationException).
 1298   1296   
pub mod validation_exception {
 1299   1297   
 1300   1298   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1301   1299   
    /// Holds one variant for each of the ways the builder can fail.
 1302         -
 1303   1300   
    #[allow(clippy::enum_variant_names)]
 1304   1301   
    pub enum ConstraintViolation {
 1305   1302   
        /// `message` was not provided but it is required when building `ValidationException`.
 1306   1303   
        MissingMessage,
 1307   1304   
    }
 1308   1305   
    impl ::std::fmt::Display for ConstraintViolation {
 1309   1306   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1310   1307   
            match self {
 1311   1308   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationException`"),
 1312   1309   
            }
@@ -1336,1333 +1396,1392 @@
 1356   1353   
                field_list: self.field_list,
 1357   1354   
            })
 1358   1355   
        }
 1359   1356   
    }
 1360   1357   
}
 1361   1358   
/// See [`UnsupportedRegionError`](crate::error::UnsupportedRegionError).
 1362   1359   
pub mod unsupported_region_error {
 1363   1360   
 1364   1361   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1365   1362   
    /// Holds one variant for each of the ways the builder can fail.
 1366         -
 1367   1363   
    #[allow(clippy::enum_variant_names)]
 1368   1364   
    pub enum ConstraintViolation {
 1369   1365   
        /// `region` was not provided but it is required when building `UnsupportedRegionError`.
 1370   1366   
        MissingRegion,
 1371   1367   
    }
 1372   1368   
    impl ::std::fmt::Display for ConstraintViolation {
 1373   1369   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1374   1370   
            match self {
 1375   1371   
                ConstraintViolation::MissingRegion => write!(f, "`region` was not provided but it is required when building `UnsupportedRegionError`"),
 1376   1372   
            }
@@ -1410,1406 +1470,1465 @@
 1430   1426   
        fn build_enforcing_required_and_enum_traits(self) -> crate::error::ThrottlingError {
 1431   1427   
            crate::error::ThrottlingError {}
 1432   1428   
        }
 1433   1429   
    }
 1434   1430   
}
 1435   1431   
/// See [`InvalidPokeballError`](crate::error::InvalidPokeballError).
 1436   1432   
pub mod invalid_pokeball_error {
 1437   1433   
 1438   1434   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1439   1435   
    /// Holds one variant for each of the ways the builder can fail.
 1440         -
 1441   1436   
    #[allow(clippy::enum_variant_names)]
 1442   1437   
    pub enum ConstraintViolation {
 1443   1438   
        /// `pokeball` was not provided but it is required when building `InvalidPokeballError`.
 1444   1439   
        MissingPokeball,
 1445   1440   
    }
 1446   1441   
    impl ::std::fmt::Display for ConstraintViolation {
 1447   1442   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1448   1443   
            match self {
 1449   1444   
                ConstraintViolation::MissingPokeball => write!(f, "`pokeball` was not provided but it is required when building `InvalidPokeballError`"),
 1450   1445   
            }

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/input.rs

@@ -463,463 +523,522 @@
  483    483   
            formatter.field("passcode", &self.passcode);
  484    484   
            formatter.finish()
  485    485   
        }
  486    486   
    }
  487    487   
}
  488    488   
/// See [`GetStorageInput`](crate::input::GetStorageInput).
  489    489   
pub mod get_storage_input {
  490    490   
  491    491   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  492    492   
    /// Holds one variant for each of the ways the builder can fail.
  493         -
  494    493   
    #[allow(clippy::enum_variant_names)]
  495    494   
    pub enum ConstraintViolation {
  496    495   
        /// `user` was not provided but it is required when building `GetStorageInput`.
  497    496   
        MissingUser,
  498    497   
        /// `passcode` was not provided but it is required when building `GetStorageInput`.
  499    498   
        MissingPasscode,
  500    499   
    }
  501    500   
    impl ::std::fmt::Display for ConstraintViolation {
  502    501   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  503    502   
            match self {
@@ -624,623 +684,682 @@
  644    643   
                name: self.name.ok_or(ConstraintViolation::MissingName)?,
  645    644   
            })
  646    645   
        }
  647    646   
    }
  648    647   
}
  649    648   
/// See [`GetPokemonSpeciesInput`](crate::input::GetPokemonSpeciesInput).
  650    649   
pub mod get_pokemon_species_input {
  651    650   
  652    651   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  653    652   
    /// Holds one variant for each of the ways the builder can fail.
  654         -
  655    653   
    #[allow(clippy::enum_variant_names)]
  656    654   
    pub enum ConstraintViolation {
  657    655   
        /// `name` was not provided but it is required when building `GetPokemonSpeciesInput`.
  658    656   
        MissingName,
  659    657   
    }
  660    658   
    impl ::std::fmt::Display for ConstraintViolation {
  661    659   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  662    660   
            match self {
  663    661   
                ConstraintViolation::MissingName => write!(f, "`name` was not provided but it is required when building `GetPokemonSpeciesInput`"),
  664    662   
            }
@@ -877,875 +937,934 @@
  897    895   
                region: self.region.ok_or(ConstraintViolation::MissingRegion)?,
  898    896   
            })
  899    897   
        }
  900    898   
    }
  901    899   
}
  902    900   
/// See [`CapturePokemonInput`](crate::input::CapturePokemonInput).
  903    901   
pub mod capture_pokemon_input {
  904    902   
  905    903   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  906    904   
    /// Holds one variant for each of the ways the builder can fail.
  907         -
  908    905   
    #[allow(clippy::enum_variant_names)]
  909    906   
    pub enum ConstraintViolation {
  910    907   
        /// `events` was not provided but it is required when building `CapturePokemonInput`.
  911    908   
        MissingEvents,
  912    909   
        /// `region` was not provided but it is required when building `CapturePokemonInput`.
  913    910   
        MissingRegion,
  914    911   
    }
  915    912   
    impl ::std::fmt::Display for ConstraintViolation {
  916    913   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  917    914   
            match self {

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/model.rs

@@ -564,564 +624,623 @@
  584    584   
    /// Creates a new builder-style object to manufacture [`CapturingPayload`](crate::model::CapturingPayload).
  585    585   
    pub fn builder() -> crate::model::capturing_payload::Builder {
  586    586   
        crate::model::capturing_payload::Builder::default()
  587    587   
    }
  588    588   
}
  589    589   
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  590    590   
pub mod validation_exception_field {
  591    591   
  592    592   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  593    593   
    /// Holds one variant for each of the ways the builder can fail.
  594         -
  595    594   
    #[allow(clippy::enum_variant_names)]
  596    595   
    pub enum ConstraintViolation {
  597    596   
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
  598    597   
        MissingPath,
  599    598   
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
  600    599   
        MissingMessage,
  601    600   
    }
  602    601   
    impl ::std::fmt::Display for ConstraintViolation {
  603    602   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  604    603   
            match self {
@@ -627,626 +687,685 @@
  647    646   
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
  648    647   
            })
  649    648   
        }
  650    649   
    }
  651    650   
}
  652    651   
/// See [`FlavorText`](crate::model::FlavorText).
  653    652   
pub mod flavor_text {
  654    653   
  655    654   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  656    655   
    /// Holds one variant for each of the ways the builder can fail.
  657         -
  658    656   
    #[allow(clippy::enum_variant_names)]
  659    657   
    pub enum ConstraintViolation {
  660    658   
        /// `flavor_text` was not provided but it is required when building `FlavorText`.
  661    659   
        MissingFlavorText,
  662    660   
        /// `language` was not provided but it is required when building `FlavorText`.
  663    661   
        MissingLanguage,
  664    662   
    }
  665    663   
    impl ::std::fmt::Display for ConstraintViolation {
  666    664   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  667    665   
            match self {

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/operation.rs

@@ -20,20 +82,80 @@
   40     40   
    type Future = GetStorageInputFuture;
   41     41   
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_GETSTORAGE,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50         -
            crate::protocol_serde::shape_get_storage::de_get_storage_http_request(request)
   51         -
                .await
   52         -
                .map_err(Into::into)
          50  +
            crate::protocol_serde::shape_get_storage::de_get_storage_http_request(request).await
   53     51   
        };
   54     52   
        use ::futures_util::future::TryFutureExt;
   55     53   
        let fut = fut.map_err(
   56     54   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   57     55   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   58     56   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   59     57   
                    e,
   60     58   
                )
   61     59   
            },
   62     60   
        );
@@ -126,124 +186,183 @@
  146    144   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  147    145   
                request.headers(),
  148    146   
                &CONTENT_TYPE_GETPOKEMONSPECIES,
  149    147   
            ) {
  150    148   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  151    149   
            }
  152    150   
            crate::protocol_serde::shape_get_pokemon_species::de_get_pokemon_species_http_request(
  153    151   
                request,
  154    152   
            )
  155    153   
            .await
  156         -
            .map_err(Into::into)
  157    154   
        };
  158    155   
        use ::futures_util::future::TryFutureExt;
  159    156   
        let fut = fut.map_err(
  160    157   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  161    158   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  162    159   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  163    160   
                    e,
  164    161   
                )
  165    162   
            },
  166    163   
        );
@@ -232,229 +292,288 @@
  252    249   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  253    250   
                request.headers(),
  254    251   
                &CONTENT_TYPE_STREAMPOKEMONRADIO,
  255    252   
            ) {
  256    253   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  257    254   
            }
  258    255   
            crate::protocol_serde::shape_stream_pokemon_radio::de_stream_pokemon_radio_http_request(
  259    256   
                request,
  260    257   
            )
  261    258   
            .await
  262         -
            .map_err(Into::into)
  263    259   
        };
  264    260   
        use ::futures_util::future::TryFutureExt;
  265    261   
        let fut = fut.map_err(
  266    262   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  267    263   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  268    264   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  269    265   
                    e,
  270    266   
                )
  271    267   
            },
  272    268   
        );
@@ -334,330 +396,390 @@
  354    350   
    type Future = CheckHealthInputFuture;
  355    351   
  356    352   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  357    353   
        let fut = async move {
  358    354   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  359    355   
                request.headers(),
  360    356   
                &CONTENT_TYPE_CHECKHEALTH,
  361    357   
            ) {
  362    358   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  363    359   
            }
  364         -
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request)
  365         -
                .await
  366         -
                .map_err(Into::into)
         360  +
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request).await
  367    361   
        };
  368    362   
        use ::futures_util::future::TryFutureExt;
  369    363   
        let fut = fut.map_err(
  370    364   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  371    365   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  372    366   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  373    367   
                    e,
  374    368   
                )
  375    369   
            },
  376    370   
        );
@@ -444,438 +504,497 @@
  464    458   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  465    459   
        let fut = async move {
  466    460   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  467    461   
                request.headers(),
  468    462   
                &CONTENT_TYPE_CAPTUREPOKEMON,
  469    463   
            ) {
  470    464   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  471    465   
            }
  472    466   
            crate::protocol_serde::shape_capture_pokemon::de_capture_pokemon_http_request(request)
  473    467   
                .await
  474         -
                .map_err(Into::into)
  475    468   
        };
  476    469   
        use ::futures_util::future::TryFutureExt;
  477    470   
        let fut = fut.map_err(
  478    471   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  479    472   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  480    473   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  481    474   
                    e,
  482    475   
                )
  483    476   
            },
  484    477   
        );
@@ -545,538 +607,598 @@
  565    558   
    type Future = DoNothingInputFuture;
  566    559   
  567    560   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  568    561   
        let fut = async move {
  569    562   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  570    563   
                request.headers(),
  571    564   
                &CONTENT_TYPE_DONOTHING,
  572    565   
            ) {
  573    566   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  574    567   
            }
  575         -
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request)
  576         -
                .await
  577         -
                .map_err(Into::into)
         568  +
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request).await
  578    569   
        };
  579    570   
        use ::futures_util::future::TryFutureExt;
  580    571   
        let fut = fut.map_err(
  581    572   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  582    573   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  583    574   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  584    575   
                    e,
  585    576   
                )
  586    577   
            },
  587    578   
        );
@@ -649,640 +709,699 @@
  669    660   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  670    661   
        let fut = async move {
  671    662   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  672    663   
                request.headers(),
  673    664   
                &CONTENT_TYPE_GETSERVERSTATISTICS,
  674    665   
            ) {
  675    666   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  676    667   
            }
  677    668   
            crate::protocol_serde::shape_get_server_statistics::de_get_server_statistics_http_request(request)
  678    669   
                            .await
  679         -
                            .map_err(Into::into)
  680    670   
        };
  681    671   
        use ::futures_util::future::TryFutureExt;
  682    672   
        let fut = fut.map_err(
  683    673   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  684    674   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  685    675   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  686    676   
                    e,
  687    677   
                )
  688    678   
            },
  689    679   
        );

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/output.rs

@@ -334,334 +449,447 @@
  354    354   
    /// Creates a new builder-style object to manufacture [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
  355    355   
    pub fn builder() -> crate::output::get_server_statistics_output::Builder {
  356    356   
        crate::output::get_server_statistics_output::Builder::default()
  357    357   
    }
  358    358   
}
  359    359   
/// See [`GetStorageOutput`](crate::output::GetStorageOutput).
  360    360   
pub mod get_storage_output {
  361    361   
  362    362   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  363    363   
    /// Holds one variant for each of the ways the builder can fail.
  364         -
  365    364   
    #[allow(clippy::enum_variant_names)]
  366    365   
    pub enum ConstraintViolation {
  367    366   
        /// `collection` was not provided but it is required when building `GetStorageOutput`.
  368    367   
        MissingCollection,
  369    368   
    }
  370    369   
    impl ::std::fmt::Display for ConstraintViolation {
  371    370   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  372    371   
            match self {
  373    372   
                ConstraintViolation::MissingCollection => write!(f, "`collection` was not provided but it is required when building `GetStorageOutput`"),
  374    373   
            }
  375    374   
        }
  376    375   
    }
  377    376   
    impl ::std::error::Error for ConstraintViolation {}
  378    377   
    impl ::std::convert::TryFrom<Builder> for crate::output::GetStorageOutput {
  379    378   
        type Error = ConstraintViolation;
  380    379   
  381    380   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  382    381   
            builder.build()
  383    382   
        }
  384    383   
    }
  385    384   
    /// A builder for [`GetStorageOutput`](crate::output::GetStorageOutput).
  386    385   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
  387    386   
    pub struct Builder {
  388    387   
        pub(crate) collection: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
  389    388   
    }
  390    389   
    impl Builder {
  391    390   
        /// A list of Pokémon species.
  392    391   
        pub fn collection(mut self, input: ::std::vec::Vec<::std::string::String>) -> Self {
  393    392   
            self.collection = Some(input);
  394    393   
            self
  395    394   
        }
  396    395   
        /// Consumes the builder and constructs a [`GetStorageOutput`](crate::output::GetStorageOutput).
  397    396   
        ///
  398    397   
        /// The builder fails to construct a [`GetStorageOutput`](crate::output::GetStorageOutput) if you do not provide a value for all non-`Option`al members.
  399    398   
        ///
  400    399   
        pub fn build(self) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  401    400   
            self.build_enforcing_required_and_enum_traits()
  402    401   
        }
  403    402   
        fn build_enforcing_required_and_enum_traits(
  404    403   
            self,
  405    404   
        ) -> Result<crate::output::GetStorageOutput, ConstraintViolation> {
  406    405   
            Ok(crate::output::GetStorageOutput {
  407    406   
                collection: self
  408    407   
                    .collection
  409    408   
                    .ok_or(ConstraintViolation::MissingCollection)?,
  410    409   
            })
  411    410   
        }
  412    411   
    }
  413    412   
}
  414    413   
/// See [`GetPokemonSpeciesOutput`](crate::output::GetPokemonSpeciesOutput).
  415    414   
pub mod get_pokemon_species_output {
  416    415   
  417    416   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  418    417   
    /// Holds one variant for each of the ways the builder can fail.
  419         -
  420    418   
    #[allow(clippy::enum_variant_names)]
  421    419   
    pub enum ConstraintViolation {
  422    420   
        /// `name` was not provided but it is required when building `GetPokemonSpeciesOutput`.
  423    421   
        MissingName,
  424    422   
        /// `flavor_text_entries` was not provided but it is required when building `GetPokemonSpeciesOutput`.
  425    423   
        MissingFlavorTextEntries,
  426    424   
    }
  427    425   
    impl ::std::fmt::Display for ConstraintViolation {
  428    426   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  429    427   
            match self {
@@ -511,509 +571,568 @@
  531    529   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::CheckHealthOutput {
  532    530   
            crate::output::CheckHealthOutput {}
  533    531   
        }
  534    532   
    }
  535    533   
}
  536    534   
/// See [`CapturePokemonOutput`](crate::output::CapturePokemonOutput).
  537    535   
pub mod capture_pokemon_output {
  538    536   
  539    537   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  540    538   
    /// Holds one variant for each of the ways the builder can fail.
  541         -
  542    539   
    #[allow(clippy::enum_variant_names)]
  543    540   
    pub enum ConstraintViolation {
  544    541   
        /// `events` was not provided but it is required when building `CapturePokemonOutput`.
  545    542   
        MissingEvents,
  546    543   
    }
  547    544   
    impl ::std::fmt::Display for ConstraintViolation {
  548    545   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  549    546   
            match self {
  550    547   
                ConstraintViolation::MissingEvents => write!(f, "`events` was not provided but it is required when building `CapturePokemonOutput`"),
  551    548   
            }
@@ -590,587 +650,646 @@
  610    607   
        fn build_enforcing_required_and_enum_traits(self) -> crate::output::DoNothingOutput {
  611    608   
            crate::output::DoNothingOutput {}
  612    609   
        }
  613    610   
    }
  614    611   
}
  615    612   
/// See [`GetServerStatisticsOutput`](crate::output::GetServerStatisticsOutput).
  616    613   
pub mod get_server_statistics_output {
  617    614   
  618    615   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  619    616   
    /// Holds one variant for each of the ways the builder can fail.
  620         -
  621    617   
    #[allow(clippy::enum_variant_names)]
  622    618   
    pub enum ConstraintViolation {
  623    619   
        /// `calls_count` was not provided but it is required when building `GetServerStatisticsOutput`.
  624    620   
        MissingCallsCount,
  625    621   
    }
  626    622   
    impl ::std::fmt::Display for ConstraintViolation {
  627    623   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  628    624   
            match self {
  629    625   
                ConstraintViolation::MissingCallsCount => write!(f, "`calls_count` was not provided but it is required when building `GetServerStatisticsOutput`"),
  630    626   
            }

tmp-codegen-diff/codegen-server-test-python/rest_json/rust-server-codegen-python/src/error.rs

@@ -6760,6760 +6873,6871 @@
 6780   6780   
            }
 6781   6781   
            .into()
 6782   6782   
        })
 6783   6783   
    }
 6784   6784   
}
 6785   6785   
/// See [`InternalServerError`](crate::error::InternalServerError).
 6786   6786   
pub mod internal_server_error {
 6787   6787   
 6788   6788   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 6789   6789   
    /// Holds one variant for each of the ways the builder can fail.
 6790         -
 6791   6790   
    #[allow(clippy::enum_variant_names)]
 6792   6791   
    pub enum ConstraintViolation {
 6793   6792   
        /// `message` was not provided but it is required when building `InternalServerError`.
 6794   6793   
        MissingMessage,
 6795   6794   
    }
 6796   6795   
    impl ::std::fmt::Display for ConstraintViolation {
 6797   6796   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 6798   6797   
            match self {
 6799   6798   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `InternalServerError`"),
 6800   6799   
            }
 6801   6800   
        }
 6802   6801   
    }
 6803   6802   
    impl ::std::error::Error for ConstraintViolation {}
 6804   6803   
    impl ::std::convert::TryFrom<Builder> for crate::error::InternalServerError {
 6805   6804   
        type Error = ConstraintViolation;
 6806   6805   
 6807   6806   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 6808   6807   
            builder.build()
 6809   6808   
        }
 6810   6809   
    }
 6811   6810   
    /// A builder for [`InternalServerError`](crate::error::InternalServerError).
 6812   6811   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 6813   6812   
    pub struct Builder {
 6814   6813   
        pub(crate) message: ::std::option::Option<::std::string::String>,
 6815   6814   
    }
 6816   6815   
    impl Builder {
 6817   6816   
        #[allow(missing_docs)] // documentation missing in model
 6818   6817   
        pub fn message(mut self, input: ::std::string::String) -> Self {
 6819   6818   
            self.message = Some(input);
 6820   6819   
            self
 6821   6820   
        }
 6822   6821   
        /// Consumes the builder and constructs a [`InternalServerError`](crate::error::InternalServerError).
 6823   6822   
        ///
 6824   6823   
        /// The builder fails to construct a [`InternalServerError`](crate::error::InternalServerError) if you do not provide a value for all non-`Option`al members.
 6825   6824   
        ///
 6826   6825   
        pub fn build(self) -> Result<crate::error::InternalServerError, ConstraintViolation> {
 6827   6826   
            self.build_enforcing_required_and_enum_traits()
 6828   6827   
        }
 6829   6828   
        fn build_enforcing_required_and_enum_traits(
 6830   6829   
            self,
 6831   6830   
        ) -> Result<crate::error::InternalServerError, ConstraintViolation> {
 6832   6831   
            Ok(crate::error::InternalServerError {
 6833   6832   
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
 6834   6833   
            })
 6835   6834   
        }
 6836   6835   
    }
 6837   6836   
}
 6838   6837   
/// See [`ValidationException`](crate::error::ValidationException).
 6839   6838   
pub mod validation_exception {
 6840   6839   
 6841   6840   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 6842   6841   
    /// Holds one variant for each of the ways the builder can fail.
 6843         -
 6844   6842   
    #[allow(clippy::enum_variant_names)]
 6845   6843   
    pub enum ConstraintViolation {
 6846   6844   
        /// `message` was not provided but it is required when building `ValidationException`.
 6847   6845   
        MissingMessage,
 6848   6846   
    }
 6849   6847   
    impl ::std::fmt::Display for ConstraintViolation {
 6850   6848   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 6851   6849   
            match self {
 6852   6850   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationException`"),
 6853   6851   
            }

tmp-codegen-diff/codegen-server-test-python/rest_json/rust-server-codegen-python/src/input.rs

@@ -7501,7501 +7561,7560 @@
 7521   7521   
                    .ok_or(ConstraintViolation::MissingTopLevel)?,
 7522   7522   
            })
 7523   7523   
        }
 7524   7524   
    }
 7525   7525   
}
 7526   7526   
/// See [`OperationWithNestedStructureInput`](crate::input::OperationWithNestedStructureInput).
 7527   7527   
pub mod operation_with_nested_structure_input {
 7528   7528   
 7529   7529   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7530   7530   
    /// Holds one variant for each of the ways the builder can fail.
 7531         -
 7532   7531   
    #[allow(clippy::enum_variant_names)]
 7533   7532   
    pub enum ConstraintViolation {
 7534   7533   
        /// `top_level` was not provided but it is required when building `OperationWithNestedStructureInput`.
 7535   7534   
        MissingTopLevel,
 7536   7535   
    }
 7537   7536   
    impl ::std::fmt::Display for ConstraintViolation {
 7538   7537   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7539   7538   
            match self {
 7540   7539   
                ConstraintViolation::MissingTopLevel => write!(f, "`top_level` was not provided but it is required when building `OperationWithNestedStructureInput`"),
 7541   7540   
            }
@@ -8928,8927 +8988,8986 @@
 8948   8947   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 8949   8948   
            })
 8950   8949   
        }
 8951   8950   
    }
 8952   8951   
}
 8953   8952   
/// See [`MalformedTimestampBodyHttpDateInput`](crate::input::MalformedTimestampBodyHttpDateInput).
 8954   8953   
pub mod malformed_timestamp_body_http_date_input {
 8955   8954   
 8956   8955   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 8957   8956   
    /// Holds one variant for each of the ways the builder can fail.
 8958         -
 8959   8957   
    #[allow(clippy::enum_variant_names)]
 8960   8958   
    pub enum ConstraintViolation {
 8961   8959   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`.
 8962   8960   
        MissingTimestamp,
 8963   8961   
    }
 8964   8962   
    impl ::std::fmt::Display for ConstraintViolation {
 8965   8963   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8966   8964   
            match self {
 8967   8965   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyHttpDateInput`"),
 8968   8966   
            }
@@ -9093,9091 +9153,9150 @@
 9113   9111   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9114   9112   
            })
 9115   9113   
        }
 9116   9114   
    }
 9117   9115   
}
 9118   9116   
/// See [`MalformedTimestampBodyDateTimeInput`](crate::input::MalformedTimestampBodyDateTimeInput).
 9119   9117   
pub mod malformed_timestamp_body_date_time_input {
 9120   9118   
 9121   9119   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9122   9120   
    /// Holds one variant for each of the ways the builder can fail.
 9123         -
 9124   9121   
    #[allow(clippy::enum_variant_names)]
 9125   9122   
    pub enum ConstraintViolation {
 9126   9123   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`.
 9127   9124   
        MissingTimestamp,
 9128   9125   
    }
 9129   9126   
    impl ::std::fmt::Display for ConstraintViolation {
 9130   9127   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9131   9128   
            match self {
 9132   9129   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDateTimeInput`"),
 9133   9130   
            }
@@ -9256,9253 +9316,9312 @@
 9276   9273   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9277   9274   
            })
 9278   9275   
        }
 9279   9276   
    }
 9280   9277   
}
 9281   9278   
/// See [`MalformedTimestampBodyDefaultInput`](crate::input::MalformedTimestampBodyDefaultInput).
 9282   9279   
pub mod malformed_timestamp_body_default_input {
 9283   9280   
 9284   9281   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9285   9282   
    /// Holds one variant for each of the ways the builder can fail.
 9286         -
 9287   9283   
    #[allow(clippy::enum_variant_names)]
 9288   9284   
    pub enum ConstraintViolation {
 9289   9285   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`.
 9290   9286   
        MissingTimestamp,
 9291   9287   
    }
 9292   9288   
    impl ::std::fmt::Display for ConstraintViolation {
 9293   9289   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9294   9290   
            match self {
 9295   9291   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampBodyDefaultInput`"),
 9296   9292   
            }
@@ -9417,9413 +9477,9472 @@
 9437   9433   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9438   9434   
            })
 9439   9435   
        }
 9440   9436   
    }
 9441   9437   
}
 9442   9438   
/// See [`MalformedTimestampHeaderEpochInput`](crate::input::MalformedTimestampHeaderEpochInput).
 9443   9439   
pub mod malformed_timestamp_header_epoch_input {
 9444   9440   
 9445   9441   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9446   9442   
    /// Holds one variant for each of the ways the builder can fail.
 9447         -
 9448   9443   
    #[allow(clippy::enum_variant_names)]
 9449   9444   
    pub enum ConstraintViolation {
 9450   9445   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`.
 9451   9446   
        MissingTimestamp,
 9452   9447   
    }
 9453   9448   
    impl ::std::fmt::Display for ConstraintViolation {
 9454   9449   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9455   9450   
            match self {
 9456   9451   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderEpochInput`"),
 9457   9452   
            }
@@ -9582,9577 +9642,9636 @@
 9602   9597   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9603   9598   
            })
 9604   9599   
        }
 9605   9600   
    }
 9606   9601   
}
 9607   9602   
/// See [`MalformedTimestampHeaderDateTimeInput`](crate::input::MalformedTimestampHeaderDateTimeInput).
 9608   9603   
pub mod malformed_timestamp_header_date_time_input {
 9609   9604   
 9610   9605   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9611   9606   
    /// Holds one variant for each of the ways the builder can fail.
 9612         -
 9613   9607   
    #[allow(clippy::enum_variant_names)]
 9614   9608   
    pub enum ConstraintViolation {
 9615   9609   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`.
 9616   9610   
        MissingTimestamp,
 9617   9611   
    }
 9618   9612   
    impl ::std::fmt::Display for ConstraintViolation {
 9619   9613   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9620   9614   
            match self {
 9621   9615   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDateTimeInput`"),
 9622   9616   
            }
@@ -9747,9741 +9807,9800 @@
 9767   9761   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9768   9762   
            })
 9769   9763   
        }
 9770   9764   
    }
 9771   9765   
}
 9772   9766   
/// See [`MalformedTimestampHeaderDefaultInput`](crate::input::MalformedTimestampHeaderDefaultInput).
 9773   9767   
pub mod malformed_timestamp_header_default_input {
 9774   9768   
 9775   9769   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9776   9770   
    /// Holds one variant for each of the ways the builder can fail.
 9777         -
 9778   9771   
    #[allow(clippy::enum_variant_names)]
 9779   9772   
    pub enum ConstraintViolation {
 9780   9773   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`.
 9781   9774   
        MissingTimestamp,
 9782   9775   
    }
 9783   9776   
    impl ::std::fmt::Display for ConstraintViolation {
 9784   9777   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9785   9778   
            match self {
 9786   9779   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampHeaderDefaultInput`"),
 9787   9780   
            }
@@ -9910,9903 +9970,9962 @@
 9930   9923   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
 9931   9924   
            })
 9932   9925   
        }
 9933   9926   
    }
 9934   9927   
}
 9935   9928   
/// See [`MalformedTimestampQueryEpochInput`](crate::input::MalformedTimestampQueryEpochInput).
 9936   9929   
pub mod malformed_timestamp_query_epoch_input {
 9937   9930   
 9938   9931   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 9939   9932   
    /// Holds one variant for each of the ways the builder can fail.
 9940         -
 9941   9933   
    #[allow(clippy::enum_variant_names)]
 9942   9934   
    pub enum ConstraintViolation {
 9943   9935   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`.
 9944   9936   
        MissingTimestamp,
 9945   9937   
    }
 9946   9938   
    impl ::std::fmt::Display for ConstraintViolation {
 9947   9939   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 9948   9940   
            match self {
 9949   9941   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryEpochInput`"),
 9950   9942   
            }
@@ -10073,10065 +10133,10124 @@
10093  10085   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10094  10086   
            })
10095  10087   
        }
10096  10088   
    }
10097  10089   
}
10098  10090   
/// See [`MalformedTimestampQueryHttpDateInput`](crate::input::MalformedTimestampQueryHttpDateInput).
10099  10091   
pub mod malformed_timestamp_query_http_date_input {
10100  10092   
10101  10093   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10102  10094   
    /// Holds one variant for each of the ways the builder can fail.
10103         -
10104  10095   
    #[allow(clippy::enum_variant_names)]
10105  10096   
    pub enum ConstraintViolation {
10106  10097   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`.
10107  10098   
        MissingTimestamp,
10108  10099   
    }
10109  10100   
    impl ::std::fmt::Display for ConstraintViolation {
10110  10101   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10111  10102   
            match self {
10112  10103   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryHttpDateInput`"),
10113  10104   
            }
@@ -10238,10229 +10298,10288 @@
10258  10249   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10259  10250   
            })
10260  10251   
        }
10261  10252   
    }
10262  10253   
}
10263  10254   
/// See [`MalformedTimestampQueryDefaultInput`](crate::input::MalformedTimestampQueryDefaultInput).
10264  10255   
pub mod malformed_timestamp_query_default_input {
10265  10256   
10266  10257   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10267  10258   
    /// Holds one variant for each of the ways the builder can fail.
10268         -
10269  10259   
    #[allow(clippy::enum_variant_names)]
10270  10260   
    pub enum ConstraintViolation {
10271  10261   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`.
10272  10262   
        MissingTimestamp,
10273  10263   
    }
10274  10264   
    impl ::std::fmt::Display for ConstraintViolation {
10275  10265   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10276  10266   
            match self {
10277  10267   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampQueryDefaultInput`"),
10278  10268   
            }
@@ -10401,10391 +10461,10450 @@
10421  10411   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10422  10412   
            })
10423  10413   
        }
10424  10414   
    }
10425  10415   
}
10426  10416   
/// See [`MalformedTimestampPathEpochInput`](crate::input::MalformedTimestampPathEpochInput).
10427  10417   
pub mod malformed_timestamp_path_epoch_input {
10428  10418   
10429  10419   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10430  10420   
    /// Holds one variant for each of the ways the builder can fail.
10431         -
10432  10421   
    #[allow(clippy::enum_variant_names)]
10433  10422   
    pub enum ConstraintViolation {
10434  10423   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`.
10435  10424   
        MissingTimestamp,
10436  10425   
    }
10437  10426   
    impl ::std::fmt::Display for ConstraintViolation {
10438  10427   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10439  10428   
            match self {
10440  10429   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathEpochInput`"),
10441  10430   
            }
@@ -10564,10553 +10624,10612 @@
10584  10573   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10585  10574   
            })
10586  10575   
        }
10587  10576   
    }
10588  10577   
}
10589  10578   
/// See [`MalformedTimestampPathHttpDateInput`](crate::input::MalformedTimestampPathHttpDateInput).
10590  10579   
pub mod malformed_timestamp_path_http_date_input {
10591  10580   
10592  10581   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10593  10582   
    /// Holds one variant for each of the ways the builder can fail.
10594         -
10595  10583   
    #[allow(clippy::enum_variant_names)]
10596  10584   
    pub enum ConstraintViolation {
10597  10585   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`.
10598  10586   
        MissingTimestamp,
10599  10587   
    }
10600  10588   
    impl ::std::fmt::Display for ConstraintViolation {
10601  10589   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10602  10590   
            match self {
10603  10591   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathHttpDateInput`"),
10604  10592   
            }
@@ -10727,10715 +10787,10774 @@
10747  10735   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
10748  10736   
            })
10749  10737   
        }
10750  10738   
    }
10751  10739   
}
10752  10740   
/// See [`MalformedTimestampPathDefaultInput`](crate::input::MalformedTimestampPathDefaultInput).
10753  10741   
pub mod malformed_timestamp_path_default_input {
10754  10742   
10755  10743   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
10756  10744   
    /// Holds one variant for each of the ways the builder can fail.
10757         -
10758  10745   
    #[allow(clippy::enum_variant_names)]
10759  10746   
    pub enum ConstraintViolation {
10760  10747   
        /// `timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`.
10761  10748   
        MissingTimestamp,
10762  10749   
    }
10763  10750   
    impl ::std::fmt::Display for ConstraintViolation {
10764  10751   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
10765  10752   
            match self {
10766  10753   
                ConstraintViolation::MissingTimestamp => write!(f, "`timestamp` was not provided but it is required when building `MalformedTimestampPathDefaultInput`"),
10767  10754   
            }
@@ -10971,10958 +11031,11017 @@
10991  10978   
                double_in_header: self.double_in_header,
10992  10979   
            })
10993  10980   
        }
10994  10981   
    }
10995  10982   
}
10996  10983   
/// See [`MalformedDoubleInput`](crate::input::MalformedDoubleInput).
10997  10984   
pub mod malformed_double_input {
10998  10985   
10999  10986   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11000  10987   
    /// Holds one variant for each of the ways the builder can fail.
11001         -
11002  10988   
    #[allow(clippy::enum_variant_names)]
11003  10989   
    pub enum ConstraintViolation {
11004  10990   
        /// `double_in_path` was not provided but it is required when building `MalformedDoubleInput`.
11005  10991   
        MissingDoubleInPath,
11006  10992   
    }
11007  10993   
    impl ::std::fmt::Display for ConstraintViolation {
11008  10994   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11009  10995   
            match self {
11010  10996   
                ConstraintViolation::MissingDoubleInPath => write!(f, "`double_in_path` was not provided but it is required when building `MalformedDoubleInput`"),
11011  10997   
            }
@@ -11171,11157 +11231,11216 @@
11191  11177   
                float_in_header: self.float_in_header,
11192  11178   
            })
11193  11179   
        }
11194  11180   
    }
11195  11181   
}
11196  11182   
/// See [`MalformedFloatInput`](crate::input::MalformedFloatInput).
11197  11183   
pub mod malformed_float_input {
11198  11184   
11199  11185   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11200  11186   
    /// Holds one variant for each of the ways the builder can fail.
11201         -
11202  11187   
    #[allow(clippy::enum_variant_names)]
11203  11188   
    pub enum ConstraintViolation {
11204  11189   
        /// `float_in_path` was not provided but it is required when building `MalformedFloatInput`.
11205  11190   
        MissingFloatInPath,
11206  11191   
    }
11207  11192   
    impl ::std::fmt::Display for ConstraintViolation {
11208  11193   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11209  11194   
            match self {
11210  11195   
                ConstraintViolation::MissingFloatInPath => write!(f, "`float_in_path` was not provided but it is required when building `MalformedFloatInput`"),
11211  11196   
            }
@@ -11371,11356 +11431,11415 @@
11391  11376   
                long_in_header: self.long_in_header,
11392  11377   
            })
11393  11378   
        }
11394  11379   
    }
11395  11380   
}
11396  11381   
/// See [`MalformedLongInput`](crate::input::MalformedLongInput).
11397  11382   
pub mod malformed_long_input {
11398  11383   
11399  11384   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11400  11385   
    /// Holds one variant for each of the ways the builder can fail.
11401         -
11402  11386   
    #[allow(clippy::enum_variant_names)]
11403  11387   
    pub enum ConstraintViolation {
11404  11388   
        /// `long_in_path` was not provided but it is required when building `MalformedLongInput`.
11405  11389   
        MissingLongInPath,
11406  11390   
    }
11407  11391   
    impl ::std::fmt::Display for ConstraintViolation {
11408  11392   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11409  11393   
            match self {
11410  11394   
                ConstraintViolation::MissingLongInPath => write!(f, "`long_in_path` was not provided but it is required when building `MalformedLongInput`"),
11411  11395   
            }
@@ -11571,11555 +11631,11614 @@
11591  11575   
                short_in_header: self.short_in_header,
11592  11576   
            })
11593  11577   
        }
11594  11578   
    }
11595  11579   
}
11596  11580   
/// See [`MalformedShortInput`](crate::input::MalformedShortInput).
11597  11581   
pub mod malformed_short_input {
11598  11582   
11599  11583   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11600  11584   
    /// Holds one variant for each of the ways the builder can fail.
11601         -
11602  11585   
    #[allow(clippy::enum_variant_names)]
11603  11586   
    pub enum ConstraintViolation {
11604  11587   
        /// `short_in_path` was not provided but it is required when building `MalformedShortInput`.
11605  11588   
        MissingShortInPath,
11606  11589   
    }
11607  11590   
    impl ::std::fmt::Display for ConstraintViolation {
11608  11591   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11609  11592   
            match self {
11610  11593   
                ConstraintViolation::MissingShortInPath => write!(f, "`short_in_path` was not provided but it is required when building `MalformedShortInput`"),
11611  11594   
            }
@@ -11771,11754 +11831,11813 @@
11791  11774   
                byte_in_header: self.byte_in_header,
11792  11775   
            })
11793  11776   
        }
11794  11777   
    }
11795  11778   
}
11796  11779   
/// See [`MalformedByteInput`](crate::input::MalformedByteInput).
11797  11780   
pub mod malformed_byte_input {
11798  11781   
11799  11782   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
11800  11783   
    /// Holds one variant for each of the ways the builder can fail.
11801         -
11802  11784   
    #[allow(clippy::enum_variant_names)]
11803  11785   
    pub enum ConstraintViolation {
11804  11786   
        /// `byte_in_path` was not provided but it is required when building `MalformedByteInput`.
11805  11787   
        MissingByteInPath,
11806  11788   
    }
11807  11789   
    impl ::std::fmt::Display for ConstraintViolation {
11808  11790   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
11809  11791   
            match self {
11810  11792   
                ConstraintViolation::MissingByteInPath => write!(f, "`byte_in_path` was not provided but it is required when building `MalformedByteInput`"),
11811  11793   
            }
@@ -12178,12160 +12238,12219 @@
12198  12180   
                boolean_in_header: self.boolean_in_header,
12199  12181   
            })
12200  12182   
        }
12201  12183   
    }
12202  12184   
}
12203  12185   
/// See [`MalformedBooleanInput`](crate::input::MalformedBooleanInput).
12204  12186   
pub mod malformed_boolean_input {
12205  12187   
12206  12188   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12207  12189   
    /// Holds one variant for each of the ways the builder can fail.
12208         -
12209  12190   
    #[allow(clippy::enum_variant_names)]
12210  12191   
    pub enum ConstraintViolation {
12211  12192   
        /// `boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`.
12212  12193   
        MissingBooleanInPath,
12213  12194   
    }
12214  12195   
    impl ::std::fmt::Display for ConstraintViolation {
12215  12196   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12216  12197   
            match self {
12217  12198   
                ConstraintViolation::MissingBooleanInPath => write!(f, "`boolean_in_path` was not provided but it is required when building `MalformedBooleanInput`"),
12218  12199   
            }
@@ -12437,12418 +12497,12477 @@
12457  12438   
                integer_in_header: self.integer_in_header,
12458  12439   
            })
12459  12440   
        }
12460  12441   
    }
12461  12442   
}
12462  12443   
/// See [`MalformedIntegerInput`](crate::input::MalformedIntegerInput).
12463  12444   
pub mod malformed_integer_input {
12464  12445   
12465  12446   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12466  12447   
    /// Holds one variant for each of the ways the builder can fail.
12467         -
12468  12448   
    #[allow(clippy::enum_variant_names)]
12469  12449   
    pub enum ConstraintViolation {
12470  12450   
        /// `integer_in_path` was not provided but it is required when building `MalformedIntegerInput`.
12471  12451   
        MissingIntegerInPath,
12472  12452   
    }
12473  12453   
    impl ::std::fmt::Display for ConstraintViolation {
12474  12454   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12475  12455   
            match self {
12476  12456   
                ConstraintViolation::MissingIntegerInPath => write!(f, "`integer_in_path` was not provided but it is required when building `MalformedIntegerInput`"),
12477  12457   
            }
@@ -12796,12776 +12856,12835 @@
12816  12796   
                label: self.label.ok_or(ConstraintViolation::MissingLabel)?,
12817  12797   
            })
12818  12798   
        }
12819  12799   
    }
12820  12800   
}
12821  12801   
/// See [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput).
12822  12802   
pub mod endpoint_with_host_label_operation_input {
12823  12803   
12824  12804   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
12825  12805   
    /// Holds one variant for each of the ways the builder can fail.
12826         -
12827  12806   
    #[allow(clippy::enum_variant_names)]
12828  12807   
    pub enum ConstraintViolation {
12829  12808   
        /// `label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`.
12830  12809   
        MissingLabel,
12831  12810   
    }
12832  12811   
    impl ::std::fmt::Display for ConstraintViolation {
12833  12812   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
12834  12813   
            match self {
12835  12814   
                ConstraintViolation::MissingLabel => write!(f, "`label` was not provided but it is required when building `EndpointWithHostLabelOperationInput`"),
12836  12815   
            }
@@ -17367,17346 +17427,17405 @@
17387  17366   
                hello: self.hello.ok_or(ConstraintViolation::MissingHello)?,
17388  17367   
            })
17389  17368   
        }
17390  17369   
    }
17391  17370   
}
17392  17371   
/// See [`ConstantQueryStringInput`](crate::input::ConstantQueryStringInput).
17393  17372   
pub mod constant_query_string_input {
17394  17373   
17395  17374   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
17396  17375   
    /// Holds one variant for each of the ways the builder can fail.
17397         -
17398  17376   
    #[allow(clippy::enum_variant_names)]
17399  17377   
    pub enum ConstraintViolation {
17400  17378   
        /// `hello` was not provided but it is required when building `ConstantQueryStringInput`.
17401  17379   
        MissingHello,
17402  17380   
    }
17403  17381   
    impl ::std::fmt::Display for ConstraintViolation {
17404  17382   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17405  17383   
            match self {
17406  17384   
                ConstraintViolation::MissingHello => write!(f, "`hello` was not provided but it is required when building `ConstantQueryStringInput`"),
17407  17385   
            }
@@ -18132,18110 +18192,18169 @@
18152  18130   
                str: self.str.ok_or(ConstraintViolation::MissingStr)?,
18153  18131   
            })
18154  18132   
        }
18155  18133   
    }
18156  18134   
}
18157  18135   
/// See [`HttpRequestWithRegexLiteralInput`](crate::input::HttpRequestWithRegexLiteralInput).
18158  18136   
pub mod http_request_with_regex_literal_input {
18159  18137   
18160  18138   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18161  18139   
    /// Holds one variant for each of the ways the builder can fail.
18162         -
18163  18140   
    #[allow(clippy::enum_variant_names)]
18164  18141   
    pub enum ConstraintViolation {
18165  18142   
        /// `str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`.
18166  18143   
        MissingStr,
18167  18144   
    }
18168  18145   
    impl ::std::fmt::Display for ConstraintViolation {
18169  18146   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18170  18147   
            match self {
18171  18148   
                ConstraintViolation::MissingStr => write!(f, "`str` was not provided but it is required when building `HttpRequestWithRegexLiteralInput`"),
18172  18149   
            }
@@ -18296,18273 +18356,18332 @@
18316  18293   
                double: self.double.ok_or(ConstraintViolation::MissingDouble)?,
18317  18294   
            })
18318  18295   
        }
18319  18296   
    }
18320  18297   
}
18321  18298   
/// See [`HttpRequestWithFloatLabelsInput`](crate::input::HttpRequestWithFloatLabelsInput).
18322  18299   
pub mod http_request_with_float_labels_input {
18323  18300   
18324  18301   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18325  18302   
    /// Holds one variant for each of the ways the builder can fail.
18326         -
18327  18303   
    #[allow(clippy::enum_variant_names)]
18328  18304   
    pub enum ConstraintViolation {
18329  18305   
        /// `float` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18330  18306   
        MissingFloat,
18331  18307   
        /// `double` was not provided but it is required when building `HttpRequestWithFloatLabelsInput`.
18332  18308   
        MissingDouble,
18333  18309   
    }
18334  18310   
    impl ::std::fmt::Display for ConstraintViolation {
18335  18311   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18336  18312   
            match self {
@@ -18486,18462 +18546,18521 @@
18506  18482   
                baz: self.baz.ok_or(ConstraintViolation::MissingBaz)?,
18507  18483   
            })
18508  18484   
        }
18509  18485   
    }
18510  18486   
}
18511  18487   
/// See [`HttpRequestWithGreedyLabelInPathInput`](crate::input::HttpRequestWithGreedyLabelInPathInput).
18512  18488   
pub mod http_request_with_greedy_label_in_path_input {
18513  18489   
18514  18490   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18515  18491   
    /// Holds one variant for each of the ways the builder can fail.
18516         -
18517  18492   
    #[allow(clippy::enum_variant_names)]
18518  18493   
    pub enum ConstraintViolation {
18519  18494   
        /// `foo` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18520  18495   
        MissingFoo,
18521  18496   
        /// `baz` was not provided but it is required when building `HttpRequestWithGreedyLabelInPathInput`.
18522  18497   
        MissingBaz,
18523  18498   
    }
18524  18499   
    impl ::std::fmt::Display for ConstraintViolation {
18525  18500   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18526  18501   
            match self {
@@ -18780,18755 +18840,18814 @@
18800  18775   
                    .ok_or(ConstraintViolation::MissingTargetDateTime)?,
18801  18776   
            })
18802  18777   
        }
18803  18778   
    }
18804  18779   
}
18805  18780   
/// See [`HttpRequestWithLabelsAndTimestampFormatInput`](crate::input::HttpRequestWithLabelsAndTimestampFormatInput).
18806  18781   
pub mod http_request_with_labels_and_timestamp_format_input {
18807  18782   
18808  18783   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
18809  18784   
    /// Holds one variant for each of the ways the builder can fail.
18810         -
18811  18785   
    #[allow(clippy::enum_variant_names)]
18812  18786   
    pub enum ConstraintViolation {
18813  18787   
        /// `member_epoch_seconds` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
18814  18788   
        MissingMemberEpochSeconds,
18815  18789   
        /// `member_http_date` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
18816  18790   
        MissingMemberHttpDate,
18817  18791   
        /// `member_date_time` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
18818  18792   
        MissingMemberDateTime,
18819  18793   
        /// `default_format` was not provided but it is required when building `HttpRequestWithLabelsAndTimestampFormatInput`.
18820  18794   
        MissingDefaultFormat,
@@ -19143,19117 +19203,19176 @@
19163  19137   
                    .ok_or(ConstraintViolation::MissingTimestamp)?,
19164  19138   
            })
19165  19139   
        }
19166  19140   
    }
19167  19141   
}
19168  19142   
/// See [`HttpRequestWithLabelsInput`](crate::input::HttpRequestWithLabelsInput).
19169  19143   
pub mod http_request_with_labels_input {
19170  19144   
19171  19145   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
19172  19146   
    /// Holds one variant for each of the ways the builder can fail.
19173         -
19174  19147   
    #[allow(clippy::enum_variant_names)]
19175  19148   
    pub enum ConstraintViolation {
19176  19149   
        /// `string` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19177  19150   
        MissingString,
19178  19151   
        /// `short` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19179  19152   
        MissingShort,
19180  19153   
        /// `integer` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19181  19154   
        MissingInteger,
19182  19155   
        /// `long` was not provided but it is required when building `HttpRequestWithLabelsInput`.
19183  19156   
        MissingLong,

tmp-codegen-diff/codegen-server-test-python/rest_json/rust-server-codegen-python/src/model.rs

@@ -2744,2744 +2804,2803 @@
 2764   2764   
}
 2765   2765   
impl crate::constrained::Constrained for IntegerSet {
 2766   2766   
    type Unconstrained = crate::unconstrained::integer_set_unconstrained::IntegerSetUnconstrained;
 2767   2767   
}
 2768   2768   
 2769   2769   
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
 2770   2770   
pub mod validation_exception_field {
 2771   2771   
 2772   2772   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 2773   2773   
    /// Holds one variant for each of the ways the builder can fail.
 2774         -
 2775   2774   
    #[allow(clippy::enum_variant_names)]
 2776   2775   
    pub enum ConstraintViolation {
 2777   2776   
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
 2778   2777   
        MissingPath,
 2779   2778   
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
 2780   2779   
        MissingMessage,
 2781   2780   
    }
 2782   2781   
    impl ::std::fmt::Display for ConstraintViolation {
 2783   2782   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 2784   2783   
            match self {
@@ -3088,3087 +3148,3146 @@
 3108   3107   
                ),
 3109   3108   
            })
 3110   3109   
        }
 3111   3110   
    }
 3112   3111   
}
 3113   3112   
/// See [`TopLevel`](crate::model::TopLevel).
 3114   3113   
pub mod top_level {
 3115   3114   
 3116   3115   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 3117   3116   
    /// Holds one variant for each of the ways the builder can fail.
 3118         -
 3119   3117   
    #[allow(clippy::enum_variant_names)]
 3120   3118   
    pub enum ConstraintViolation {
 3121   3119   
        /// `dialog` was not provided but it is required when building `TopLevel`.
 3122   3120   
        MissingDialog,
 3123   3121   
    }
 3124   3122   
    impl ::std::fmt::Display for ConstraintViolation {
 3125   3123   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 3126   3124   
            match self {
 3127   3125   
                ConstraintViolation::MissingDialog => write!(
 3128   3126   
                    f,

tmp-codegen-diff/codegen-server-test-python/rest_json/rust-server-codegen-python/src/operation.rs

@@ -22,22 +82,81 @@
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_OPERATIONWITHNESTEDSTRUCTURE,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50     50   
            crate::protocol_serde::shape_operation_with_nested_structure::de_operation_with_nested_structure_http_request(request)
   51     51   
                            .await
   52         -
                            .map_err(Into::into)
   53     52   
        };
   54     53   
        use ::futures_util::future::TryFutureExt;
   55     54   
        let fut = fut.map_err(
   56     55   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   57     56   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   58     57   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   59     58   
                    e,
   60     59   
                )
   61     60   
            },
   62     61   
        );
@@ -122,121 +182,180 @@
  142    141   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  143    142   
        let fut = async move {
  144    143   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  145    144   
                request.headers(),
  146    145   
                &CONTENT_TYPE_OPERATIONWITHDEFAULTS,
  147    146   
            ) {
  148    147   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  149    148   
            }
  150    149   
            crate::protocol_serde::shape_operation_with_defaults::de_operation_with_defaults_http_request(request)
  151    150   
                            .await
  152         -
                            .map_err(Into::into)
  153    151   
        };
  154    152   
        use ::futures_util::future::TryFutureExt;
  155    153   
        let fut = fut.map_err(
  156    154   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  157    155   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  158    156   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  159    157   
                    e,
  160    158   
                )
  161    159   
            },
  162    160   
        );
@@ -222,220 +282,279 @@
  242    240   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  243    241   
        let fut = async move {
  244    242   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  245    243   
                request.headers(),
  246    244   
                &CONTENT_TYPE_CONTENTTYPEPARAMETERS,
  247    245   
            ) {
  248    246   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  249    247   
            }
  250    248   
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
  251    249   
                            .await
  252         -
                            .map_err(Into::into)
  253    250   
        };
  254    251   
        use ::futures_util::future::TryFutureExt;
  255    252   
        let fut = fut.map_err(
  256    253   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  257    254   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  258    255   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  259    256   
                    e,
  260    257   
                )
  261    258   
            },
  262    259   
        );
@@ -322,319 +382,378 @@
  342    339   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  343    340   
        let fut = async move {
  344    341   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  345    342   
                request.headers(),
  346    343   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  347    344   
            ) {
  348    345   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  349    346   
            }
  350    347   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  351    348   
                            .await
  352         -
                            .map_err(Into::into)
  353    349   
        };
  354    350   
        use ::futures_util::future::TryFutureExt;
  355    351   
        let fut = fut.map_err(
  356    352   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  357    353   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  358    354   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  359    355   
                    e,
  360    356   
                )
  361    357   
            },
  362    358   
        );
@@ -424,420 +484,479 @@
  444    440   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  445    441   
                request.headers(),
  446    442   
                &CONTENT_TYPE_FRACTIONALSECONDS,
  447    443   
            ) {
  448    444   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  449    445   
            }
  450    446   
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
  451    447   
                request,
  452    448   
            )
  453    449   
            .await
  454         -
            .map_err(Into::into)
  455    450   
        };
  456    451   
        use ::futures_util::future::TryFutureExt;
  457    452   
        let fut = fut.map_err(
  458    453   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  459    454   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  460    455   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  461    456   
                    e,
  462    457   
                )
  463    458   
            },
  464    459   
        );
@@ -530,525 +590,584 @@
  550    545   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  551    546   
        let fut = async move {
  552    547   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  553    548   
                request.headers(),
  554    549   
                &CONTENT_TYPE_DATETIMEOFFSETS,
  555    550   
            ) {
  556    551   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  557    552   
            }
  558    553   
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
  559    554   
                .await
  560         -
                .map_err(Into::into)
  561    555   
        };
  562    556   
        use ::futures_util::future::TryFutureExt;
  563    557   
        let fut = fut.map_err(
  564    558   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  565    559   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  566    560   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  567    561   
                    e,
  568    562   
                )
  569    563   
            },
  570    564   
        );
@@ -635,629 +695,688 @@
  655    649   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  656    650   
        let fut = async move {
  657    651   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  658    652   
                request.headers(),
  659    653   
                &CONTENT_TYPE_TESTPOSTNOINPUTNOPAYLOAD,
  660    654   
            ) {
  661    655   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  662    656   
            }
  663    657   
            crate::protocol_serde::shape_test_post_no_input_no_payload::de_test_post_no_input_no_payload_http_request(request)
  664    658   
                            .await
  665         -
                            .map_err(Into::into)
  666    659   
        };
  667    660   
        use ::futures_util::future::TryFutureExt;
  668    661   
        let fut = fut.map_err(
  669    662   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  670    663   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  671    664   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  672    665   
                    e,
  673    666   
                )
  674    667   
            },
  675    668   
        );
@@ -735,728 +795,787 @@
  755    748   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  756    749   
        let fut = async move {
  757    750   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  758    751   
                request.headers(),
  759    752   
                &CONTENT_TYPE_TESTGETNOINPUTNOPAYLOAD,
  760    753   
            ) {
  761    754   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  762    755   
            }
  763    756   
            crate::protocol_serde::shape_test_get_no_input_no_payload::de_test_get_no_input_no_payload_http_request(request)
  764    757   
                            .await
  765         -
                            .map_err(Into::into)
  766    758   
        };
  767    759   
        use ::futures_util::future::TryFutureExt;
  768    760   
        let fut = fut.map_err(
  769    761   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  770    762   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  771    763   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  772    764   
                    e,
  773    765   
                )
  774    766   
            },
  775    767   
        );
@@ -837,829 +897,888 @@
  857    849   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  858    850   
                request.headers(),
  859    851   
                &CONTENT_TYPE_TESTPOSTNOPAYLOAD,
  860    852   
            ) {
  861    853   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  862    854   
            }
  863    855   
            crate::protocol_serde::shape_test_post_no_payload::de_test_post_no_payload_http_request(
  864    856   
                request,
  865    857   
            )
  866    858   
            .await
  867         -
            .map_err(Into::into)
  868    859   
        };
  869    860   
        use ::futures_util::future::TryFutureExt;
  870    861   
        let fut = fut.map_err(
  871    862   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  872    863   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  873    864   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  874    865   
                    e,
  875    866   
                )
  876    867   
            },
  877    868   
        );
@@ -943,934 +1003,993 @@
  963    954   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  964    955   
                request.headers(),
  965    956   
                &CONTENT_TYPE_TESTGETNOPAYLOAD,
  966    957   
            ) {
  967    958   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  968    959   
            }
  969    960   
            crate::protocol_serde::shape_test_get_no_payload::de_test_get_no_payload_http_request(
  970    961   
                request,
  971    962   
            )
  972    963   
            .await
  973         -
            .map_err(Into::into)
  974    964   
        };
  975    965   
        use ::futures_util::future::TryFutureExt;
  976    966   
        let fut = fut.map_err(
  977    967   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  978    968   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  979    969   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  980    970   
                    e,
  981    971   
                )
  982    972   
            },
  983    973   
        );
@@ -1042,1032 +1102,1091 @@
 1062   1052   
{
 1063   1053   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
 1064   1054   
    type Future = TestPayloadBlobInputFuture;
 1065   1055   
 1066   1056   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1067   1057   
        let fut = async move {
 1068   1058   
            crate::protocol_serde::shape_test_payload_blob::de_test_payload_blob_http_request(
 1069   1059   
                request,
 1070   1060   
            )
 1071   1061   
            .await
 1072         -
            .map_err(Into::into)
 1073   1062   
        };
 1074   1063   
        use ::futures_util::future::TryFutureExt;
 1075   1064   
        let fut = fut.map_err(
 1076   1065   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1077   1066   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1078   1067   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1079   1068   
                    e,
 1080   1069   
                )
 1081   1070   
            },
 1082   1071   
        );
@@ -1148,1137 +1208,1196 @@
 1168   1157   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1169   1158   
        let fut = async move {
 1170   1159   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1171   1160   
                request.headers(),
 1172   1161   
                &CONTENT_TYPE_TESTPAYLOADSTRUCTURE,
 1173   1162   
            ) {
 1174   1163   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1175   1164   
            }
 1176   1165   
            crate::protocol_serde::shape_test_payload_structure::de_test_payload_structure_http_request(request)
 1177   1166   
                            .await
 1178         -
                            .map_err(Into::into)
 1179   1167   
        };
 1180   1168   
        use ::futures_util::future::TryFutureExt;
 1181   1169   
        let fut = fut.map_err(
 1182   1170   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1183   1171   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1184   1172   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1185   1173   
                    e,
 1186   1174   
                )
 1187   1175   
            },
 1188   1176   
        );
@@ -1250,1238 +1310,1297 @@
 1270   1258   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1271   1259   
                request.headers(),
 1272   1260   
                &CONTENT_TYPE_TESTBODYSTRUCTURE,
 1273   1261   
            ) {
 1274   1262   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1275   1263   
            }
 1276   1264   
            crate::protocol_serde::shape_test_body_structure::de_test_body_structure_http_request(
 1277   1265   
                request,
 1278   1266   
            )
 1279   1267   
            .await
 1280         -
            .map_err(Into::into)
 1281   1268   
        };
 1282   1269   
        use ::futures_util::future::TryFutureExt;
 1283   1270   
        let fut = fut.map_err(
 1284   1271   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1285   1272   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1286   1273   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1287   1274   
                    e,
 1288   1275   
                )
 1289   1276   
            },
 1290   1277   
        );
@@ -1359,1346 +1419,1405 @@
 1379   1366   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1380   1367   
        let fut = async move {
 1381   1368   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1382   1369   
                request.headers(),
 1383   1370   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHGENERICSTRING,
 1384   1371   
            ) {
 1385   1372   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1386   1373   
            }
 1387   1374   
            crate::protocol_serde::shape_malformed_accept_with_generic_string::de_malformed_accept_with_generic_string_http_request(request)
 1388   1375   
                            .await
 1389         -
                            .map_err(Into::into)
 1390   1376   
        };
 1391   1377   
        use ::futures_util::future::TryFutureExt;
 1392   1378   
        let fut = fut.map_err(
 1393   1379   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1394   1380   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1395   1381   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1396   1382   
                    e,
 1397   1383   
                )
 1398   1384   
            },
 1399   1385   
        );
@@ -1464,1450 +1524,1509 @@
 1484   1470   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1485   1471   
        let fut = async move {
 1486   1472   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1487   1473   
                request.headers(),
 1488   1474   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHPAYLOAD,
 1489   1475   
            ) {
 1490   1476   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1491   1477   
            }
 1492   1478   
            crate::protocol_serde::shape_malformed_accept_with_payload::de_malformed_accept_with_payload_http_request(request)
 1493   1479   
                            .await
 1494         -
                            .map_err(Into::into)
 1495   1480   
        };
 1496   1481   
        use ::futures_util::future::TryFutureExt;
 1497   1482   
        let fut = fut.map_err(
 1498   1483   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1499   1484   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1500   1485   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1501   1486   
                    e,
 1502   1487   
                )
 1503   1488   
            },
 1504   1489   
        );
@@ -1564,1549 +1624,1608 @@
 1584   1569   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1585   1570   
        let fut = async move {
 1586   1571   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1587   1572   
                request.headers(),
 1588   1573   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHBODY,
 1589   1574   
            ) {
 1590   1575   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1591   1576   
            }
 1592   1577   
            crate::protocol_serde::shape_malformed_accept_with_body::de_malformed_accept_with_body_http_request(request)
 1593   1578   
                            .await
 1594         -
                            .map_err(Into::into)
 1595   1579   
        };
 1596   1580   
        use ::futures_util::future::TryFutureExt;
 1597   1581   
        let fut = fut.map_err(
 1598   1582   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1599   1583   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1600   1584   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1601   1585   
                    e,
 1602   1586   
                )
 1603   1587   
            },
 1604   1588   
        );
@@ -1664,1648 +1724,1707 @@
 1684   1668   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1685   1669   
        let fut = async move {
 1686   1670   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1687   1671   
                request.headers(),
 1688   1672   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHGENERICSTRING,
 1689   1673   
            ) {
 1690   1674   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1691   1675   
            }
 1692   1676   
            crate::protocol_serde::shape_malformed_content_type_with_generic_string::de_malformed_content_type_with_generic_string_http_request(request)
 1693   1677   
                            .await
 1694         -
                            .map_err(Into::into)
 1695   1678   
        };
 1696   1679   
        use ::futures_util::future::TryFutureExt;
 1697   1680   
        let fut = fut.map_err(
 1698   1681   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1699   1682   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1700   1683   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1701   1684   
                    e,
 1702   1685   
                )
 1703   1686   
            },
 1704   1687   
        );
@@ -1764,1747 +1824,1806 @@
 1784   1767   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1785   1768   
        let fut = async move {
 1786   1769   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1787   1770   
                request.headers(),
 1788   1771   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHPAYLOAD,
 1789   1772   
            ) {
 1790   1773   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1791   1774   
            }
 1792   1775   
            crate::protocol_serde::shape_malformed_content_type_with_payload::de_malformed_content_type_with_payload_http_request(request)
 1793   1776   
                            .await
 1794         -
                            .map_err(Into::into)
 1795   1777   
        };
 1796   1778   
        use ::futures_util::future::TryFutureExt;
 1797   1779   
        let fut = fut.map_err(
 1798   1780   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1799   1781   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1800   1782   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1801   1783   
                    e,
 1802   1784   
                )
 1803   1785   
            },
 1804   1786   
        );
@@ -1864,1846 +1924,1905 @@
 1884   1866   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1885   1867   
        let fut = async move {
 1886   1868   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1887   1869   
                request.headers(),
 1888   1870   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHBODY,
 1889   1871   
            ) {
 1890   1872   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1891   1873   
            }
 1892   1874   
            crate::protocol_serde::shape_malformed_content_type_with_body::de_malformed_content_type_with_body_http_request(request)
 1893   1875   
                            .await
 1894         -
                            .map_err(Into::into)
 1895   1876   
        };
 1896   1877   
        use ::futures_util::future::TryFutureExt;
 1897   1878   
        let fut = fut.map_err(
 1898   1879   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1899   1880   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1900   1881   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1901   1882   
                    e,
 1902   1883   
                )
 1903   1884   
            },
 1904   1885   
        );
@@ -1964,1945 +2024,2004 @@
 1984   1965   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1985   1966   
        let fut = async move {
 1986   1967   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1987   1968   
                request.headers(),
 1988   1969   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHOUTBODY,
 1989   1970   
            ) {
 1990   1971   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1991   1972   
            }
 1992   1973   
            crate::protocol_serde::shape_malformed_content_type_without_body::de_malformed_content_type_without_body_http_request(request)
 1993   1974   
                            .await
 1994         -
                            .map_err(Into::into)
 1995   1975   
        };
 1996   1976   
        use ::futures_util::future::TryFutureExt;
 1997   1977   
        let fut = fut.map_err(
 1998   1978   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1999   1979   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2000   1980   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2001   1981   
                    e,
 2002   1982   
                )
 2003   1983   
            },
 2004   1984   
        );
@@ -2064,2044 +2124,2103 @@
 2084   2064   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2085   2065   
        let fut = async move {
 2086   2066   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2087   2067   
                request.headers(),
 2088   2068   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYHTTPDATE,
 2089   2069   
            ) {
 2090   2070   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2091   2071   
            }
 2092   2072   
            crate::protocol_serde::shape_malformed_timestamp_body_http_date::de_malformed_timestamp_body_http_date_http_request(request)
 2093   2073   
                            .await
 2094         -
                            .map_err(Into::into)
 2095   2074   
        };
 2096   2075   
        use ::futures_util::future::TryFutureExt;
 2097   2076   
        let fut = fut.map_err(
 2098   2077   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2099   2078   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2100   2079   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2101   2080   
                    e,
 2102   2081   
                )
 2103   2082   
            },
 2104   2083   
        );
@@ -2164,2143 +2224,2202 @@
 2184   2163   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2185   2164   
        let fut = async move {
 2186   2165   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2187   2166   
                request.headers(),
 2188   2167   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYDATETIME,
 2189   2168   
            ) {
 2190   2169   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2191   2170   
            }
 2192   2171   
            crate::protocol_serde::shape_malformed_timestamp_body_date_time::de_malformed_timestamp_body_date_time_http_request(request)
 2193   2172   
                            .await
 2194         -
                            .map_err(Into::into)
 2195   2173   
        };
 2196   2174   
        use ::futures_util::future::TryFutureExt;
 2197   2175   
        let fut = fut.map_err(
 2198   2176   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2199   2177   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2200   2178   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2201   2179   
                    e,
 2202   2180   
                )
 2203   2181   
            },
 2204   2182   
        );
@@ -2264,2242 +2324,2301 @@
 2284   2262   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2285   2263   
        let fut = async move {
 2286   2264   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2287   2265   
                request.headers(),
 2288   2266   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYDEFAULT,
 2289   2267   
            ) {
 2290   2268   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2291   2269   
            }
 2292   2270   
            crate::protocol_serde::shape_malformed_timestamp_body_default::de_malformed_timestamp_body_default_http_request(request)
 2293   2271   
                            .await
 2294         -
                            .map_err(Into::into)
 2295   2272   
        };
 2296   2273   
        use ::futures_util::future::TryFutureExt;
 2297   2274   
        let fut = fut.map_err(
 2298   2275   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2299   2276   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2300   2277   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2301   2278   
                    e,
 2302   2279   
                )
 2303   2280   
            },
 2304   2281   
        );
@@ -2364,2341 +2424,2400 @@
 2384   2361   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2385   2362   
        let fut = async move {
 2386   2363   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2387   2364   
                request.headers(),
 2388   2365   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADEREPOCH,
 2389   2366   
            ) {
 2390   2367   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2391   2368   
            }
 2392   2369   
            crate::protocol_serde::shape_malformed_timestamp_header_epoch::de_malformed_timestamp_header_epoch_http_request(request)
 2393   2370   
                            .await
 2394         -
                            .map_err(Into::into)
 2395   2371   
        };
 2396   2372   
        use ::futures_util::future::TryFutureExt;
 2397   2373   
        let fut = fut.map_err(
 2398   2374   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2399   2375   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2400   2376   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2401   2377   
                    e,
 2402   2378   
                )
 2403   2379   
            },
 2404   2380   
        );
@@ -2464,2440 +2524,2499 @@
 2484   2460   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2485   2461   
        let fut = async move {
 2486   2462   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2487   2463   
                request.headers(),
 2488   2464   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADERDATETIME,
 2489   2465   
            ) {
 2490   2466   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2491   2467   
            }
 2492   2468   
            crate::protocol_serde::shape_malformed_timestamp_header_date_time::de_malformed_timestamp_header_date_time_http_request(request)
 2493   2469   
                            .await
 2494         -
                            .map_err(Into::into)
 2495   2470   
        };
 2496   2471   
        use ::futures_util::future::TryFutureExt;
 2497   2472   
        let fut = fut.map_err(
 2498   2473   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2499   2474   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2500   2475   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2501   2476   
                    e,
 2502   2477   
                )
 2503   2478   
            },
 2504   2479   
        );
@@ -2564,2539 +2624,2598 @@
 2584   2559   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2585   2560   
        let fut = async move {
 2586   2561   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2587   2562   
                request.headers(),
 2588   2563   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADERDEFAULT,
 2589   2564   
            ) {
 2590   2565   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2591   2566   
            }
 2592   2567   
            crate::protocol_serde::shape_malformed_timestamp_header_default::de_malformed_timestamp_header_default_http_request(request)
 2593   2568   
                            .await
 2594         -
                            .map_err(Into::into)
 2595   2569   
        };
 2596   2570   
        use ::futures_util::future::TryFutureExt;
 2597   2571   
        let fut = fut.map_err(
 2598   2572   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2599   2573   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2600   2574   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2601   2575   
                    e,
 2602   2576   
                )
 2603   2577   
            },
 2604   2578   
        );
@@ -2664,2638 +2724,2697 @@
 2684   2658   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2685   2659   
        let fut = async move {
 2686   2660   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2687   2661   
                request.headers(),
 2688   2662   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYEPOCH,
 2689   2663   
            ) {
 2690   2664   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2691   2665   
            }
 2692   2666   
            crate::protocol_serde::shape_malformed_timestamp_query_epoch::de_malformed_timestamp_query_epoch_http_request(request)
 2693   2667   
                            .await
 2694         -
                            .map_err(Into::into)
 2695   2668   
        };
 2696   2669   
        use ::futures_util::future::TryFutureExt;
 2697   2670   
        let fut = fut.map_err(
 2698   2671   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2699   2672   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2700   2673   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2701   2674   
                    e,
 2702   2675   
                )
 2703   2676   
            },
 2704   2677   
        );
@@ -2764,2737 +2824,2796 @@
 2784   2757   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2785   2758   
        let fut = async move {
 2786   2759   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2787   2760   
                request.headers(),
 2788   2761   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYHTTPDATE,
 2789   2762   
            ) {
 2790   2763   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2791   2764   
            }
 2792   2765   
            crate::protocol_serde::shape_malformed_timestamp_query_http_date::de_malformed_timestamp_query_http_date_http_request(request)
 2793   2766   
                            .await
 2794         -
                            .map_err(Into::into)
 2795   2767   
        };
 2796   2768   
        use ::futures_util::future::TryFutureExt;
 2797   2769   
        let fut = fut.map_err(
 2798   2770   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2799   2771   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2800   2772   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2801   2773   
                    e,
 2802   2774   
                )
 2803   2775   
            },
 2804   2776   
        );
@@ -2864,2836 +2924,2895 @@
 2884   2856   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2885   2857   
        let fut = async move {
 2886   2858   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2887   2859   
                request.headers(),
 2888   2860   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYDEFAULT,
 2889   2861   
            ) {
 2890   2862   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2891   2863   
            }
 2892   2864   
            crate::protocol_serde::shape_malformed_timestamp_query_default::de_malformed_timestamp_query_default_http_request(request)
 2893   2865   
                            .await
 2894         -
                            .map_err(Into::into)
 2895   2866   
        };
 2896   2867   
        use ::futures_util::future::TryFutureExt;
 2897   2868   
        let fut = fut.map_err(
 2898   2869   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2899   2870   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2900   2871   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2901   2872   
                    e,
 2902   2873   
                )
 2903   2874   
            },
 2904   2875   
        );
@@ -2964,2935 +3024,2994 @@
 2984   2955   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2985   2956   
        let fut = async move {
 2986   2957   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2987   2958   
                request.headers(),
 2988   2959   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHEPOCH,
 2989   2960   
            ) {
 2990   2961   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2991   2962   
            }
 2992   2963   
            crate::protocol_serde::shape_malformed_timestamp_path_epoch::de_malformed_timestamp_path_epoch_http_request(request)
 2993   2964   
                            .await
 2994         -
                            .map_err(Into::into)
 2995   2965   
        };
 2996   2966   
        use ::futures_util::future::TryFutureExt;
 2997   2967   
        let fut = fut.map_err(
 2998   2968   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2999   2969   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3000   2970   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3001   2971   
                    e,
 3002   2972   
                )
 3003   2973   
            },
 3004   2974   
        );
@@ -3064,3034 +3124,3093 @@
 3084   3054   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3085   3055   
        let fut = async move {
 3086   3056   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3087   3057   
                request.headers(),
 3088   3058   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHHTTPDATE,
 3089   3059   
            ) {
 3090   3060   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3091   3061   
            }
 3092   3062   
            crate::protocol_serde::shape_malformed_timestamp_path_http_date::de_malformed_timestamp_path_http_date_http_request(request)
 3093   3063   
                            .await
 3094         -
                            .map_err(Into::into)
 3095   3064   
        };
 3096   3065   
        use ::futures_util::future::TryFutureExt;
 3097   3066   
        let fut = fut.map_err(
 3098   3067   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3099   3068   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3100   3069   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3101   3070   
                    e,
 3102   3071   
                )
 3103   3072   
            },
 3104   3073   
        );
@@ -3164,3133 +3224,3192 @@
 3184   3153   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3185   3154   
        let fut = async move {
 3186   3155   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3187   3156   
                request.headers(),
 3188   3157   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHDEFAULT,
 3189   3158   
            ) {
 3190   3159   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3191   3160   
            }
 3192   3161   
            crate::protocol_serde::shape_malformed_timestamp_path_default::de_malformed_timestamp_path_default_http_request(request)
 3193   3162   
                            .await
 3194         -
                            .map_err(Into::into)
 3195   3163   
        };
 3196   3164   
        use ::futures_util::future::TryFutureExt;
 3197   3165   
        let fut = fut.map_err(
 3198   3166   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3199   3167   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3200   3168   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3201   3169   
                    e,
 3202   3170   
                )
 3203   3171   
            },
 3204   3172   
        );
@@ -3264,3232 +3324,3291 @@
 3284   3252   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3285   3253   
        let fut = async move {
 3286   3254   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3287   3255   
                request.headers(),
 3288   3256   
                &CONTENT_TYPE_MALFORMEDSTRING,
 3289   3257   
            ) {
 3290   3258   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3291   3259   
            }
 3292   3260   
            crate::protocol_serde::shape_malformed_string::de_malformed_string_http_request(request)
 3293   3261   
                .await
 3294         -
                .map_err(Into::into)
 3295   3262   
        };
 3296   3263   
        use ::futures_util::future::TryFutureExt;
 3297   3264   
        let fut = fut.map_err(
 3298   3265   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3299   3266   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3300   3267   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3301   3268   
                    e,
 3302   3269   
                )
 3303   3270   
            },
 3304   3271   
        );
@@ -3369,3336 +3429,3395 @@
 3389   3356   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3390   3357   
        let fut = async move {
 3391   3358   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3392   3359   
                request.headers(),
 3393   3360   
                &CONTENT_TYPE_MALFORMEDDOUBLE,
 3394   3361   
            ) {
 3395   3362   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3396   3363   
            }
 3397   3364   
            crate::protocol_serde::shape_malformed_double::de_malformed_double_http_request(request)
 3398   3365   
                .await
 3399         -
                .map_err(Into::into)
 3400   3366   
        };
 3401   3367   
        use ::futures_util::future::TryFutureExt;
 3402   3368   
        let fut = fut.map_err(
 3403   3369   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3404   3370   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3405   3371   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3406   3372   
                    e,
 3407   3373   
                )
 3408   3374   
            },
 3409   3375   
        );
@@ -3474,3440 +3534,3499 @@
 3494   3460   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3495   3461   
        let fut = async move {
 3496   3462   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3497   3463   
                request.headers(),
 3498   3464   
                &CONTENT_TYPE_MALFORMEDFLOAT,
 3499   3465   
            ) {
 3500   3466   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3501   3467   
            }
 3502   3468   
            crate::protocol_serde::shape_malformed_float::de_malformed_float_http_request(request)
 3503   3469   
                .await
 3504         -
                .map_err(Into::into)
 3505   3470   
        };
 3506   3471   
        use ::futures_util::future::TryFutureExt;
 3507   3472   
        let fut = fut.map_err(
 3508   3473   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3509   3474   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3510   3475   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3511   3476   
                    e,
 3512   3477   
                )
 3513   3478   
            },
 3514   3479   
        );
@@ -3577,3542 +3637,3601 @@
 3597   3562   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3598   3563   
        let fut = async move {
 3599   3564   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3600   3565   
                request.headers(),
 3601   3566   
                &CONTENT_TYPE_MALFORMEDLONG,
 3602   3567   
            ) {
 3603   3568   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3604   3569   
            }
 3605   3570   
            crate::protocol_serde::shape_malformed_long::de_malformed_long_http_request(request)
 3606   3571   
                .await
 3607         -
                .map_err(Into::into)
 3608   3572   
        };
 3609   3573   
        use ::futures_util::future::TryFutureExt;
 3610   3574   
        let fut = fut.map_err(
 3611   3575   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3612   3576   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3613   3577   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3614   3578   
                    e,
 3615   3579   
                )
 3616   3580   
            },
 3617   3581   
        );
@@ -3679,3643 +3739,3702 @@
 3699   3663   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3700   3664   
        let fut = async move {
 3701   3665   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3702   3666   
                request.headers(),
 3703   3667   
                &CONTENT_TYPE_MALFORMEDSHORT,
 3704   3668   
            ) {
 3705   3669   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3706   3670   
            }
 3707   3671   
            crate::protocol_serde::shape_malformed_short::de_malformed_short_http_request(request)
 3708   3672   
                .await
 3709         -
                .map_err(Into::into)
 3710   3673   
        };
 3711   3674   
        use ::futures_util::future::TryFutureExt;
 3712   3675   
        let fut = fut.map_err(
 3713   3676   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3714   3677   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3715   3678   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3716   3679   
                    e,
 3717   3680   
                )
 3718   3681   
            },
 3719   3682   
        );
@@ -3782,3745 +3842,3804 @@
 3802   3765   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3803   3766   
        let fut = async move {
 3804   3767   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3805   3768   
                request.headers(),
 3806   3769   
                &CONTENT_TYPE_MALFORMEDBYTE,
 3807   3770   
            ) {
 3808   3771   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3809   3772   
            }
 3810   3773   
            crate::protocol_serde::shape_malformed_byte::de_malformed_byte_http_request(request)
 3811   3774   
                .await
 3812         -
                .map_err(Into::into)
 3813   3775   
        };
 3814   3776   
        use ::futures_util::future::TryFutureExt;
 3815   3777   
        let fut = fut.map_err(
 3816   3778   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3817   3779   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3818   3780   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3819   3781   
                    e,
 3820   3782   
                )
 3821   3783   
            },
 3822   3784   
        );
@@ -3884,3846 +3944,3905 @@
 3904   3866   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3905   3867   
        let fut = async move {
 3906   3868   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3907   3869   
                request.headers(),
 3908   3870   
                &CONTENT_TYPE_MALFORMEDBLOB,
 3909   3871   
            ) {
 3910   3872   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3911   3873   
            }
 3912   3874   
            crate::protocol_serde::shape_malformed_blob::de_malformed_blob_http_request(request)
 3913   3875   
                .await
 3914         -
                .map_err(Into::into)
 3915   3876   
        };
 3916   3877   
        use ::futures_util::future::TryFutureExt;
 3917   3878   
        let fut = fut.map_err(
 3918   3879   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3919   3880   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3920   3881   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3921   3882   
                    e,
 3922   3883   
                )
 3923   3884   
            },
 3924   3885   
        );
@@ -3984,3945 +4046,4005 @@
 4004   3965   
    type Future = MalformedMapInputFuture;
 4005   3966   
 4006   3967   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4007   3968   
        let fut = async move {
 4008   3969   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4009   3970   
                request.headers(),
 4010   3971   
                &CONTENT_TYPE_MALFORMEDMAP,
 4011   3972   
            ) {
 4012   3973   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4013   3974   
            }
 4014         -
            crate::protocol_serde::shape_malformed_map::de_malformed_map_http_request(request)
 4015         -
                .await
 4016         -
                .map_err(Into::into)
        3975  +
            crate::protocol_serde::shape_malformed_map::de_malformed_map_http_request(request).await
 4017   3976   
        };
 4018   3977   
        use ::futures_util::future::TryFutureExt;
 4019   3978   
        let fut = fut.map_err(
 4020   3979   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4021   3980   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4022   3981   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4023   3982   
                    e,
 4024   3983   
                )
 4025   3984   
            },
 4026   3985   
        );
@@ -4088,4047 +4148,4106 @@
 4108   4067   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4109   4068   
        let fut = async move {
 4110   4069   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4111   4070   
                request.headers(),
 4112   4071   
                &CONTENT_TYPE_MALFORMEDLIST,
 4113   4072   
            ) {
 4114   4073   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4115   4074   
            }
 4116   4075   
            crate::protocol_serde::shape_malformed_list::de_malformed_list_http_request(request)
 4117   4076   
                .await
 4118         -
                .map_err(Into::into)
 4119   4077   
        };
 4120   4078   
        use ::futures_util::future::TryFutureExt;
 4121   4079   
        let fut = fut.map_err(
 4122   4080   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4123   4081   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4124   4082   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4125   4083   
                    e,
 4126   4084   
                )
 4127   4085   
            },
 4128   4086   
        );
@@ -4192,4150 +4252,4209 @@
 4212   4170   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4213   4171   
                request.headers(),
 4214   4172   
                &CONTENT_TYPE_MALFORMEDBOOLEAN,
 4215   4173   
            ) {
 4216   4174   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4217   4175   
            }
 4218   4176   
            crate::protocol_serde::shape_malformed_boolean::de_malformed_boolean_http_request(
 4219   4177   
                request,
 4220   4178   
            )
 4221   4179   
            .await
 4222         -
            .map_err(Into::into)
 4223   4180   
        };
 4224   4181   
        use ::futures_util::future::TryFutureExt;
 4225   4182   
        let fut = fut.map_err(
 4226   4183   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4227   4184   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4228   4185   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4229   4186   
                    e,
 4230   4187   
                )
 4231   4188   
            },
 4232   4189   
        );
@@ -4298,4255 +4358,4314 @@
 4318   4275   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4319   4276   
        let fut = async move {
 4320   4277   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4321   4278   
                request.headers(),
 4322   4279   
                &CONTENT_TYPE_MALFORMEDUNION,
 4323   4280   
            ) {
 4324   4281   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4325   4282   
            }
 4326   4283   
            crate::protocol_serde::shape_malformed_union::de_malformed_union_http_request(request)
 4327   4284   
                .await
 4328         -
                .map_err(Into::into)
 4329   4285   
        };
 4330   4286   
        use ::futures_util::future::TryFutureExt;
 4331   4287   
        let fut = fut.map_err(
 4332   4288   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4333   4289   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4334   4290   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4335   4291   
                    e,
 4336   4292   
                )
 4337   4293   
            },
 4338   4294   
        );
@@ -4403,4359 +4463,4418 @@
 4423   4379   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4424   4380   
                request.headers(),
 4425   4381   
                &CONTENT_TYPE_MALFORMEDINTEGER,
 4426   4382   
            ) {
 4427   4383   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4428   4384   
            }
 4429   4385   
            crate::protocol_serde::shape_malformed_integer::de_malformed_integer_http_request(
 4430   4386   
                request,
 4431   4387   
            )
 4432   4388   
            .await
 4433         -
            .map_err(Into::into)
 4434   4389   
        };
 4435   4390   
        use ::futures_util::future::TryFutureExt;
 4436   4391   
        let fut = fut.map_err(
 4437   4392   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4438   4393   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4439   4394   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4440   4395   
                    e,
 4441   4396   
                )
 4442   4397   
            },
 4443   4398   
        );
@@ -4509,4464 +4569,4523 @@
 4529   4484   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4530   4485   
        let fut = async move {
 4531   4486   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4532   4487   
                request.headers(),
 4533   4488   
                &CONTENT_TYPE_MALFORMEDREQUESTBODY,
 4534   4489   
            ) {
 4535   4490   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4536   4491   
            }
 4537   4492   
            crate::protocol_serde::shape_malformed_request_body::de_malformed_request_body_http_request(request)
 4538   4493   
                            .await
 4539         -
                            .map_err(Into::into)
 4540   4494   
        };
 4541   4495   
        use ::futures_util::future::TryFutureExt;
 4542   4496   
        let fut = fut.map_err(
 4543   4497   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4544   4498   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4545   4499   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4546   4500   
                    e,
 4547   4501   
                )
 4548   4502   
            },
 4549   4503   
        );
@@ -4609,4563 +4669,4622 @@
 4629   4583   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4630   4584   
        let fut = async move {
 4631   4585   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4632   4586   
                request.headers(),
 4633   4587   
                &CONTENT_TYPE_HTTPCHECKSUMREQUIRED,
 4634   4588   
            ) {
 4635   4589   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4636   4590   
            }
 4637   4591   
            crate::protocol_serde::shape_http_checksum_required::de_http_checksum_required_http_request(request)
 4638   4592   
                            .await
 4639         -
                            .map_err(Into::into)
 4640   4593   
        };
 4641   4594   
        use ::futures_util::future::TryFutureExt;
 4642   4595   
        let fut = fut.map_err(
 4643   4596   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4644   4597   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4645   4598   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4646   4599   
                    e,
 4647   4600   
                )
 4648   4601   
            },
 4649   4602   
        );
@@ -4709,4662 +4769,4721 @@
 4729   4682   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4730   4683   
        let fut = async move {
 4731   4684   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4732   4685   
                request.headers(),
 4733   4686   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
 4734   4687   
            ) {
 4735   4688   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4736   4689   
            }
 4737   4690   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
 4738   4691   
                            .await
 4739         -
                            .map_err(Into::into)
 4740   4692   
        };
 4741   4693   
        use ::futures_util::future::TryFutureExt;
 4742   4694   
        let fut = fut.map_err(
 4743   4695   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4744   4696   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4745   4697   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4746   4698   
                    e,
 4747   4699   
                )
 4748   4700   
            },
 4749   4701   
        );
@@ -4809,4761 +4869,4820 @@
 4829   4781   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4830   4782   
        let fut = async move {
 4831   4783   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4832   4784   
                request.headers(),
 4833   4785   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
 4834   4786   
            ) {
 4835   4787   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4836   4788   
            }
 4837   4789   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
 4838   4790   
                            .await
 4839         -
                            .map_err(Into::into)
 4840   4791   
        };
 4841   4792   
        use ::futures_util::future::TryFutureExt;
 4842   4793   
        let fut = fut.map_err(
 4843   4794   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4844   4795   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4845   4796   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4846   4797   
                    e,
 4847   4798   
                )
 4848   4799   
            },
 4849   4800   
        );
@@ -4911,4862 +4971,4921 @@
 4931   4882   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4932   4883   
                request.headers(),
 4933   4884   
                &CONTENT_TYPE_ENDPOINTOPERATION,
 4934   4885   
            ) {
 4935   4886   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4936   4887   
            }
 4937   4888   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
 4938   4889   
                request,
 4939   4890   
            )
 4940   4891   
            .await
 4941         -
            .map_err(Into::into)
 4942   4892   
        };
 4943   4893   
        use ::futures_util::future::TryFutureExt;
 4944   4894   
        let fut = fut.map_err(
 4945   4895   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4946   4896   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4947   4897   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4948   4898   
                    e,
 4949   4899   
                )
 4950   4900   
            },
 4951   4901   
        );
@@ -5017,4967 +5077,5026 @@
 5037   4987   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5038   4988   
        let fut = async move {
 5039   4989   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5040   4990   
                request.headers(),
 5041   4991   
                &CONTENT_TYPE_POSTUNIONWITHJSONNAME,
 5042   4992   
            ) {
 5043   4993   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5044   4994   
            }
 5045   4995   
            crate::protocol_serde::shape_post_union_with_json_name::de_post_union_with_json_name_http_request(request)
 5046   4996   
                            .await
 5047         -
                            .map_err(Into::into)
 5048   4997   
        };
 5049   4998   
        use ::futures_util::future::TryFutureExt;
 5050   4999   
        let fut = fut.map_err(
 5051   5000   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5052   5001   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5053   5002   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5054   5003   
                    e,
 5055   5004   
                )
 5056   5005   
            },
 5057   5006   
        );
@@ -5119,5068 +5179,5127 @@
 5139   5088   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5140   5089   
                request.headers(),
 5141   5090   
                &CONTENT_TYPE_POSTPLAYERACTION,
 5142   5091   
            ) {
 5143   5092   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5144   5093   
            }
 5145   5094   
            crate::protocol_serde::shape_post_player_action::de_post_player_action_http_request(
 5146   5095   
                request,
 5147   5096   
            )
 5148   5097   
            .await
 5149         -
            .map_err(Into::into)
 5150   5098   
        };
 5151   5099   
        use ::futures_util::future::TryFutureExt;
 5152   5100   
        let fut = fut.map_err(
 5153   5101   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5154   5102   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5155   5103   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5156   5104   
                    e,
 5157   5105   
                )
 5158   5106   
            },
 5159   5107   
        );
@@ -5223,5171 +5285,5231 @@
 5243   5191   
    type Future = JsonUnionsInputFuture;
 5244   5192   
 5245   5193   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5246   5194   
        let fut = async move {
 5247   5195   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5248   5196   
                request.headers(),
 5249   5197   
                &CONTENT_TYPE_JSONUNIONS,
 5250   5198   
            ) {
 5251   5199   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5252   5200   
            }
 5253         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
 5254         -
                .await
 5255         -
                .map_err(Into::into)
        5201  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
 5256   5202   
        };
 5257   5203   
        use ::futures_util::future::TryFutureExt;
 5258   5204   
        let fut = fut.map_err(
 5259   5205   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5260   5206   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5261   5207   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5262   5208   
                    e,
 5263   5209   
                )
 5264   5210   
            },
 5265   5211   
        );
@@ -5327,5273 +5387,5332 @@
 5347   5293   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5348   5294   
        let fut = async move {
 5349   5295   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5350   5296   
                request.headers(),
 5351   5297   
                &CONTENT_TYPE_DOCUMENTTYPEASMAPVALUE,
 5352   5298   
            ) {
 5353   5299   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5354   5300   
            }
 5355   5301   
            crate::protocol_serde::shape_document_type_as_map_value::de_document_type_as_map_value_http_request(request)
 5356   5302   
                            .await
 5357         -
                            .map_err(Into::into)
 5358   5303   
        };
 5359   5304   
        use ::futures_util::future::TryFutureExt;
 5360   5305   
        let fut = fut.map_err(
 5361   5306   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5362   5307   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5363   5308   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5364   5309   
                    e,
 5365   5310   
                )
 5366   5311   
            },
 5367   5312   
        );
@@ -5427,5372 +5487,5431 @@
 5447   5392   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5448   5393   
        let fut = async move {
 5449   5394   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5450   5395   
                request.headers(),
 5451   5396   
                &CONTENT_TYPE_DOCUMENTTYPEASPAYLOAD,
 5452   5397   
            ) {
 5453   5398   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5454   5399   
            }
 5455   5400   
            crate::protocol_serde::shape_document_type_as_payload::de_document_type_as_payload_http_request(request)
 5456   5401   
                            .await
 5457         -
                            .map_err(Into::into)
 5458   5402   
        };
 5459   5403   
        use ::futures_util::future::TryFutureExt;
 5460   5404   
        let fut = fut.map_err(
 5461   5405   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5462   5406   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5463   5407   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5464   5408   
                    e,
 5465   5409   
                )
 5466   5410   
            },
 5467   5411   
        );
@@ -5525,5469 +5587,5529 @@
 5545   5489   
    type Future = DocumentTypeInputFuture;
 5546   5490   
 5547   5491   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5548   5492   
        let fut = async move {
 5549   5493   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5550   5494   
                request.headers(),
 5551   5495   
                &CONTENT_TYPE_DOCUMENTTYPE,
 5552   5496   
            ) {
 5553   5497   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5554   5498   
            }
 5555         -
            crate::protocol_serde::shape_document_type::de_document_type_http_request(request)
 5556         -
                .await
 5557         -
                .map_err(Into::into)
        5499  +
            crate::protocol_serde::shape_document_type::de_document_type_http_request(request).await
 5558   5500   
        };
 5559   5501   
        use ::futures_util::future::TryFutureExt;
 5560   5502   
        let fut = fut.map_err(
 5561   5503   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5562   5504   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5563   5505   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5564   5506   
                    e,
 5565   5507   
                )
 5566   5508   
            },
 5567   5509   
        );
@@ -5627,5569 +5689,5629 @@
 5647   5589   
    type Future = JsonBlobsInputFuture;
 5648   5590   
 5649   5591   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5650   5592   
        let fut = async move {
 5651   5593   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5652   5594   
                request.headers(),
 5653   5595   
                &CONTENT_TYPE_JSONBLOBS,
 5654   5596   
            ) {
 5655   5597   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5656   5598   
            }
 5657         -
            crate::protocol_serde::shape_json_blobs::de_json_blobs_http_request(request)
 5658         -
                .await
 5659         -
                .map_err(Into::into)
        5599  +
            crate::protocol_serde::shape_json_blobs::de_json_blobs_http_request(request).await
 5660   5600   
        };
 5661   5601   
        use ::futures_util::future::TryFutureExt;
 5662   5602   
        let fut = fut.map_err(
 5663   5603   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5664   5604   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5665   5605   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5666   5606   
                    e,
 5667   5607   
                )
 5668   5608   
            },
 5669   5609   
        );
@@ -5731,5671 +5791,5730 @@
 5751   5691   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5752   5692   
        let fut = async move {
 5753   5693   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5754   5694   
                request.headers(),
 5755   5695   
                &CONTENT_TYPE_SPARSEJSONMAPS,
 5756   5696   
            ) {
 5757   5697   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5758   5698   
            }
 5759   5699   
            crate::protocol_serde::shape_sparse_json_maps::de_sparse_json_maps_http_request(request)
 5760   5700   
                .await
 5761         -
                .map_err(Into::into)
 5762   5701   
        };
 5763   5702   
        use ::futures_util::future::TryFutureExt;
 5764   5703   
        let fut = fut.map_err(
 5765   5704   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5766   5705   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5767   5706   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5768   5707   
                    e,
 5769   5708   
                )
 5770   5709   
            },
 5771   5710   
        );
@@ -5834,5773 +5896,5833 @@
 5854   5793   
    type Future = JsonMapsInputFuture;
 5855   5794   
 5856   5795   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5857   5796   
        let fut = async move {
 5858   5797   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5859   5798   
                request.headers(),
 5860   5799   
                &CONTENT_TYPE_JSONMAPS,
 5861   5800   
            ) {
 5862   5801   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5863   5802   
            }
 5864         -
            crate::protocol_serde::shape_json_maps::de_json_maps_http_request(request)
 5865         -
                .await
 5866         -
                .map_err(Into::into)
        5803  +
            crate::protocol_serde::shape_json_maps::de_json_maps_http_request(request).await
 5867   5804   
        };
 5868   5805   
        use ::futures_util::future::TryFutureExt;
 5869   5806   
        let fut = fut.map_err(
 5870   5807   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5871   5808   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5872   5809   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5873   5810   
                    e,
 5874   5811   
                )
 5875   5812   
            },
 5876   5813   
        );
@@ -5940,5877 +6000,5936 @@
 5960   5897   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5961   5898   
                request.headers(),
 5962   5899   
                &CONTENT_TYPE_SPARSEJSONLISTS,
 5963   5900   
            ) {
 5964   5901   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5965   5902   
            }
 5966   5903   
            crate::protocol_serde::shape_sparse_json_lists::de_sparse_json_lists_http_request(
 5967   5904   
                request,
 5968   5905   
            )
 5969   5906   
            .await
 5970         -
            .map_err(Into::into)
 5971   5907   
        };
 5972   5908   
        use ::futures_util::future::TryFutureExt;
 5973   5909   
        let fut = fut.map_err(
 5974   5910   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5975   5911   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5976   5912   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5977   5913   
                    e,
 5978   5914   
                )
 5979   5915   
            },
 5980   5916   
        );
@@ -6044,5980 +6106,6040 @@
 6064   6000   
    type Future = JsonListsInputFuture;
 6065   6001   
 6066   6002   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6067   6003   
        let fut = async move {
 6068   6004   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6069   6005   
                request.headers(),
 6070   6006   
                &CONTENT_TYPE_JSONLISTS,
 6071   6007   
            ) {
 6072   6008   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6073   6009   
            }
 6074         -
            crate::protocol_serde::shape_json_lists::de_json_lists_http_request(request)
 6075         -
                .await
 6076         -
                .map_err(Into::into)
        6010  +
            crate::protocol_serde::shape_json_lists::de_json_lists_http_request(request).await
 6077   6011   
        };
 6078   6012   
        use ::futures_util::future::TryFutureExt;
 6079   6013   
        let fut = fut.map_err(
 6080   6014   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6081   6015   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6082   6016   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6083   6017   
                    e,
 6084   6018   
                )
 6085   6019   
            },
 6086   6020   
        );
@@ -6148,6082 +6208,6141 @@
 6168   6102   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6169   6103   
        let fut = async move {
 6170   6104   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6171   6105   
                request.headers(),
 6172   6106   
                &CONTENT_TYPE_RECURSIVESHAPES,
 6173   6107   
            ) {
 6174   6108   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6175   6109   
            }
 6176   6110   
            crate::protocol_serde::shape_recursive_shapes::de_recursive_shapes_http_request(request)
 6177   6111   
                .await
 6178         -
                .map_err(Into::into)
 6179   6112   
        };
 6180   6113   
        use ::futures_util::future::TryFutureExt;
 6181   6114   
        let fut = fut.map_err(
 6182   6115   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6183   6116   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6184   6117   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6185   6118   
                    e,
 6186   6119   
                )
 6187   6120   
            },
 6188   6121   
        );
@@ -6253,6186 +6313,6245 @@
 6273   6206   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6274   6207   
        let fut = async move {
 6275   6208   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6276   6209   
                request.headers(),
 6277   6210   
                &CONTENT_TYPE_JSONINTENUMS,
 6278   6211   
            ) {
 6279   6212   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6280   6213   
            }
 6281   6214   
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
 6282   6215   
                .await
 6283         -
                .map_err(Into::into)
 6284   6216   
        };
 6285   6217   
        use ::futures_util::future::TryFutureExt;
 6286   6218   
        let fut = fut.map_err(
 6287   6219   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6288   6220   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6289   6221   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6290   6222   
                    e,
 6291   6223   
                )
 6292   6224   
            },
 6293   6225   
        );
@@ -6353,6285 +6415,6345 @@
 6373   6305   
    type Future = JsonEnumsInputFuture;
 6374   6306   
 6375   6307   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6376   6308   
        let fut = async move {
 6377   6309   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6378   6310   
                request.headers(),
 6379   6311   
                &CONTENT_TYPE_JSONENUMS,
 6380   6312   
            ) {
 6381   6313   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6382   6314   
            }
 6383         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request)
 6384         -
                .await
 6385         -
                .map_err(Into::into)
        6315  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
 6386   6316   
        };
 6387   6317   
        use ::futures_util::future::TryFutureExt;
 6388   6318   
        let fut = fut.map_err(
 6389   6319   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6390   6320   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6391   6321   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6392   6322   
                    e,
 6393   6323   
                )
 6394   6324   
            },
 6395   6325   
        );
@@ -6457,6387 +6517,6446 @@
 6477   6407   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6478   6408   
        let fut = async move {
 6479   6409   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6480   6410   
                request.headers(),
 6481   6411   
                &CONTENT_TYPE_JSONTIMESTAMPS,
 6482   6412   
            ) {
 6483   6413   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6484   6414   
            }
 6485   6415   
            crate::protocol_serde::shape_json_timestamps::de_json_timestamps_http_request(request)
 6486   6416   
                .await
 6487         -
                .map_err(Into::into)
 6488   6417   
        };
 6489   6418   
        use ::futures_util::future::TryFutureExt;
 6490   6419   
        let fut = fut.map_err(
 6491   6420   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6492   6421   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6493   6422   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6494   6423   
                    e,
 6495   6424   
                )
 6496   6425   
            },
 6497   6426   
        );
@@ -6560,6489 +6620,6548 @@
 6580   6509   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6581   6510   
        let fut = async move {
 6582   6511   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6583   6512   
                request.headers(),
 6584   6513   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
 6585   6514   
            ) {
 6586   6515   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6587   6516   
            }
 6588   6517   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 6589   6518   
                            .await
 6590         -
                            .map_err(Into::into)
 6591   6519   
        };
 6592   6520   
        use ::futures_util::future::TryFutureExt;
 6593   6521   
        let fut = fut.map_err(
 6594   6522   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6595   6523   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6596   6524   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6597   6525   
                    e,
 6598   6526   
                )
 6599   6527   
            },
 6600   6528   
        );
@@ -6662,6590 +6722,6649 @@
 6682   6610   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6683   6611   
                request.headers(),
 6684   6612   
                &CONTENT_TYPE_GREETINGWITHERRORS,
 6685   6613   
            ) {
 6686   6614   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6687   6615   
            }
 6688   6616   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
 6689   6617   
                request,
 6690   6618   
            )
 6691   6619   
            .await
 6692         -
            .map_err(Into::into)
 6693   6620   
        };
 6694   6621   
        use ::futures_util::future::TryFutureExt;
 6695   6622   
        let fut = fut.map_err(
 6696   6623   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6697   6624   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6698   6625   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6699   6626   
                    e,
 6700   6627   
                )
 6701   6628   
            },
 6702   6629   
        );
@@ -6772,6699 +6832,6758 @@
 6792   6719   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6793   6720   
        let fut = async move {
 6794   6721   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6795   6722   
                request.headers(),
 6796   6723   
                &CONTENT_TYPE_STREAMINGTRAITSWITHMEDIATYPE,
 6797   6724   
            ) {
 6798   6725   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6799   6726   
            }
 6800   6727   
            crate::protocol_serde::shape_streaming_traits_with_media_type::de_streaming_traits_with_media_type_http_request(request)
 6801   6728   
                            .await
 6802         -
                            .map_err(Into::into)
 6803   6729   
        };
 6804   6730   
        use ::futures_util::future::TryFutureExt;
 6805   6731   
        let fut = fut.map_err(
 6806   6732   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6807   6733   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6808   6734   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6809   6735   
                    e,
 6810   6736   
                )
 6811   6737   
            },
 6812   6738   
        );
@@ -6873,6799 +6933,6858 @@
 6893   6819   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6894   6820   
        let fut = async move {
 6895   6821   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6896   6822   
                request.headers(),
 6897   6823   
                &CONTENT_TYPE_STREAMINGTRAITSREQUIRELENGTH,
 6898   6824   
            ) {
 6899   6825   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6900   6826   
            }
 6901   6827   
            crate::protocol_serde::shape_streaming_traits_require_length::de_streaming_traits_require_length_http_request(request)
 6902   6828   
                            .await
 6903         -
                            .map_err(Into::into)
 6904   6829   
        };
 6905   6830   
        use ::futures_util::future::TryFutureExt;
 6906   6831   
        let fut = fut.map_err(
 6907   6832   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6908   6833   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6909   6834   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6910   6835   
                    e,
 6911   6836   
                )
 6912   6837   
            },
 6913   6838   
        );
@@ -6974,6899 +7034,6958 @@
 6994   6919   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6995   6920   
        let fut = async move {
 6996   6921   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6997   6922   
                request.headers(),
 6998   6923   
                &CONTENT_TYPE_STREAMINGTRAITS,
 6999   6924   
            ) {
 7000   6925   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7001   6926   
            }
 7002   6927   
            crate::protocol_serde::shape_streaming_traits::de_streaming_traits_http_request(request)
 7003   6928   
                .await
 7004         -
                .map_err(Into::into)
 7005   6929   
        };
 7006   6930   
        use ::futures_util::future::TryFutureExt;
 7007   6931   
        let fut = fut.map_err(
 7008   6932   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7009   6933   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7010   6934   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7011   6935   
                    e,
 7012   6936   
                )
 7013   6937   
            },
 7014   6938   
        );
@@ -7081,7005 +7141,7064 @@
 7101   7025   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7102   7026   
                request.headers(),
 7103   7027   
                &CONTENT_TYPE_HTTPRESPONSECODE,
 7104   7028   
            ) {
 7105   7029   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7106   7030   
            }
 7107   7031   
            crate::protocol_serde::shape_http_response_code::de_http_response_code_http_request(
 7108   7032   
                request,
 7109   7033   
            )
 7110   7034   
            .await
 7111         -
            .map_err(Into::into)
 7112   7035   
        };
 7113   7036   
        use ::futures_util::future::TryFutureExt;
 7114   7037   
        let fut = fut.map_err(
 7115   7038   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7116   7039   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7117   7040   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7118   7041   
                    e,
 7119   7042   
                )
 7120   7043   
            },
 7121   7044   
        );
@@ -7187,7110 +7247,7169 @@
 7207   7130   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7208   7131   
        let fut = async move {
 7209   7132   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7210   7133   
                request.headers(),
 7211   7134   
                &CONTENT_TYPE_HTTPPAYLOADWITHUNION,
 7212   7135   
            ) {
 7213   7136   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7214   7137   
            }
 7215   7138   
            crate::protocol_serde::shape_http_payload_with_union::de_http_payload_with_union_http_request(request)
 7216   7139   
                            .await
 7217         -
                            .map_err(Into::into)
 7218   7140   
        };
 7219   7141   
        use ::futures_util::future::TryFutureExt;
 7220   7142   
        let fut = fut.map_err(
 7221   7143   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7222   7144   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7223   7145   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7224   7146   
                    e,
 7225   7147   
                )
 7226   7148   
            },
 7227   7149   
        );
@@ -7294,7216 +7354,7275 @@
 7314   7236   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7315   7237   
                request.headers(),
 7316   7238   
                &CONTENT_TYPE_HTTPSTRINGPAYLOAD,
 7317   7239   
            ) {
 7318   7240   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7319   7241   
            }
 7320   7242   
            crate::protocol_serde::shape_http_string_payload::de_http_string_payload_http_request(
 7321   7243   
                request,
 7322   7244   
            )
 7323   7245   
            .await
 7324         -
            .map_err(Into::into)
 7325   7246   
        };
 7326   7247   
        use ::futures_util::future::TryFutureExt;
 7327   7248   
        let fut = fut.map_err(
 7328   7249   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7329   7250   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7330   7251   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7331   7252   
                    e,
 7332   7253   
                )
 7333   7254   
            },
 7334   7255   
        );
@@ -7405,7326 +7465,7385 @@
 7425   7346   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7426   7347   
                request.headers(),
 7427   7348   
                &CONTENT_TYPE_HTTPENUMPAYLOAD,
 7428   7349   
            ) {
 7429   7350   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7430   7351   
            }
 7431   7352   
            crate::protocol_serde::shape_http_enum_payload::de_http_enum_payload_http_request(
 7432   7353   
                request,
 7433   7354   
            )
 7434   7355   
            .await
 7435         -
            .map_err(Into::into)
 7436   7356   
        };
 7437   7357   
        use ::futures_util::future::TryFutureExt;
 7438   7358   
        let fut = fut.map_err(
 7439   7359   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7440   7360   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7441   7361   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7442   7362   
                    e,
 7443   7363   
                )
 7444   7364   
            },
 7445   7365   
        );
@@ -7511,7431 +7571,7490 @@
 7531   7451   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7532   7452   
        let fut = async move {
 7533   7453   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7534   7454   
                request.headers(),
 7535   7455   
                &CONTENT_TYPE_HTTPPAYLOADWITHSTRUCTURE,
 7536   7456   
            ) {
 7537   7457   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7538   7458   
            }
 7539   7459   
            crate::protocol_serde::shape_http_payload_with_structure::de_http_payload_with_structure_http_request(request)
 7540   7460   
                            .await
 7541         -
                            .map_err(Into::into)
 7542   7461   
        };
 7543   7462   
        use ::futures_util::future::TryFutureExt;
 7544   7463   
        let fut = fut.map_err(
 7545   7464   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7546   7465   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7547   7466   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7548   7467   
                    e,
 7549   7468   
                )
 7550   7469   
            },
 7551   7470   
        );
@@ -7616,7535 +7676,7594 @@
 7636   7555   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7637   7556   
        let fut = async move {
 7638   7557   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7639   7558   
                request.headers(),
 7640   7559   
                &CONTENT_TYPE_HTTPPAYLOADTRAITSWITHMEDIATYPE,
 7641   7560   
            ) {
 7642   7561   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7643   7562   
            }
 7644   7563   
            crate::protocol_serde::shape_http_payload_traits_with_media_type::de_http_payload_traits_with_media_type_http_request(request)
 7645   7564   
                            .await
 7646         -
                            .map_err(Into::into)
 7647   7565   
        };
 7648   7566   
        use ::futures_util::future::TryFutureExt;
 7649   7567   
        let fut = fut.map_err(
 7650   7568   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7651   7569   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7652   7570   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7653   7571   
                    e,
 7654   7572   
                )
 7655   7573   
            },
 7656   7574   
        );
@@ -7711,7629 +7771,7688 @@
 7731   7649   
{
 7732   7650   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
 7733   7651   
    type Future = HttpPayloadTraitsInputFuture;
 7734   7652   
 7735   7653   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7736   7654   
        let fut = async move {
 7737   7655   
            crate::protocol_serde::shape_http_payload_traits::de_http_payload_traits_http_request(
 7738   7656   
                request,
 7739   7657   
            )
 7740   7658   
            .await
 7741         -
            .map_err(Into::into)
 7742   7659   
        };
 7743   7660   
        use ::futures_util::future::TryFutureExt;
 7744   7661   
        let fut = fut.map_err(
 7745   7662   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7746   7663   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7747   7664   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7748   7665   
                    e,
 7749   7666   
                )
 7750   7667   
            },
 7751   7668   
        );
@@ -7815,7732 +7875,7791 @@
 7835   7752   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7836   7753   
        let fut = async move {
 7837   7754   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7838   7755   
                request.headers(),
 7839   7756   
                &CONTENT_TYPE_HTTPPREFIXHEADERSINRESPONSE,
 7840   7757   
            ) {
 7841   7758   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7842   7759   
            }
 7843   7760   
            crate::protocol_serde::shape_http_prefix_headers_in_response::de_http_prefix_headers_in_response_http_request(request)
 7844   7761   
                            .await
 7845         -
                            .map_err(Into::into)
 7846   7762   
        };
 7847   7763   
        use ::futures_util::future::TryFutureExt;
 7848   7764   
        let fut = fut.map_err(
 7849   7765   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7850   7766   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7851   7767   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7852   7768   
                    e,
 7853   7769   
                )
 7854   7770   
            },
 7855   7771   
        );
@@ -7917,7833 +7977,7892 @@
 7937   7853   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7938   7854   
                request.headers(),
 7939   7855   
                &CONTENT_TYPE_HTTPPREFIXHEADERS,
 7940   7856   
            ) {
 7941   7857   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7942   7858   
            }
 7943   7859   
            crate::protocol_serde::shape_http_prefix_headers::de_http_prefix_headers_http_request(
 7944   7860   
                request,
 7945   7861   
            )
 7946   7862   
            .await
 7947         -
            .map_err(Into::into)
 7948   7863   
        };
 7949   7864   
        use ::futures_util::future::TryFutureExt;
 7950   7865   
        let fut = fut.map_err(
 7951   7866   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7952   7867   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7953   7868   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7954   7869   
                    e,
 7955   7870   
                )
 7956   7871   
            },
 7957   7872   
        );
@@ -8021,7936 +8081,7995 @@
 8041   7956   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8042   7957   
        let fut = async move {
 8043   7958   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8044   7959   
                request.headers(),
 8045   7960   
                &CONTENT_TYPE_QUERYPARAMSASSTRINGLISTMAP,
 8046   7961   
            ) {
 8047   7962   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8048   7963   
            }
 8049   7964   
            crate::protocol_serde::shape_query_params_as_string_list_map::de_query_params_as_string_list_map_http_request(request)
 8050   7965   
                            .await
 8051         -
                            .map_err(Into::into)
 8052   7966   
        };
 8053   7967   
        use ::futures_util::future::TryFutureExt;
 8054   7968   
        let fut = fut.map_err(
 8055   7969   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8056   7970   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8057   7971   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8058   7972   
                    e,
 8059   7973   
                )
 8060   7974   
            },
 8061   7975   
        );
@@ -8121,8035 +8181,8094 @@
 8141   8055   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8142   8056   
        let fut = async move {
 8143   8057   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8144   8058   
                request.headers(),
 8145   8059   
                &CONTENT_TYPE_QUERYPRECEDENCE,
 8146   8060   
            ) {
 8147   8061   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8148   8062   
            }
 8149   8063   
            crate::protocol_serde::shape_query_precedence::de_query_precedence_http_request(request)
 8150   8064   
                .await
 8151         -
                .map_err(Into::into)
 8152   8065   
        };
 8153   8066   
        use ::futures_util::future::TryFutureExt;
 8154   8067   
        let fut = fut.map_err(
 8155   8068   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8156   8069   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8157   8070   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8158   8071   
                    e,
 8159   8072   
                )
 8160   8073   
            },
 8161   8074   
        );
@@ -8226,8139 +8286,8198 @@
 8246   8159   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8247   8160   
        let fut = async move {
 8248   8161   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8249   8162   
                request.headers(),
 8250   8163   
                &CONTENT_TYPE_QUERYIDEMPOTENCYTOKENAUTOFILL,
 8251   8164   
            ) {
 8252   8165   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8253   8166   
            }
 8254   8167   
            crate::protocol_serde::shape_query_idempotency_token_auto_fill::de_query_idempotency_token_auto_fill_http_request(request)
 8255   8168   
                            .await
 8256         -
                            .map_err(Into::into)
 8257   8169   
        };
 8258   8170   
        use ::futures_util::future::TryFutureExt;
 8259   8171   
        let fut = fut.map_err(
 8260   8172   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8261   8173   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8262   8174   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8263   8175   
                    e,
 8264   8176   
                )
 8265   8177   
            },
 8266   8178   
        );
@@ -8326,8238 +8386,8297 @@
 8346   8258   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8347   8259   
        let fut = async move {
 8348   8260   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8349   8261   
                request.headers(),
 8350   8262   
                &CONTENT_TYPE_OMITSSERIALIZINGEMPTYLISTS,
 8351   8263   
            ) {
 8352   8264   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8353   8265   
            }
 8354   8266   
            crate::protocol_serde::shape_omits_serializing_empty_lists::de_omits_serializing_empty_lists_http_request(request)
 8355   8267   
                            .await
 8356         -
                            .map_err(Into::into)
 8357   8268   
        };
 8358   8269   
        use ::futures_util::future::TryFutureExt;
 8359   8270   
        let fut = fut.map_err(
 8360   8271   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8361   8272   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8362   8273   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8363   8274   
                    e,
 8364   8275   
                )
 8365   8276   
            },
 8366   8277   
        );
@@ -8426,8337 +8486,8396 @@
 8446   8357   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8447   8358   
        let fut = async move {
 8448   8359   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8449   8360   
                request.headers(),
 8450   8361   
                &CONTENT_TYPE_OMITSNULLSERIALIZESEMPTYSTRING,
 8451   8362   
            ) {
 8452   8363   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8453   8364   
            }
 8454   8365   
            crate::protocol_serde::shape_omits_null_serializes_empty_string::de_omits_null_serializes_empty_string_http_request(request)
 8455   8366   
                            .await
 8456         -
                            .map_err(Into::into)
 8457   8367   
        };
 8458   8368   
        use ::futures_util::future::TryFutureExt;
 8459   8369   
        let fut = fut.map_err(
 8460   8370   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8461   8371   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8462   8372   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8463   8373   
                    e,
 8464   8374   
                )
 8465   8375   
            },
 8466   8376   
        );
@@ -8526,8436 +8586,8495 @@
 8546   8456   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8547   8457   
        let fut = async move {
 8548   8458   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8549   8459   
                request.headers(),
 8550   8460   
                &CONTENT_TYPE_IGNOREQUERYPARAMSINRESPONSE,
 8551   8461   
            ) {
 8552   8462   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8553   8463   
            }
 8554   8464   
            crate::protocol_serde::shape_ignore_query_params_in_response::de_ignore_query_params_in_response_http_request(request)
 8555   8465   
                            .await
 8556         -
                            .map_err(Into::into)
 8557   8466   
        };
 8558   8467   
        use ::futures_util::future::TryFutureExt;
 8559   8468   
        let fut = fut.map_err(
 8560   8469   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8561   8470   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8562   8471   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8563   8472   
                    e,
 8564   8473   
                )
 8565   8474   
            },
 8566   8475   
        );
@@ -8626,8535 +8686,8594 @@
 8646   8555   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8647   8556   
        let fut = async move {
 8648   8557   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8649   8558   
                request.headers(),
 8650   8559   
                &CONTENT_TYPE_CONSTANTANDVARIABLEQUERYSTRING,
 8651   8560   
            ) {
 8652   8561   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8653   8562   
            }
 8654   8563   
            crate::protocol_serde::shape_constant_and_variable_query_string::de_constant_and_variable_query_string_http_request(request)
 8655   8564   
                            .await
 8656         -
                            .map_err(Into::into)
 8657   8565   
        };
 8658   8566   
        use ::futures_util::future::TryFutureExt;
 8659   8567   
        let fut = fut.map_err(
 8660   8568   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8661   8569   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8662   8570   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8663   8571   
                    e,
 8664   8572   
                )
 8665   8573   
            },
 8666   8574   
        );
@@ -8726,8634 +8786,8693 @@
 8746   8654   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8747   8655   
        let fut = async move {
 8748   8656   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8749   8657   
                request.headers(),
 8750   8658   
                &CONTENT_TYPE_CONSTANTQUERYSTRING,
 8751   8659   
            ) {
 8752   8660   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8753   8661   
            }
 8754   8662   
            crate::protocol_serde::shape_constant_query_string::de_constant_query_string_http_request(request)
 8755   8663   
                            .await
 8756         -
                            .map_err(Into::into)
 8757   8664   
        };
 8758   8665   
        use ::futures_util::future::TryFutureExt;
 8759   8666   
        let fut = fut.map_err(
 8760   8667   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8761   8668   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8762   8669   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8763   8670   
                    e,
 8764   8671   
                )
 8765   8672   
            },
 8766   8673   
        );
@@ -8826,8733 +8886,8792 @@
 8846   8753   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8847   8754   
        let fut = async move {
 8848   8755   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8849   8756   
                request.headers(),
 8850   8757   
                &CONTENT_TYPE_ALLQUERYSTRINGTYPES,
 8851   8758   
            ) {
 8852   8759   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8853   8760   
            }
 8854   8761   
            crate::protocol_serde::shape_all_query_string_types::de_all_query_string_types_http_request(request)
 8855   8762   
                            .await
 8856         -
                            .map_err(Into::into)
 8857   8763   
        };
 8858   8764   
        use ::futures_util::future::TryFutureExt;
 8859   8765   
        let fut = fut.map_err(
 8860   8766   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8861   8767   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8862   8768   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8863   8769   
                    e,
 8864   8770   
                )
 8865   8771   
            },
 8866   8772   
        );
@@ -8926,8832 +8986,8891 @@
 8946   8852   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8947   8853   
        let fut = async move {
 8948   8854   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8949   8855   
                request.headers(),
 8950   8856   
                &CONTENT_TYPE_HTTPREQUESTWITHREGEXLITERAL,
 8951   8857   
            ) {
 8952   8858   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8953   8859   
            }
 8954   8860   
            crate::protocol_serde::shape_http_request_with_regex_literal::de_http_request_with_regex_literal_http_request(request)
 8955   8861   
                            .await
 8956         -
                            .map_err(Into::into)
 8957   8862   
        };
 8958   8863   
        use ::futures_util::future::TryFutureExt;
 8959   8864   
        let fut = fut.map_err(
 8960   8865   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8961   8866   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8962   8867   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8963   8868   
                    e,
 8964   8869   
                )
 8965   8870   
            },
 8966   8871   
        );
@@ -9026,8931 +9086,8990 @@
 9046   8951   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9047   8952   
        let fut = async move {
 9048   8953   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9049   8954   
                request.headers(),
 9050   8955   
                &CONTENT_TYPE_HTTPREQUESTWITHFLOATLABELS,
 9051   8956   
            ) {
 9052   8957   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9053   8958   
            }
 9054   8959   
            crate::protocol_serde::shape_http_request_with_float_labels::de_http_request_with_float_labels_http_request(request)
 9055   8960   
                            .await
 9056         -
                            .map_err(Into::into)
 9057   8961   
        };
 9058   8962   
        use ::futures_util::future::TryFutureExt;
 9059   8963   
        let fut = fut.map_err(
 9060   8964   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9061   8965   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9062   8966   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9063   8967   
                    e,
 9064   8968   
                )
 9065   8969   
            },
 9066   8970   
        );
@@ -9126,9030 +9186,9089 @@
 9146   9050   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9147   9051   
        let fut = async move {
 9148   9052   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9149   9053   
                request.headers(),
 9150   9054   
                &CONTENT_TYPE_HTTPREQUESTWITHGREEDYLABELINPATH,
 9151   9055   
            ) {
 9152   9056   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9153   9057   
            }
 9154   9058   
            crate::protocol_serde::shape_http_request_with_greedy_label_in_path::de_http_request_with_greedy_label_in_path_http_request(request)
 9155   9059   
                            .await
 9156         -
                            .map_err(Into::into)
 9157   9060   
        };
 9158   9061   
        use ::futures_util::future::TryFutureExt;
 9159   9062   
        let fut = fut.map_err(
 9160   9063   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9161   9064   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9162   9065   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9163   9066   
                    e,
 9164   9067   
                )
 9165   9068   
            },
 9166   9069   
        );
@@ -9226,9129 +9286,9188 @@
 9246   9149   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9247   9150   
        let fut = async move {
 9248   9151   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9249   9152   
                request.headers(),
 9250   9153   
                &CONTENT_TYPE_HTTPREQUESTWITHLABELSANDTIMESTAMPFORMAT,
 9251   9154   
            ) {
 9252   9155   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9253   9156   
            }
 9254   9157   
            crate::protocol_serde::shape_http_request_with_labels_and_timestamp_format::de_http_request_with_labels_and_timestamp_format_http_request(request)
 9255   9158   
                            .await
 9256         -
                            .map_err(Into::into)
 9257   9159   
        };
 9258   9160   
        use ::futures_util::future::TryFutureExt;
 9259   9161   
        let fut = fut.map_err(
 9260   9162   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9261   9163   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9262   9164   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9263   9165   
                    e,
 9264   9166   
                )
 9265   9167   
            },
 9266   9168   
        );
@@ -9326,9228 +9386,9287 @@
 9346   9248   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9347   9249   
        let fut = async move {
 9348   9250   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9349   9251   
                request.headers(),
 9350   9252   
                &CONTENT_TYPE_HTTPREQUESTWITHLABELS,
 9351   9253   
            ) {
 9352   9254   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9353   9255   
            }
 9354   9256   
            crate::protocol_serde::shape_http_request_with_labels::de_http_request_with_labels_http_request(request)
 9355   9257   
                            .await
 9356         -
                            .map_err(Into::into)
 9357   9258   
        };
 9358   9259   
        use ::futures_util::future::TryFutureExt;
 9359   9260   
        let fut = fut.map_err(
 9360   9261   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9361   9262   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9362   9263   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9363   9264   
                    e,
 9364   9265   
                )
 9365   9266   
            },
 9366   9267   
        );
@@ -9428,9329 +9488,9388 @@
 9448   9349   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9449   9350   
                request.headers(),
 9450   9351   
                &CONTENT_TYPE_MEDIATYPEHEADER,
 9451   9352   
            ) {
 9452   9353   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9453   9354   
            }
 9454   9355   
            crate::protocol_serde::shape_media_type_header::de_media_type_header_http_request(
 9455   9356   
                request,
 9456   9357   
            )
 9457   9358   
            .await
 9458         -
            .map_err(Into::into)
 9459   9359   
        };
 9460   9360   
        use ::futures_util::future::TryFutureExt;
 9461   9361   
        let fut = fut.map_err(
 9462   9362   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9463   9363   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9464   9364   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9465   9365   
                    e,
 9466   9366   
                )
 9467   9367   
            },
 9468   9368   
        );
@@ -9534,9434 +9594,9493 @@
 9554   9454   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9555   9455   
        let fut = async move {
 9556   9456   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9557   9457   
                request.headers(),
 9558   9458   
                &CONTENT_TYPE_TIMESTAMPFORMATHEADERS,
 9559   9459   
            ) {
 9560   9460   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9561   9461   
            }
 9562   9462   
            crate::protocol_serde::shape_timestamp_format_headers::de_timestamp_format_headers_http_request(request)
 9563   9463   
                            .await
 9564         -
                            .map_err(Into::into)
 9565   9464   
        };
 9566   9465   
        use ::futures_util::future::TryFutureExt;
 9567   9466   
        let fut = fut.map_err(
 9568   9467   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9569   9468   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9570   9469   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9571   9470   
                    e,
 9572   9471   
                )
 9573   9472   
            },
 9574   9473   
        );
@@ -9634,9533 +9694,9592 @@
 9654   9553   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9655   9554   
        let fut = async move {
 9656   9555   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9657   9556   
                request.headers(),
 9658   9557   
                &CONTENT_TYPE_NULLANDEMPTYHEADERSSERVER,
 9659   9558   
            ) {
 9660   9559   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9661   9560   
            }
 9662   9561   
            crate::protocol_serde::shape_null_and_empty_headers_server::de_null_and_empty_headers_server_http_request(request)
 9663   9562   
                            .await
 9664         -
                            .map_err(Into::into)
 9665   9563   
        };
 9666   9564   
        use ::futures_util::future::TryFutureExt;
 9667   9565   
        let fut = fut.map_err(
 9668   9566   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9669   9567   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9670   9568   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9671   9569   
                    e,
 9672   9570   
                )
 9673   9571   
            },
 9674   9572   
        );
@@ -9734,9632 +9794,9691 @@
 9754   9652   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9755   9653   
        let fut = async move {
 9756   9654   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9757   9655   
                request.headers(),
 9758   9656   
                &CONTENT_TYPE_NULLANDEMPTYHEADERSCLIENT,
 9759   9657   
            ) {
 9760   9658   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9761   9659   
            }
 9762   9660   
            crate::protocol_serde::shape_null_and_empty_headers_client::de_null_and_empty_headers_client_http_request(request)
 9763   9661   
                            .await
 9764         -
                            .map_err(Into::into)
 9765   9662   
        };
 9766   9663   
        use ::futures_util::future::TryFutureExt;
 9767   9664   
        let fut = fut.map_err(
 9768   9665   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9769   9666   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9770   9667   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9771   9668   
                    e,
 9772   9669   
                )
 9773   9670   
            },
 9774   9671   
        );
@@ -9834,9731 +9894,9790 @@
 9854   9751   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9855   9752   
        let fut = async move {
 9856   9753   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9857   9754   
                request.headers(),
 9858   9755   
                &CONTENT_TYPE_INPUTANDOUTPUTWITHHEADERS,
 9859   9756   
            ) {
 9860   9757   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9861   9758   
            }
 9862   9759   
            crate::protocol_serde::shape_input_and_output_with_headers::de_input_and_output_with_headers_http_request(request)
 9863   9760   
                            .await
 9864         -
                            .map_err(Into::into)
 9865   9761   
        };
 9866   9762   
        use ::futures_util::future::TryFutureExt;
 9867   9763   
        let fut = fut.map_err(
 9868   9764   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9869   9765   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9870   9766   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9871   9767   
                    e,
 9872   9768   
                )
 9873   9769   
            },
 9874   9770   
        );
@@ -9934,9830 +9994,9889 @@
 9954   9850   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9955   9851   
        let fut = async move {
 9956   9852   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9957   9853   
                request.headers(),
 9958   9854   
                &CONTENT_TYPE_UNITINPUTANDOUTPUT,
 9959   9855   
            ) {
 9960   9856   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9961   9857   
            }
 9962   9858   
            crate::protocol_serde::shape_unit_input_and_output::de_unit_input_and_output_http_request(request)
 9963   9859   
                            .await
 9964         -
                            .map_err(Into::into)
 9965   9860   
        };
 9966   9861   
        use ::futures_util::future::TryFutureExt;
 9967   9862   
        let fut = fut.map_err(
 9968   9863   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9969   9864   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9970   9865   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9971   9866   
                    e,
 9972   9867   
                )
 9973   9868   
            },
 9974   9869   
        );
@@ -10034,9929 +10094,9988 @@
10054   9949   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
10055   9950   
        let fut = async move {
10056   9951   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
10057   9952   
                request.headers(),
10058   9953   
                &CONTENT_TYPE_EMPTYINPUTANDEMPTYOUTPUT,
10059   9954   
            ) {
10060   9955   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
10061   9956   
            }
10062   9957   
            crate::protocol_serde::shape_empty_input_and_empty_output::de_empty_input_and_empty_output_http_request(request)
10063   9958   
                            .await
10064         -
                            .map_err(Into::into)
10065   9959   
        };
10066   9960   
        use ::futures_util::future::TryFutureExt;
10067   9961   
        let fut = fut.map_err(
10068   9962   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
10069   9963   
                ::tracing::debug!(error = %e, "failed to deserialize request");
10070   9964   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
10071   9965   
                    e,
10072   9966   
                )
10073   9967   
            },
10074   9968   
        );
@@ -10136,10030 +10196,10089 @@
10156  10050   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
10157  10051   
                request.headers(),
10158  10052   
                &CONTENT_TYPE_NOINPUTANDOUTPUT,
10159  10053   
            ) {
10160  10054   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
10161  10055   
            }
10162  10056   
            crate::protocol_serde::shape_no_input_and_output::de_no_input_and_output_http_request(
10163  10057   
                request,
10164  10058   
            )
10165  10059   
            .await
10166         -
            .map_err(Into::into)
10167  10060   
        };
10168  10061   
        use ::futures_util::future::TryFutureExt;
10169  10062   
        let fut = fut.map_err(
10170  10063   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
10171  10064   
                ::tracing::debug!(error = %e, "failed to deserialize request");
10172  10065   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
10173  10066   
                    e,
10174  10067   
                )
10175  10068   
            },
10176  10069   
        );
@@ -10240,10133 +10300,10192 @@
10260  10153   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
10261  10154   
        let fut = async move {
10262  10155   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
10263  10156   
                request.headers(),
10264  10157   
                &CONTENT_TYPE_NOINPUTANDNOOUTPUT,
10265  10158   
            ) {
10266  10159   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
10267  10160   
            }
10268  10161   
            crate::protocol_serde::shape_no_input_and_no_output::de_no_input_and_no_output_http_request(request)
10269  10162   
                            .await
10270         -
                            .map_err(Into::into)
10271  10163   
        };
10272  10164   
        use ::futures_util::future::TryFutureExt;
10273  10165   
        let fut = fut.map_err(
10274  10166   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
10275  10167   
                ::tracing::debug!(error = %e, "failed to deserialize request");
10276  10168   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
10277  10169   
                    e,
10278  10170   
                )
10279  10171   
            },
10280  10172   
        );

tmp-codegen-diff/codegen-server-test-python/rest_json/rust-server-codegen-python/src/output.rs

@@ -6159,6159 +6219,6218 @@
 6179   6179   
    /// Creates a new builder-style object to manufacture [`NoInputAndNoOutputOutput`](crate::output::NoInputAndNoOutputOutput).
 6180   6180   
    pub fn builder() -> crate::output::no_input_and_no_output_output::Builder {
 6181   6181   
        crate::output::no_input_and_no_output_output::Builder::default()
 6182   6182   
    }
 6183   6183   
}
 6184   6184   
/// See [`OperationWithNestedStructureOutput`](crate::output::OperationWithNestedStructureOutput).
 6185   6185   
pub mod operation_with_nested_structure_output {
 6186   6186   
 6187   6187   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 6188   6188   
    /// Holds one variant for each of the ways the builder can fail.
 6189         -
 6190   6189   
    #[allow(clippy::enum_variant_names)]
 6191   6190   
    pub enum ConstraintViolation {
 6192   6191   
        /// `dialog` was not provided but it is required when building `OperationWithNestedStructureOutput`.
 6193   6192   
        MissingDialog,
 6194   6193   
    }
 6195   6194   
    impl ::std::fmt::Display for ConstraintViolation {
 6196   6195   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 6197   6196   
            match self {
 6198   6197   
                ConstraintViolation::MissingDialog => write!(f, "`dialog` was not provided but it is required when building `OperationWithNestedStructureOutput`"),
 6199   6198   
            }
@@ -7739,7738 +7854,7851 @@
 7759   7758   
        ) -> crate::output::EndpointOperationOutput {
 7760   7759   
            crate::output::EndpointOperationOutput {}
 7761   7760   
        }
 7762   7761   
    }
 7763   7762   
}
 7764   7763   
/// See [`PostUnionWithJsonNameOutput`](crate::output::PostUnionWithJsonNameOutput).
 7765   7764   
pub mod post_union_with_json_name_output {
 7766   7765   
 7767   7766   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7768   7767   
    /// Holds one variant for each of the ways the builder can fail.
 7769         -
 7770   7768   
    #[allow(clippy::enum_variant_names)]
 7771   7769   
    pub enum ConstraintViolation {
 7772   7770   
        /// `value` was not provided but it is required when building `PostUnionWithJsonNameOutput`.
 7773   7771   
        MissingValue,
 7774   7772   
    }
 7775   7773   
    impl ::std::fmt::Display for ConstraintViolation {
 7776   7774   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7777   7775   
            match self {
 7778   7776   
                ConstraintViolation::MissingValue => write!(f, "`value` was not provided but it is required when building `PostUnionWithJsonNameOutput`"),
 7779   7777   
            }
 7780   7778   
        }
 7781   7779   
    }
 7782   7780   
    impl ::std::error::Error for ConstraintViolation {}
 7783   7781   
    impl ::std::convert::TryFrom<Builder> for crate::output::PostUnionWithJsonNameOutput {
 7784   7782   
        type Error = ConstraintViolation;
 7785   7783   
 7786   7784   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 7787   7785   
            builder.build()
 7788   7786   
        }
 7789   7787   
    }
 7790   7788   
    /// A builder for [`PostUnionWithJsonNameOutput`](crate::output::PostUnionWithJsonNameOutput).
 7791   7789   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 7792   7790   
    pub struct Builder {
 7793   7791   
        pub(crate) value: ::std::option::Option<crate::model::UnionWithJsonName>,
 7794   7792   
    }
 7795   7793   
    impl Builder {
 7796   7794   
        #[allow(missing_docs)] // documentation missing in model
 7797   7795   
        pub fn value(mut self, input: crate::model::UnionWithJsonName) -> Self {
 7798   7796   
            self.value = Some(input);
 7799   7797   
            self
 7800   7798   
        }
 7801   7799   
        /// Consumes the builder and constructs a [`PostUnionWithJsonNameOutput`](crate::output::PostUnionWithJsonNameOutput).
 7802   7800   
        ///
 7803   7801   
        /// The builder fails to construct a [`PostUnionWithJsonNameOutput`](crate::output::PostUnionWithJsonNameOutput) if you do not provide a value for all non-`Option`al members.
 7804   7802   
        ///
 7805   7803   
        pub fn build(
 7806   7804   
            self,
 7807   7805   
        ) -> Result<crate::output::PostUnionWithJsonNameOutput, ConstraintViolation> {
 7808   7806   
            self.build_enforcing_required_and_enum_traits()
 7809   7807   
        }
 7810   7808   
        fn build_enforcing_required_and_enum_traits(
 7811   7809   
            self,
 7812   7810   
        ) -> Result<crate::output::PostUnionWithJsonNameOutput, ConstraintViolation> {
 7813   7811   
            Ok(crate::output::PostUnionWithJsonNameOutput {
 7814   7812   
                value: self.value.ok_or(ConstraintViolation::MissingValue)?,
 7815   7813   
            })
 7816   7814   
        }
 7817   7815   
    }
 7818   7816   
}
 7819   7817   
/// See [`PostPlayerActionOutput`](crate::output::PostPlayerActionOutput).
 7820   7818   
pub mod post_player_action_output {
 7821   7819   
 7822   7820   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 7823   7821   
    /// Holds one variant for each of the ways the builder can fail.
 7824         -
 7825   7822   
    #[allow(clippy::enum_variant_names)]
 7826   7823   
    pub enum ConstraintViolation {
 7827   7824   
        /// `action` was not provided but it is required when building `PostPlayerActionOutput`.
 7828   7825   
        MissingAction,
 7829   7826   
    }
 7830   7827   
    impl ::std::fmt::Display for ConstraintViolation {
 7831   7828   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 7832   7829   
            match self {
 7833   7830   
                ConstraintViolation::MissingAction => write!(f, "`action` was not provided but it is required when building `PostPlayerActionOutput`"),
 7834   7831   
            }

tmp-codegen-diff/codegen-server-test-python/rest_json_extras/rust-server-codegen-python/src/error.rs

@@ -1103,1103 +1163,1162 @@
 1123   1123   
        fn build_enforcing_required_and_enum_traits(self) -> crate::error::ExtraError {
 1124   1124   
            crate::error::ExtraError {}
 1125   1125   
        }
 1126   1126   
    }
 1127   1127   
}
 1128   1128   
/// See [`InternalServerError`](crate::error::InternalServerError).
 1129   1129   
pub mod internal_server_error {
 1130   1130   
 1131   1131   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1132   1132   
    /// Holds one variant for each of the ways the builder can fail.
 1133         -
 1134   1133   
    #[allow(clippy::enum_variant_names)]
 1135   1134   
    pub enum ConstraintViolation {
 1136   1135   
        /// `message` was not provided but it is required when building `InternalServerError`.
 1137   1136   
        MissingMessage,
 1138   1137   
    }
 1139   1138   
    impl ::std::fmt::Display for ConstraintViolation {
 1140   1139   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1141   1140   
            match self {
 1142   1141   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `InternalServerError`"),
 1143   1142   
            }
@@ -1186,1185 +1246,1244 @@
 1206   1205   
                message: self.message,
 1207   1206   
            }
 1208   1207   
        }
 1209   1208   
    }
 1210   1209   
}
 1211   1210   
/// See [`ValidationException`](crate::error::ValidationException).
 1212   1211   
pub mod validation_exception {
 1213   1212   
 1214   1213   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1215   1214   
    /// Holds one variant for each of the ways the builder can fail.
 1216         -
 1217   1215   
    #[allow(clippy::enum_variant_names)]
 1218   1216   
    pub enum ConstraintViolation {
 1219   1217   
        /// `message` was not provided but it is required when building `ValidationException`.
 1220   1218   
        MissingMessage,
 1221   1219   
    }
 1222   1220   
    impl ::std::fmt::Display for ConstraintViolation {
 1223   1221   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1224   1222   
            match self {
 1225   1223   
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationException`"),
 1226   1224   
            }