Server Test

Server Test

rev. 960037ddd6baa855c43528258ed60c279b45ae58 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test/.cargo/config.toml

@@ -1,1 +0,2 @@
    1      1   
[build]
    2         -
rustflags = ["--cfg", "aws_sdk_unstable"]
              \
 No newline at end of file
           2  +
rustflags = ["--deny", "warnings", "--cfg", "aws_sdk_unstable"]

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

@@ -28,28 +88,87 @@
   48     48   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   49     49   
        let fut = async move {
   50     50   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   51     51   
                request.headers(),
   52     52   
                &CONTENT_TYPE_EVENTSTREAMSOPERATION,
   53     53   
            ) {
   54     54   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   55     55   
            }
   56     56   
            crate::protocol_serde::shape_event_streams_operation::de_event_streams_operation_http_request(request)
   57     57   
                            .await
   58         -
                            .map_err(Into::into)
   59     58   
        };
   60     59   
        use ::futures_util::future::TryFutureExt;
   61     60   
        let fut = fut.map_err(
   62     61   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   63     62   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   64     63   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   65     64   
                    e,
   66     65   
                )
   67     66   
            },
   68     67   
        );
@@ -129,128 +189,187 @@
  149    148   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  150    149   
        let fut = async move {
  151    150   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  152    151   
                request.headers(),
  153    152   
                &CONTENT_TYPE_STREAMINGBLOBOPERATION,
  154    153   
            ) {
  155    154   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  156    155   
            }
  157    156   
            crate::protocol_serde::shape_streaming_blob_operation::de_streaming_blob_operation_http_request(request)
  158    157   
                            .await
  159         -
                            .map_err(Into::into)
  160    158   
        };
  161    159   
        use ::futures_util::future::TryFutureExt;
  162    160   
        let fut = fut.map_err(
  163    161   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  164    162   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  165    163   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  166    164   
                    e,
  167    165   
                )
  168    166   
            },
  169    167   
        );
@@ -204,202 +264,261 @@
  224    222   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  225    223   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  226    224   
{
  227    225   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  228    226   
    type Future = NonStreamingBlobOperationInputFuture;
  229    227   
  230    228   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  231    229   
        let fut = async move {
  232    230   
            crate::protocol_serde::shape_non_streaming_blob_operation::de_non_streaming_blob_operation_http_request(request)
  233    231   
                            .await
  234         -
                            .map_err(Into::into)
  235    232   
        };
  236    233   
        use ::futures_util::future::TryFutureExt;
  237    234   
        let fut = fut.map_err(
  238    235   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  239    236   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  240    237   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  241    238   
                    e,
  242    239   
                )
  243    240   
            },
  244    241   
        );
@@ -287,284 +347,343 @@
  307    304   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  308    305   
        let fut = async move {
  309    306   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  310    307   
                request.headers(),
  311    308   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFENUMSTRINGOPERATION,
  312    309   
            ) {
  313    310   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  314    311   
            }
  315    312   
            crate::protocol_serde::shape_query_params_targeting_map_of_enum_string_operation::de_query_params_targeting_map_of_enum_string_operation_http_request(request)
  316    313   
                            .await
  317         -
                            .map_err(Into::into)
  318    314   
        };
  319    315   
        use ::futures_util::future::TryFutureExt;
  320    316   
        let fut = fut.map_err(
  321    317   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  322    318   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  323    319   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  324    320   
                    e,
  325    321   
                )
  326    322   
            },
  327    323   
        );
@@ -388,384 +448,443 @@
  408    404   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  409    405   
        let fut = async move {
  410    406   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  411    407   
                request.headers(),
  412    408   
                &CONTENT_TYPE_HTTPPREFIXHEADERSTARGETINGLENGTHMAPOPERATION,
  413    409   
            ) {
  414    410   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  415    411   
            }
  416    412   
            crate::protocol_serde::shape_http_prefix_headers_targeting_length_map_operation::de_http_prefix_headers_targeting_length_map_operation_http_request(request)
  417    413   
                            .await
  418         -
                            .map_err(Into::into)
  419    414   
        };
  420    415   
        use ::futures_util::future::TryFutureExt;
  421    416   
        let fut = fut.map_err(
  422    417   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  423    418   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  424    419   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  425    420   
                    e,
  426    421   
                )
  427    422   
            },
  428    423   
        );
@@ -491,486 +551,545 @@
  511    506   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  512    507   
        let fut = async move {
  513    508   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  514    509   
                request.headers(),
  515    510   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHPATTERNSTRINGOPERATION,
  516    511   
            ) {
  517    512   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  518    513   
            }
  519    514   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_pattern_string_operation::de_query_params_targeting_map_of_list_of_length_pattern_string_operation_http_request(request)
  520    515   
                            .await
  521         -
                            .map_err(Into::into)
  522    516   
        };
  523    517   
        use ::futures_util::future::TryFutureExt;
  524    518   
        let fut = fut.map_err(
  525    519   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  526    520   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  527    521   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  528    522   
                    e,
  529    523   
                )
  530    524   
            },
  531    525   
        );
@@ -592,586 +652,645 @@
  612    606   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  613    607   
        let fut = async move {
  614    608   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  615    609   
                request.headers(),
  616    610   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHPATTERNSTRINGOPERATION,
  617    611   
            ) {
  618    612   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  619    613   
            }
  620    614   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_pattern_string_operation::de_query_params_targeting_map_of_length_pattern_string_operation_http_request(request)
  621    615   
                            .await
  622         -
                            .map_err(Into::into)
  623    616   
        };
  624    617   
        use ::futures_util::future::TryFutureExt;
  625    618   
        let fut = fut.map_err(
  626    619   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  627    620   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  628    621   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  629    622   
                    e,
  630    623   
                )
  631    624   
            },
  632    625   
        );
@@ -693,686 +753,745 @@
  713    706   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  714    707   
        let fut = async move {
  715    708   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  716    709   
                request.headers(),
  717    710   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFPATTERNSTRINGOPERATION,
  718    711   
            ) {
  719    712   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  720    713   
            }
  721    714   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_pattern_string_operation::de_query_params_targeting_map_of_list_of_pattern_string_operation_http_request(request)
  722    715   
                            .await
  723         -
                            .map_err(Into::into)
  724    716   
        };
  725    717   
        use ::futures_util::future::TryFutureExt;
  726    718   
        let fut = fut.map_err(
  727    719   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  728    720   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  729    721   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  730    722   
                    e,
  731    723   
                )
  732    724   
            },
  733    725   
        );
@@ -794,786 +854,845 @@
  814    806   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  815    807   
        let fut = async move {
  816    808   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  817    809   
                request.headers(),
  818    810   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFPATTERNSTRINGOPERATION,
  819    811   
            ) {
  820    812   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  821    813   
            }
  822    814   
            crate::protocol_serde::shape_query_params_targeting_map_of_pattern_string_operation::de_query_params_targeting_map_of_pattern_string_operation_http_request(request)
  823    815   
                            .await
  824         -
                            .map_err(Into::into)
  825    816   
        };
  826    817   
        use ::futures_util::future::TryFutureExt;
  827    818   
        let fut = fut.map_err(
  828    819   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  829    820   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  830    821   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  831    822   
                    e,
  832    823   
                )
  833    824   
            },
  834    825   
        );
@@ -895,886 +955,945 @@
  915    906   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  916    907   
        let fut = async move {
  917    908   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  918    909   
                request.headers(),
  919    910   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFENUMSTRINGOPERATION,
  920    911   
            ) {
  921    912   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  922    913   
            }
  923    914   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_enum_string_operation::de_query_params_targeting_map_of_list_of_enum_string_operation_http_request(request)
  924    915   
                            .await
  925         -
                            .map_err(Into::into)
  926    916   
        };
  927    917   
        use ::futures_util::future::TryFutureExt;
  928    918   
        let fut = fut.map_err(
  929    919   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  930    920   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  931    921   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  932    922   
                    e,
  933    923   
                )
  934    924   
            },
  935    925   
        );
@@ -998,988 +1058,1047 @@
 1018   1008   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1019   1009   
        let fut = async move {
 1020   1010   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1021   1011   
                request.headers(),
 1022   1012   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHLISTOFPATTERNSTRINGOPERATION,
 1023   1013   
            ) {
 1024   1014   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1025   1015   
            }
 1026   1016   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_list_of_pattern_string_operation::de_query_params_targeting_map_of_length_list_of_pattern_string_operation_http_request(request)
 1027   1017   
                            .await
 1028         -
                            .map_err(Into::into)
 1029   1018   
        };
 1030   1019   
        use ::futures_util::future::TryFutureExt;
 1031   1020   
        let fut = fut.map_err(
 1032   1021   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1033   1022   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1034   1023   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1035   1024   
                    e,
 1036   1025   
                )
 1037   1026   
            },
 1038   1027   
        );
@@ -1099,1088 +1159,1147 @@
 1119   1108   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1120   1109   
        let fut = async move {
 1121   1110   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1122   1111   
                request.headers(),
 1123   1112   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFSETOFLENGTHSTRINGOPERATION,
 1124   1113   
            ) {
 1125   1114   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1126   1115   
            }
 1127   1116   
            crate::protocol_serde::shape_query_params_targeting_map_of_set_of_length_string_operation::de_query_params_targeting_map_of_set_of_length_string_operation_http_request(request)
 1128   1117   
                            .await
 1129         -
                            .map_err(Into::into)
 1130   1118   
        };
 1131   1119   
        use ::futures_util::future::TryFutureExt;
 1132   1120   
        let fut = fut.map_err(
 1133   1121   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1134   1122   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1135   1123   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1136   1124   
                    e,
 1137   1125   
                )
 1138   1126   
            },
 1139   1127   
        );
@@ -1200,1188 +1260,1247 @@
 1220   1208   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1221   1209   
        let fut = async move {
 1222   1210   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1223   1211   
                request.headers(),
 1224   1212   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHSTRINGOPERATION,
 1225   1213   
            ) {
 1226   1214   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1227   1215   
            }
 1228   1216   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_string_operation::de_query_params_targeting_map_of_list_of_length_string_operation_http_request(request)
 1229   1217   
                            .await
 1230         -
                            .map_err(Into::into)
 1231   1218   
        };
 1232   1219   
        use ::futures_util::future::TryFutureExt;
 1233   1220   
        let fut = fut.map_err(
 1234   1221   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1235   1222   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1236   1223   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1237   1224   
                    e,
 1238   1225   
                )
 1239   1226   
            },
 1240   1227   
        );
@@ -1301,1288 +1361,1347 @@
 1321   1308   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1322   1309   
        let fut = async move {
 1323   1310   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1324   1311   
                request.headers(),
 1325   1312   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHSTRINGOPERATION,
 1326   1313   
            ) {
 1327   1314   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1328   1315   
            }
 1329   1316   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_string_operation::de_query_params_targeting_map_of_length_string_operation_http_request(request)
 1330   1317   
                            .await
 1331         -
                            .map_err(Into::into)
 1332   1318   
        };
 1333   1319   
        use ::futures_util::future::TryFutureExt;
 1334   1320   
        let fut = fut.map_err(
 1335   1321   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1336   1322   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1337   1323   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1338   1324   
                    e,
 1339   1325   
                )
 1340   1326   
            },
 1341   1327   
        );
@@ -1401,1387 +1461,1446 @@
 1421   1407   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1422   1408   
        let fut = async move {
 1423   1409   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1424   1410   
                request.headers(),
 1425   1411   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGLENGTHMAPOPERATION,
 1426   1412   
            ) {
 1427   1413   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1428   1414   
            }
 1429   1415   
            crate::protocol_serde::shape_query_params_targeting_length_map_operation::de_query_params_targeting_length_map_operation_http_request(request)
 1430   1416   
                            .await
 1431         -
                            .map_err(Into::into)
 1432   1417   
        };
 1433   1418   
        use ::futures_util::future::TryFutureExt;
 1434   1419   
        let fut = fut.map_err(
 1435   1420   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1436   1421   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1437   1422   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1438   1423   
                    e,
 1439   1424   
                )
 1440   1425   
            },
 1441   1426   
        );
@@ -1501,1486 +1561,1545 @@
 1521   1506   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1522   1507   
        let fut = async move {
 1523   1508   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1524   1509   
                request.headers(),
 1525   1510   
                &CONTENT_TYPE_CONSTRAINEDRECURSIVESHAPESOPERATION,
 1526   1511   
            ) {
 1527   1512   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1528   1513   
            }
 1529   1514   
            crate::protocol_serde::shape_constrained_recursive_shapes_operation::de_constrained_recursive_shapes_operation_http_request(request)
 1530   1515   
                            .await
 1531         -
                            .map_err(Into::into)
 1532   1516   
        };
 1533   1517   
        use ::futures_util::future::TryFutureExt;
 1534   1518   
        let fut = fut.map_err(
 1535   1519   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1536   1520   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1537   1521   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1538   1522   
                    e,
 1539   1523   
                )
 1540   1524   
            },
 1541   1525   
        );
@@ -1602,1586 +1662,1645 @@
 1622   1606   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1623   1607   
        let fut = async move {
 1624   1608   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1625   1609   
                request.headers(),
 1626   1610   
                &CONTENT_TYPE_CONSTRAINEDHTTPPAYLOADBOUNDSHAPEOPERATION,
 1627   1611   
            ) {
 1628   1612   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1629   1613   
            }
 1630   1614   
            crate::protocol_serde::shape_constrained_http_payload_bound_shape_operation::de_constrained_http_payload_bound_shape_operation_http_request(request)
 1631   1615   
                            .await
 1632         -
                            .map_err(Into::into)
 1633   1616   
        };
 1634   1617   
        use ::futures_util::future::TryFutureExt;
 1635   1618   
        let fut = fut.map_err(
 1636   1619   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1637   1620   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1638   1621   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1639   1622   
                    e,
 1640   1623   
                )
 1641   1624   
            },
 1642   1625   
        );
@@ -1702,1685 +1762,1744 @@
 1722   1705   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1723   1706   
        let fut = async move {
 1724   1707   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1725   1708   
                request.headers(),
 1726   1709   
                &CONTENT_TYPE_CONSTRAINEDHTTPBOUNDSHAPESOPERATION,
 1727   1710   
            ) {
 1728   1711   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1729   1712   
            }
 1730   1713   
            crate::protocol_serde::shape_constrained_http_bound_shapes_operation::de_constrained_http_bound_shapes_operation_http_request(request)
 1731   1714   
                            .await
 1732         -
                            .map_err(Into::into)
 1733   1715   
        };
 1734   1716   
        use ::futures_util::future::TryFutureExt;
 1735   1717   
        let fut = fut.map_err(
 1736   1718   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1737   1719   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1738   1720   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1739   1721   
                    e,
 1740   1722   
                )
 1741   1723   
            },
 1742   1724   
        );
@@ -1802,1784 +1862,1843 @@
 1822   1804   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1823   1805   
        let fut = async move {
 1824   1806   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1825   1807   
                request.headers(),
 1826   1808   
                &CONTENT_TYPE_CONSTRAINEDSHAPESONLYINOUTPUTOPERATION,
 1827   1809   
            ) {
 1828   1810   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1829   1811   
            }
 1830   1812   
            crate::protocol_serde::shape_constrained_shapes_only_in_output_operation::de_constrained_shapes_only_in_output_operation_http_request(request)
 1831   1813   
                            .await
 1832         -
                            .map_err(Into::into)
 1833   1814   
        };
 1834   1815   
        use ::futures_util::future::TryFutureExt;
 1835   1816   
        let fut = fut.map_err(
 1836   1817   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1837   1818   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1838   1819   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1839   1820   
                    e,
 1840   1821   
                )
 1841   1822   
            },
 1842   1823   
        );
@@ -1884,1865 +1944,1924 @@
 1904   1885   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1905   1886   
        let fut = async move {
 1906   1887   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1907   1888   
                request.headers(),
 1908   1889   
                &CONTENT_TYPE_CONSTRAINEDSHAPESOPERATION,
 1909   1890   
            ) {
 1910   1891   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1911   1892   
            }
 1912   1893   
            crate::protocol_serde::shape_constrained_shapes_operation::de_constrained_shapes_operation_http_request(request)
 1913   1894   
                            .await
 1914         -
                            .map_err(Into::into)
 1915   1895   
        };
 1916   1896   
        use ::futures_util::future::TryFutureExt;
 1917   1897   
        let fut = fut.map_err(
 1918   1898   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1919   1899   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1920   1900   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1921   1901   
                    e,
 1922   1902   
                )
 1923   1903   
            },
 1924   1904   
        );

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

@@ -28,28 +88,87 @@
   48     48   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   49     49   
        let fut = async move {
   50     50   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   51     51   
                request.headers(),
   52     52   
                &CONTENT_TYPE_EVENTSTREAMSOPERATION,
   53     53   
            ) {
   54     54   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   55     55   
            }
   56     56   
            crate::protocol_serde::shape_event_streams_operation::de_event_streams_operation_http_request(request)
   57     57   
                            .await
   58         -
                            .map_err(Into::into)
   59     58   
        };
   60     59   
        use ::futures_util::future::TryFutureExt;
   61     60   
        let fut = fut.map_err(
   62     61   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   63     62   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   64     63   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   65     64   
                    e,
   66     65   
                )
   67     66   
            },
   68     67   
        );
@@ -129,128 +189,187 @@
  149    148   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  150    149   
        let fut = async move {
  151    150   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  152    151   
                request.headers(),
  153    152   
                &CONTENT_TYPE_STREAMINGBLOBOPERATION,
  154    153   
            ) {
  155    154   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  156    155   
            }
  157    156   
            crate::protocol_serde::shape_streaming_blob_operation::de_streaming_blob_operation_http_request(request)
  158    157   
                            .await
  159         -
                            .map_err(Into::into)
  160    158   
        };
  161    159   
        use ::futures_util::future::TryFutureExt;
  162    160   
        let fut = fut.map_err(
  163    161   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  164    162   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  165    163   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  166    164   
                    e,
  167    165   
                )
  168    166   
            },
  169    167   
        );
@@ -204,202 +264,261 @@
  224    222   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  225    223   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  226    224   
{
  227    225   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  228    226   
    type Future = NonStreamingBlobOperationInputFuture;
  229    227   
  230    228   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  231    229   
        let fut = async move {
  232    230   
            crate::protocol_serde::shape_non_streaming_blob_operation::de_non_streaming_blob_operation_http_request(request)
  233    231   
                            .await
  234         -
                            .map_err(Into::into)
  235    232   
        };
  236    233   
        use ::futures_util::future::TryFutureExt;
  237    234   
        let fut = fut.map_err(
  238    235   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  239    236   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  240    237   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  241    238   
                    e,
  242    239   
                )
  243    240   
            },
  244    241   
        );
@@ -287,284 +347,343 @@
  307    304   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  308    305   
        let fut = async move {
  309    306   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  310    307   
                request.headers(),
  311    308   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFENUMSTRINGOPERATION,
  312    309   
            ) {
  313    310   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  314    311   
            }
  315    312   
            crate::protocol_serde::shape_query_params_targeting_map_of_enum_string_operation::de_query_params_targeting_map_of_enum_string_operation_http_request(request)
  316    313   
                            .await
  317         -
                            .map_err(Into::into)
  318    314   
        };
  319    315   
        use ::futures_util::future::TryFutureExt;
  320    316   
        let fut = fut.map_err(
  321    317   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  322    318   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  323    319   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  324    320   
                    e,
  325    321   
                )
  326    322   
            },
  327    323   
        );
@@ -388,384 +448,443 @@
  408    404   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  409    405   
        let fut = async move {
  410    406   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  411    407   
                request.headers(),
  412    408   
                &CONTENT_TYPE_HTTPPREFIXHEADERSTARGETINGLENGTHMAPOPERATION,
  413    409   
            ) {
  414    410   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  415    411   
            }
  416    412   
            crate::protocol_serde::shape_http_prefix_headers_targeting_length_map_operation::de_http_prefix_headers_targeting_length_map_operation_http_request(request)
  417    413   
                            .await
  418         -
                            .map_err(Into::into)
  419    414   
        };
  420    415   
        use ::futures_util::future::TryFutureExt;
  421    416   
        let fut = fut.map_err(
  422    417   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  423    418   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  424    419   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  425    420   
                    e,
  426    421   
                )
  427    422   
            },
  428    423   
        );
@@ -491,486 +551,545 @@
  511    506   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  512    507   
        let fut = async move {
  513    508   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  514    509   
                request.headers(),
  515    510   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHPATTERNSTRINGOPERATION,
  516    511   
            ) {
  517    512   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  518    513   
            }
  519    514   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_pattern_string_operation::de_query_params_targeting_map_of_list_of_length_pattern_string_operation_http_request(request)
  520    515   
                            .await
  521         -
                            .map_err(Into::into)
  522    516   
        };
  523    517   
        use ::futures_util::future::TryFutureExt;
  524    518   
        let fut = fut.map_err(
  525    519   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  526    520   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  527    521   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  528    522   
                    e,
  529    523   
                )
  530    524   
            },
  531    525   
        );
@@ -592,586 +652,645 @@
  612    606   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  613    607   
        let fut = async move {
  614    608   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  615    609   
                request.headers(),
  616    610   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHPATTERNSTRINGOPERATION,
  617    611   
            ) {
  618    612   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  619    613   
            }
  620    614   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_pattern_string_operation::de_query_params_targeting_map_of_length_pattern_string_operation_http_request(request)
  621    615   
                            .await
  622         -
                            .map_err(Into::into)
  623    616   
        };
  624    617   
        use ::futures_util::future::TryFutureExt;
  625    618   
        let fut = fut.map_err(
  626    619   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  627    620   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  628    621   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  629    622   
                    e,
  630    623   
                )
  631    624   
            },
  632    625   
        );
@@ -693,686 +753,745 @@
  713    706   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  714    707   
        let fut = async move {
  715    708   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  716    709   
                request.headers(),
  717    710   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFPATTERNSTRINGOPERATION,
  718    711   
            ) {
  719    712   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  720    713   
            }
  721    714   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_pattern_string_operation::de_query_params_targeting_map_of_list_of_pattern_string_operation_http_request(request)
  722    715   
                            .await
  723         -
                            .map_err(Into::into)
  724    716   
        };
  725    717   
        use ::futures_util::future::TryFutureExt;
  726    718   
        let fut = fut.map_err(
  727    719   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  728    720   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  729    721   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  730    722   
                    e,
  731    723   
                )
  732    724   
            },
  733    725   
        );
@@ -794,786 +854,845 @@
  814    806   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  815    807   
        let fut = async move {
  816    808   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  817    809   
                request.headers(),
  818    810   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFPATTERNSTRINGOPERATION,
  819    811   
            ) {
  820    812   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  821    813   
            }
  822    814   
            crate::protocol_serde::shape_query_params_targeting_map_of_pattern_string_operation::de_query_params_targeting_map_of_pattern_string_operation_http_request(request)
  823    815   
                            .await
  824         -
                            .map_err(Into::into)
  825    816   
        };
  826    817   
        use ::futures_util::future::TryFutureExt;
  827    818   
        let fut = fut.map_err(
  828    819   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  829    820   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  830    821   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  831    822   
                    e,
  832    823   
                )
  833    824   
            },
  834    825   
        );
@@ -895,886 +955,945 @@
  915    906   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  916    907   
        let fut = async move {
  917    908   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  918    909   
                request.headers(),
  919    910   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFENUMSTRINGOPERATION,
  920    911   
            ) {
  921    912   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  922    913   
            }
  923    914   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_enum_string_operation::de_query_params_targeting_map_of_list_of_enum_string_operation_http_request(request)
  924    915   
                            .await
  925         -
                            .map_err(Into::into)
  926    916   
        };
  927    917   
        use ::futures_util::future::TryFutureExt;
  928    918   
        let fut = fut.map_err(
  929    919   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  930    920   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  931    921   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  932    922   
                    e,
  933    923   
                )
  934    924   
            },
  935    925   
        );
@@ -998,988 +1058,1047 @@
 1018   1008   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1019   1009   
        let fut = async move {
 1020   1010   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1021   1011   
                request.headers(),
 1022   1012   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHLISTOFPATTERNSTRINGOPERATION,
 1023   1013   
            ) {
 1024   1014   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1025   1015   
            }
 1026   1016   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_list_of_pattern_string_operation::de_query_params_targeting_map_of_length_list_of_pattern_string_operation_http_request(request)
 1027   1017   
                            .await
 1028         -
                            .map_err(Into::into)
 1029   1018   
        };
 1030   1019   
        use ::futures_util::future::TryFutureExt;
 1031   1020   
        let fut = fut.map_err(
 1032   1021   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1033   1022   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1034   1023   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1035   1024   
                    e,
 1036   1025   
                )
 1037   1026   
            },
 1038   1027   
        );
@@ -1099,1088 +1159,1147 @@
 1119   1108   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1120   1109   
        let fut = async move {
 1121   1110   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1122   1111   
                request.headers(),
 1123   1112   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFSETOFLENGTHSTRINGOPERATION,
 1124   1113   
            ) {
 1125   1114   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1126   1115   
            }
 1127   1116   
            crate::protocol_serde::shape_query_params_targeting_map_of_set_of_length_string_operation::de_query_params_targeting_map_of_set_of_length_string_operation_http_request(request)
 1128   1117   
                            .await
 1129         -
                            .map_err(Into::into)
 1130   1118   
        };
 1131   1119   
        use ::futures_util::future::TryFutureExt;
 1132   1120   
        let fut = fut.map_err(
 1133   1121   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1134   1122   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1135   1123   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1136   1124   
                    e,
 1137   1125   
                )
 1138   1126   
            },
 1139   1127   
        );
@@ -1200,1188 +1260,1247 @@
 1220   1208   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1221   1209   
        let fut = async move {
 1222   1210   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1223   1211   
                request.headers(),
 1224   1212   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHSTRINGOPERATION,
 1225   1213   
            ) {
 1226   1214   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1227   1215   
            }
 1228   1216   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_string_operation::de_query_params_targeting_map_of_list_of_length_string_operation_http_request(request)
 1229   1217   
                            .await
 1230         -
                            .map_err(Into::into)
 1231   1218   
        };
 1232   1219   
        use ::futures_util::future::TryFutureExt;
 1233   1220   
        let fut = fut.map_err(
 1234   1221   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1235   1222   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1236   1223   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1237   1224   
                    e,
 1238   1225   
                )
 1239   1226   
            },
 1240   1227   
        );
@@ -1301,1288 +1361,1347 @@
 1321   1308   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1322   1309   
        let fut = async move {
 1323   1310   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1324   1311   
                request.headers(),
 1325   1312   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHSTRINGOPERATION,
 1326   1313   
            ) {
 1327   1314   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1328   1315   
            }
 1329   1316   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_string_operation::de_query_params_targeting_map_of_length_string_operation_http_request(request)
 1330   1317   
                            .await
 1331         -
                            .map_err(Into::into)
 1332   1318   
        };
 1333   1319   
        use ::futures_util::future::TryFutureExt;
 1334   1320   
        let fut = fut.map_err(
 1335   1321   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1336   1322   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1337   1323   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1338   1324   
                    e,
 1339   1325   
                )
 1340   1326   
            },
 1341   1327   
        );
@@ -1401,1387 +1461,1446 @@
 1421   1407   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1422   1408   
        let fut = async move {
 1423   1409   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1424   1410   
                request.headers(),
 1425   1411   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGLENGTHMAPOPERATION,
 1426   1412   
            ) {
 1427   1413   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1428   1414   
            }
 1429   1415   
            crate::protocol_serde::shape_query_params_targeting_length_map_operation::de_query_params_targeting_length_map_operation_http_request(request)
 1430   1416   
                            .await
 1431         -
                            .map_err(Into::into)
 1432   1417   
        };
 1433   1418   
        use ::futures_util::future::TryFutureExt;
 1434   1419   
        let fut = fut.map_err(
 1435   1420   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1436   1421   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1437   1422   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1438   1423   
                    e,
 1439   1424   
                )
 1440   1425   
            },
 1441   1426   
        );
@@ -1501,1486 +1561,1545 @@
 1521   1506   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1522   1507   
        let fut = async move {
 1523   1508   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1524   1509   
                request.headers(),
 1525   1510   
                &CONTENT_TYPE_CONSTRAINEDRECURSIVESHAPESOPERATION,
 1526   1511   
            ) {
 1527   1512   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1528   1513   
            }
 1529   1514   
            crate::protocol_serde::shape_constrained_recursive_shapes_operation::de_constrained_recursive_shapes_operation_http_request(request)
 1530   1515   
                            .await
 1531         -
                            .map_err(Into::into)
 1532   1516   
        };
 1533   1517   
        use ::futures_util::future::TryFutureExt;
 1534   1518   
        let fut = fut.map_err(
 1535   1519   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1536   1520   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1537   1521   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1538   1522   
                    e,
 1539   1523   
                )
 1540   1524   
            },
 1541   1525   
        );
@@ -1602,1586 +1662,1645 @@
 1622   1606   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1623   1607   
        let fut = async move {
 1624   1608   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1625   1609   
                request.headers(),
 1626   1610   
                &CONTENT_TYPE_CONSTRAINEDHTTPPAYLOADBOUNDSHAPEOPERATION,
 1627   1611   
            ) {
 1628   1612   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1629   1613   
            }
 1630   1614   
            crate::protocol_serde::shape_constrained_http_payload_bound_shape_operation::de_constrained_http_payload_bound_shape_operation_http_request(request)
 1631   1615   
                            .await
 1632         -
                            .map_err(Into::into)
 1633   1616   
        };
 1634   1617   
        use ::futures_util::future::TryFutureExt;
 1635   1618   
        let fut = fut.map_err(
 1636   1619   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1637   1620   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1638   1621   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1639   1622   
                    e,
 1640   1623   
                )
 1641   1624   
            },
 1642   1625   
        );
@@ -1702,1685 +1762,1744 @@
 1722   1705   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1723   1706   
        let fut = async move {
 1724   1707   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1725   1708   
                request.headers(),
 1726   1709   
                &CONTENT_TYPE_CONSTRAINEDHTTPBOUNDSHAPESOPERATION,
 1727   1710   
            ) {
 1728   1711   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1729   1712   
            }
 1730   1713   
            crate::protocol_serde::shape_constrained_http_bound_shapes_operation::de_constrained_http_bound_shapes_operation_http_request(request)
 1731   1714   
                            .await
 1732         -
                            .map_err(Into::into)
 1733   1715   
        };
 1734   1716   
        use ::futures_util::future::TryFutureExt;
 1735   1717   
        let fut = fut.map_err(
 1736   1718   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1737   1719   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1738   1720   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1739   1721   
                    e,
 1740   1722   
                )
 1741   1723   
            },
 1742   1724   
        );
@@ -1802,1784 +1862,1843 @@
 1822   1804   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1823   1805   
        let fut = async move {
 1824   1806   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1825   1807   
                request.headers(),
 1826   1808   
                &CONTENT_TYPE_CONSTRAINEDSHAPESONLYINOUTPUTOPERATION,
 1827   1809   
            ) {
 1828   1810   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1829   1811   
            }
 1830   1812   
            crate::protocol_serde::shape_constrained_shapes_only_in_output_operation::de_constrained_shapes_only_in_output_operation_http_request(request)
 1831   1813   
                            .await
 1832         -
                            .map_err(Into::into)
 1833   1814   
        };
 1834   1815   
        use ::futures_util::future::TryFutureExt;
 1835   1816   
        let fut = fut.map_err(
 1836   1817   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1837   1818   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1838   1819   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1839   1820   
                    e,
 1840   1821   
                )
 1841   1822   
            },
 1842   1823   
        );
@@ -1884,1865 +1944,1924 @@
 1904   1885   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1905   1886   
        let fut = async move {
 1906   1887   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1907   1888   
                request.headers(),
 1908   1889   
                &CONTENT_TYPE_CONSTRAINEDSHAPESOPERATION,
 1909   1890   
            ) {
 1910   1891   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1911   1892   
            }
 1912   1893   
            crate::protocol_serde::shape_constrained_shapes_operation::de_constrained_shapes_operation_http_request(request)
 1913   1894   
                            .await
 1914         -
                            .map_err(Into::into)
 1915   1895   
        };
 1916   1896   
        use ::futures_util::future::TryFutureExt;
 1917   1897   
        let fut = fut.map_err(
 1918   1898   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1919   1899   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1920   1900   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1921   1901   
                    e,
 1922   1902   
                )
 1923   1903   
            },
 1924   1904   
        );

tmp-codegen-diff/codegen-server-test/ebs/rust-server-codegen/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_STARTSNAPSHOT,
   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_start_snapshot::de_start_snapshot_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   
        );
@@ -127,126 +187,185 @@
  147    146   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  148    147   
                request.headers(),
  149    148   
                &CONTENT_TYPE_PUTSNAPSHOTBLOCK,
  150    149   
            ) {
  151    150   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  152    151   
            }
  153    152   
            crate::protocol_serde::shape_put_snapshot_block::de_put_snapshot_block_http_request(
  154    153   
                request,
  155    154   
            )
  156    155   
            .await
  157         -
            .map_err(Into::into)
  158    156   
        };
  159    157   
        use ::futures_util::future::TryFutureExt;
  160    158   
        let fut = fut.map_err(
  161    159   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  162    160   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  163    161   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  164    162   
                    e,
  165    163   
                )
  166    164   
            },
  167    165   
        );
@@ -235,233 +295,292 @@
  255    253   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  256    254   
                request.headers(),
  257    255   
                &CONTENT_TYPE_LISTSNAPSHOTBLOCKS,
  258    256   
            ) {
  259    257   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  260    258   
            }
  261    259   
            crate::protocol_serde::shape_list_snapshot_blocks::de_list_snapshot_blocks_http_request(
  262    260   
                request,
  263    261   
            )
  264    262   
            .await
  265         -
            .map_err(Into::into)
  266    263   
        };
  267    264   
        use ::futures_util::future::TryFutureExt;
  268    265   
        let fut = fut.map_err(
  269    266   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  270    267   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  271    268   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  272    269   
                    e,
  273    270   
                )
  274    271   
            },
  275    272   
        );
@@ -341,338 +401,397 @@
  361    358   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  362    359   
                request.headers(),
  363    360   
                &CONTENT_TYPE_LISTCHANGEDBLOCKS,
  364    361   
            ) {
  365    362   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  366    363   
            }
  367    364   
            crate::protocol_serde::shape_list_changed_blocks::de_list_changed_blocks_http_request(
  368    365   
                request,
  369    366   
            )
  370    367   
            .await
  371         -
            .map_err(Into::into)
  372    368   
        };
  373    369   
        use ::futures_util::future::TryFutureExt;
  374    370   
        let fut = fut.map_err(
  375    371   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  376    372   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  377    373   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  378    374   
                    e,
  379    375   
                )
  380    376   
            },
  381    377   
        );
@@ -447,443 +507,502 @@
  467    463   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  468    464   
                request.headers(),
  469    465   
                &CONTENT_TYPE_GETSNAPSHOTBLOCK,
  470    466   
            ) {
  471    467   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  472    468   
            }
  473    469   
            crate::protocol_serde::shape_get_snapshot_block::de_get_snapshot_block_http_request(
  474    470   
                request,
  475    471   
            )
  476    472   
            .await
  477         -
            .map_err(Into::into)
  478    473   
        };
  479    474   
        use ::futures_util::future::TryFutureExt;
  480    475   
        let fut = fut.map_err(
  481    476   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  482    477   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  483    478   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  484    479   
                    e,
  485    480   
                )
  486    481   
            },
  487    482   
        );
@@ -555,550 +615,609 @@
  575    570   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  576    571   
                request.headers(),
  577    572   
                &CONTENT_TYPE_COMPLETESNAPSHOT,
  578    573   
            ) {
  579    574   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  580    575   
            }
  581    576   
            crate::protocol_serde::shape_complete_snapshot::de_complete_snapshot_http_request(
  582    577   
                request,
  583    578   
            )
  584    579   
            .await
  585         -
            .map_err(Into::into)
  586    580   
        };
  587    581   
        use ::futures_util::future::TryFutureExt;
  588    582   
        let fut = fut.map_err(
  589    583   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  590    584   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  591    585   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  592    586   
                    e,
  593    587   
                )
  594    588   
            },
  595    589   
        );

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

@@ -27,27 +87,86 @@
   47     47   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   48     48   
        let fut = async move {
   49     49   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   50     50   
                request.headers(),
   51     51   
                &CONTENT_TYPE_OPERATIONWITHNESTEDSTRUCTURE,
   52     52   
            ) {
   53     53   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   54     54   
            }
   55     55   
            crate::protocol_serde::shape_operation_with_nested_structure::de_operation_with_nested_structure_http_request(request)
   56     56   
                            .await
   57         -
                            .map_err(Into::into)
   58     57   
        };
   59     58   
        use ::futures_util::future::TryFutureExt;
   60     59   
        let fut = fut.map_err(
   61     60   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   62     61   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   63     62   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   64     63   
            },
   65     64   
        );
   66     65   
        OperationWithNestedStructureInputFuture {
   67     66   
            inner: Box::pin(fut),
@@ -345,344 +405,403 @@
  365    364   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  366    365   
        let fut = async move {
  367    366   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  368    367   
                request.headers(),
  369    368   
                &CONTENT_TYPE_OPERATIONWITHREQUIREDMEMBERS,
  370    369   
            ) {
  371    370   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  372    371   
            }
  373    372   
            crate::protocol_serde::shape_operation_with_required_members::de_operation_with_required_members_http_request(request)
  374    373   
                            .await
  375         -
                            .map_err(Into::into)
  376    374   
        };
  377    375   
        use ::futures_util::future::TryFutureExt;
  378    376   
        let fut = fut.map_err(
  379    377   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  380    378   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  381    379   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  382    380   
            },
  383    381   
        );
  384    382   
        OperationWithRequiredMembersInputFuture {
  385    383   
            inner: Box::pin(fut),
@@ -430,428 +490,487 @@
  450    448   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  451    449   
        let fut = async move {
  452    450   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  453    451   
                request.headers(),
  454    452   
                &CONTENT_TYPE_OPERATIONWITHDEFAULTS,
  455    453   
            ) {
  456    454   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  457    455   
            }
  458    456   
            crate::protocol_serde::shape_operation_with_defaults::de_operation_with_defaults_http_request(request)
  459    457   
                            .await
  460         -
                            .map_err(Into::into)
  461    458   
        };
  462    459   
        use ::futures_util::future::TryFutureExt;
  463    460   
        let fut = fut.map_err(
  464    461   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  465    462   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  466    463   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  467    464   
            },
  468    465   
        );
  469    466   
        OperationWithDefaultsInputFuture {
  470    467   
            inner: Box::pin(fut),
@@ -820,817 +880,876 @@
  840    837   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  841    838   
        let fut = async move {
  842    839   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  843    840   
                request.headers(),
  844    841   
                &CONTENT_TYPE_CONTENTTYPEPARAMETERS,
  845    842   
            ) {
  846    843   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  847    844   
            }
  848    845   
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
  849    846   
                            .await
  850         -
                            .map_err(Into::into)
  851    847   
        };
  852    848   
        use ::futures_util::future::TryFutureExt;
  853    849   
        let fut = fut.map_err(
  854    850   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  855    851   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  856    852   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  857    853   
            },
  858    854   
        );
  859    855   
        ContentTypeParametersInputFuture {
  860    856   
            inner: Box::pin(fut),
@@ -957,953 +1017,1012 @@
  977    973   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  978    974   
        let fut = async move {
  979    975   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  980    976   
                request.headers(),
  981    977   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  982    978   
            ) {
  983    979   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  984    980   
            }
  985    981   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  986    982   
                            .await
  987         -
                            .map_err(Into::into)
  988    983   
        };
  989    984   
        use ::futures_util::future::TryFutureExt;
  990    985   
        let fut = fut.map_err(
  991    986   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  992    987   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  993    988   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  994    989   
            },
  995    990   
        );
  996    991   
        PutWithContentEncodingInputFuture {
  997    992   
            inner: Box::pin(fut),
@@ -1042,1037 +1102,1096 @@
 1062   1057   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1063   1058   
        let fut = async move {
 1064   1059   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1065   1060   
                request.headers(),
 1066   1061   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
 1067   1062   
            ) {
 1068   1063   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1069   1064   
            }
 1070   1065   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
 1071   1066   
                            .await
 1072         -
                            .map_err(Into::into)
 1073   1067   
        };
 1074   1068   
        use ::futures_util::future::TryFutureExt;
 1075   1069   
        let fut = fut.map_err(
 1076   1070   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1077   1071   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1078   1072   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1079   1073   
            },
 1080   1074   
        );
 1081   1075   
        HostWithPathOperationInputFuture {
 1082   1076   
            inner: Box::pin(fut),
@@ -1127,1121 +1187,1180 @@
 1147   1141   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1148   1142   
        let fut = async move {
 1149   1143   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1150   1144   
                request.headers(),
 1151   1145   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
 1152   1146   
            ) {
 1153   1147   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1154   1148   
            }
 1155   1149   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
 1156   1150   
                            .await
 1157         -
                            .map_err(Into::into)
 1158   1151   
        };
 1159   1152   
        use ::futures_util::future::TryFutureExt;
 1160   1153   
        let fut = fut.map_err(
 1161   1154   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1162   1155   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1163   1156   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1164   1157   
            },
 1165   1158   
        );
 1166   1159   
        EndpointWithHostLabelOperationInputFuture {
 1167   1160   
            inner: Box::pin(fut),
@@ -1288,1281 +1348,1340 @@
 1308   1301   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1309   1302   
                request.headers(),
 1310   1303   
                &CONTENT_TYPE_ENDPOINTOPERATION,
 1311   1304   
            ) {
 1312   1305   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1313   1306   
            }
 1314   1307   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
 1315   1308   
                request,
 1316   1309   
            )
 1317   1310   
            .await
 1318         -
            .map_err(Into::into)
 1319   1311   
        };
 1320   1312   
        use ::futures_util::future::TryFutureExt;
 1321   1313   
        let fut = fut.map_err(
 1322   1314   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1323   1315   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1324   1316   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1325   1317   
            },
 1326   1318   
        );
 1327   1319   
        EndpointOperationInputFuture {
 1328   1320   
            inner: Box::pin(fut),
@@ -1430,1422 +1492,1482 @@
 1450   1442   
    type Future = JsonUnionsInputFuture;
 1451   1443   
 1452   1444   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1453   1445   
        let fut = async move {
 1454   1446   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1455   1447   
                request.headers(),
 1456   1448   
                &CONTENT_TYPE_JSONUNIONS,
 1457   1449   
            ) {
 1458   1450   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1459   1451   
            }
 1460         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
 1461         -
                .await
 1462         -
                .map_err(Into::into)
        1452  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
 1463   1453   
        };
 1464   1454   
        use ::futures_util::future::TryFutureExt;
 1465   1455   
        let fut = fut.map_err(
 1466   1456   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1467   1457   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1468   1458   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1469   1459   
            },
 1470   1460   
        );
 1471   1461   
        JsonUnionsInputFuture {
 1472   1462   
            inner: Box::pin(fut),
@@ -2394,2384 +2454,2443 @@
 2414   2404   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2415   2405   
                request.headers(),
 2416   2406   
                &CONTENT_TYPE_GREETINGWITHERRORS,
 2417   2407   
            ) {
 2418   2408   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2419   2409   
            }
 2420   2410   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
 2421   2411   
                request,
 2422   2412   
            )
 2423   2413   
            .await
 2424         -
            .map_err(Into::into)
 2425   2414   
        };
 2426   2415   
        use ::futures_util::future::TryFutureExt;
 2427   2416   
        let fut = fut.map_err(
 2428   2417   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2429   2418   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2430   2419   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2431   2420   
            },
 2432   2421   
        );
 2433   2422   
        GreetingWithErrorsInputFuture {
 2434   2423   
            inner: Box::pin(fut),
@@ -2602,2591 +2662,2650 @@
 2622   2611   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2623   2612   
        let fut = async move {
 2624   2613   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2625   2614   
                request.headers(),
 2626   2615   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
 2627   2616   
            ) {
 2628   2617   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2629   2618   
            }
 2630   2619   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 2631   2620   
                            .await
 2632         -
                            .map_err(Into::into)
 2633   2621   
        };
 2634   2622   
        use ::futures_util::future::TryFutureExt;
 2635   2623   
        let fut = fut.map_err(
 2636   2624   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2637   2625   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2638   2626   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2639   2627   
            },
 2640   2628   
        );
 2641   2629   
        SimpleScalarPropertiesInputFuture {
 2642   2630   
            inner: Box::pin(fut),
@@ -3009,2997 +3069,3056 @@
 3029   3017   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3030   3018   
        let fut = async move {
 3031   3019   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3032   3020   
                request.headers(),
 3033   3021   
                &CONTENT_TYPE_EMPTYINPUTANDEMPTYOUTPUT,
 3034   3022   
            ) {
 3035   3023   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 3036   3024   
            }
 3037   3025   
            crate::protocol_serde::shape_empty_input_and_empty_output::de_empty_input_and_empty_output_http_request(request)
 3038   3026   
                            .await
 3039         -
                            .map_err(Into::into)
 3040   3027   
        };
 3041   3028   
        use ::futures_util::future::TryFutureExt;
 3042   3029   
        let fut = fut.map_err(
 3043   3030   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3044   3031   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3045   3032   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3046   3033   
            },
 3047   3034   
        );
 3048   3035   
        EmptyInputAndEmptyOutputInputFuture {
 3049   3036   
            inner: Box::pin(fut),
@@ -3175,3162 +3235,3221 @@
 3195   3182   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3196   3183   
                request.headers(),
 3197   3184   
                &CONTENT_TYPE_NOINPUTANDOUTPUT,
 3198   3185   
            ) {
 3199   3186   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 3200   3187   
            }
 3201   3188   
            crate::protocol_serde::shape_no_input_and_output::de_no_input_and_output_http_request(
 3202   3189   
                request,
 3203   3190   
            )
 3204   3191   
            .await
 3205         -
            .map_err(Into::into)
 3206   3192   
        };
 3207   3193   
        use ::futures_util::future::TryFutureExt;
 3208   3194   
        let fut = fut.map_err(
 3209   3195   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3210   3196   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3211   3197   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3212   3198   
            },
 3213   3199   
        );
 3214   3200   
        NoInputAndOutputInputFuture {
 3215   3201   
            inner: Box::pin(fut),
@@ -3337,3323 +3397,3382 @@
 3357   3343   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3358   3344   
        let fut = async move {
 3359   3345   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3360   3346   
                request.headers(),
 3361   3347   
                &CONTENT_TYPE_NOINPUTANDNOOUTPUT,
 3362   3348   
            ) {
 3363   3349   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 3364   3350   
            }
 3365   3351   
            crate::protocol_serde::shape_no_input_and_no_output::de_no_input_and_no_output_http_request(request)
 3366   3352   
                            .await
 3367         -
                            .map_err(Into::into)
 3368   3353   
        };
 3369   3354   
        use ::futures_util::future::TryFutureExt;
 3370   3355   
        let fut = fut.map_err(
 3371   3356   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3372   3357   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3373   3358   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3374   3359   
            },
 3375   3360   
        );
 3376   3361   
        NoInputAndNoOutputInputFuture {
 3377   3362   
            inner: Box::pin(fut),

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

@@ -27,27 +87,86 @@
   47     47   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   48     48   
        let fut = async move {
   49     49   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   50     50   
                request.headers(),
   51     51   
                &CONTENT_TYPE_CONTENTTYPEPARAMETERS,
   52     52   
            ) {
   53     53   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   54     54   
            }
   55     55   
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
   56     56   
                            .await
   57         -
                            .map_err(Into::into)
   58     57   
        };
   59     58   
        use ::futures_util::future::TryFutureExt;
   60     59   
        let fut = fut.map_err(
   61     60   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   62     61   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   63     62   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   64     63   
            },
   65     64   
        );
   66     65   
        ContentTypeParametersInputFuture {
   67     66   
            inner: Box::pin(fut),
@@ -164,163 +224,222 @@
  184    183   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  185    184   
        let fut = async move {
  186    185   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  187    186   
                request.headers(),
  188    187   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  189    188   
            ) {
  190    189   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  191    190   
            }
  192    191   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  193    192   
                            .await
  194         -
                            .map_err(Into::into)
  195    193   
        };
  196    194   
        use ::futures_util::future::TryFutureExt;
  197    195   
        let fut = fut.map_err(
  198    196   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  199    197   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  200    198   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  201    199   
            },
  202    200   
        );
  203    201   
        PutWithContentEncodingInputFuture {
  204    202   
            inner: Box::pin(fut),
@@ -251,249 +311,308 @@
  271    269   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  272    270   
                request.headers(),
  273    271   
                &CONTENT_TYPE_FRACTIONALSECONDS,
  274    272   
            ) {
  275    273   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  276    274   
            }
  277    275   
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
  278    276   
                request,
  279    277   
            )
  280    278   
            .await
  281         -
            .map_err(Into::into)
  282    279   
        };
  283    280   
        use ::futures_util::future::TryFutureExt;
  284    281   
        let fut = fut.map_err(
  285    282   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  286    283   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  287    284   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  288    285   
            },
  289    286   
        );
  290    287   
        FractionalSecondsInputFuture {
  291    288   
            inner: Box::pin(fut),
@@ -344,341 +404,400 @@
  364    361   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  365    362   
        let fut = async move {
  366    363   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  367    364   
                request.headers(),
  368    365   
                &CONTENT_TYPE_DATETIMEOFFSETS,
  369    366   
            ) {
  370    367   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  371    368   
            }
  372    369   
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
  373    370   
                .await
  374         -
                .map_err(Into::into)
  375    371   
        };
  376    372   
        use ::futures_util::future::TryFutureExt;
  377    373   
        let fut = fut.map_err(
  378    374   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  379    375   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  380    376   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  381    377   
            },
  382    378   
        );
  383    379   
        DatetimeOffsetsInputFuture {
  384    380   
            inner: Box::pin(fut),
@@ -437,433 +497,492 @@
  457    453   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  458    454   
        let fut = async move {
  459    455   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  460    456   
                request.headers(),
  461    457   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
  462    458   
            ) {
  463    459   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  464    460   
            }
  465    461   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
  466    462   
                            .await
  467         -
                            .map_err(Into::into)
  468    463   
        };
  469    464   
        use ::futures_util::future::TryFutureExt;
  470    465   
        let fut = fut.map_err(
  471    466   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  472    467   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  473    468   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  474    469   
            },
  475    470   
        );
  476    471   
        HostWithPathOperationInputFuture {
  477    472   
            inner: Box::pin(fut),
@@ -522,517 +582,576 @@
  542    537   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  543    538   
        let fut = async move {
  544    539   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  545    540   
                request.headers(),
  546    541   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
  547    542   
            ) {
  548    543   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  549    544   
            }
  550    545   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
  551    546   
                            .await
  552         -
                            .map_err(Into::into)
  553    547   
        };
  554    548   
        use ::futures_util::future::TryFutureExt;
  555    549   
        let fut = fut.map_err(
  556    550   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  557    551   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  558    552   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  559    553   
            },
  560    554   
        );
  561    555   
        EndpointWithHostLabelOperationInputFuture {
  562    556   
            inner: Box::pin(fut),
@@ -688,682 +748,741 @@
  708    702   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  709    703   
                request.headers(),
  710    704   
                &CONTENT_TYPE_ENDPOINTOPERATION,
  711    705   
            ) {
  712    706   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  713    707   
            }
  714    708   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
  715    709   
                request,
  716    710   
            )
  717    711   
            .await
  718         -
            .map_err(Into::into)
  719    712   
        };
  720    713   
        use ::futures_util::future::TryFutureExt;
  721    714   
        let fut = fut.map_err(
  722    715   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  723    716   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  724    717   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  725    718   
            },
  726    719   
        );
  727    720   
        EndpointOperationInputFuture {
  728    721   
            inner: Box::pin(fut),
@@ -832,825 +894,885 @@
  852    845   
    type Future = JsonUnionsInputFuture;
  853    846   
  854    847   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  855    848   
        let fut = async move {
  856    849   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  857    850   
                request.headers(),
  858    851   
                &CONTENT_TYPE_JSONUNIONS,
  859    852   
            ) {
  860    853   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  861    854   
            }
  862         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
  863         -
                .await
  864         -
                .map_err(Into::into)
         855  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
  865    856   
        };
  866    857   
        use ::futures_util::future::TryFutureExt;
  867    858   
        let fut = fut.map_err(
  868    859   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  869    860   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  870    861   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  871    862   
            },
  872    863   
        );
  873    864   
        JsonUnionsInputFuture {
  874    865   
            inner: Box::pin(fut),
@@ -1716,1707 +1776,1766 @@
 1736   1727   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1737   1728   
                request.headers(),
 1738   1729   
                &CONTENT_TYPE_GREETINGWITHERRORS,
 1739   1730   
            ) {
 1740   1731   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1741   1732   
            }
 1742   1733   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
 1743   1734   
                request,
 1744   1735   
            )
 1745   1736   
            .await
 1746         -
            .map_err(Into::into)
 1747   1737   
        };
 1748   1738   
        use ::futures_util::future::TryFutureExt;
 1749   1739   
        let fut = fut.map_err(
 1750   1740   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1751   1741   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1752   1742   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1753   1743   
            },
 1754   1744   
        );
 1755   1745   
        GreetingWithErrorsInputFuture {
 1756   1746   
            inner: Box::pin(fut),
@@ -1924,1914 +1984,1973 @@
 1944   1934   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1945   1935   
        let fut = async move {
 1946   1936   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1947   1937   
                request.headers(),
 1948   1938   
                &CONTENT_TYPE_SPARSENULLSOPERATION,
 1949   1939   
            ) {
 1950   1940   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1951   1941   
            }
 1952   1942   
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
 1953   1943   
                            .await
 1954         -
                            .map_err(Into::into)
 1955   1944   
        };
 1956   1945   
        use ::futures_util::future::TryFutureExt;
 1957   1946   
        let fut = fut.map_err(
 1958   1947   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1959   1948   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1960   1949   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1961   1950   
            },
 1962   1951   
        );
 1963   1952   
        SparseNullsOperationInputFuture {
 1964   1953   
            inner: Box::pin(fut),
@@ -2186,2175 +2246,2234 @@
 2206   2195   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2207   2196   
        let fut = async move {
 2208   2197   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2209   2198   
                request.headers(),
 2210   2199   
                &CONTENT_TYPE_NULLOPERATION,
 2211   2200   
            ) {
 2212   2201   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2213   2202   
            }
 2214   2203   
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
 2215   2204   
                .await
 2216         -
                .map_err(Into::into)
 2217   2205   
        };
 2218   2206   
        use ::futures_util::future::TryFutureExt;
 2219   2207   
        let fut = fut.map_err(
 2220   2208   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2221   2209   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2222   2210   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2223   2211   
            },
 2224   2212   
        );
 2225   2213   
        NullOperationInputFuture {
 2226   2214   
            inner: Box::pin(fut),
@@ -2357,2345 +2419,2405 @@
 2377   2365   
    type Future = JsonEnumsInputFuture;
 2378   2366   
 2379   2367   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2380   2368   
        let fut = async move {
 2381   2369   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2382   2370   
                request.headers(),
 2383   2371   
                &CONTENT_TYPE_JSONENUMS,
 2384   2372   
            ) {
 2385   2373   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2386   2374   
            }
 2387         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request)
 2388         -
                .await
 2389         -
                .map_err(Into::into)
        2375  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
 2390   2376   
        };
 2391   2377   
        use ::futures_util::future::TryFutureExt;
 2392   2378   
        let fut = fut.map_err(
 2393   2379   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2394   2380   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2395   2381   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2396   2382   
            },
 2397   2383   
        );
 2398   2384   
        JsonEnumsInputFuture {
 2399   2385   
            inner: Box::pin(fut),
@@ -2650,2636 +2710,2695 @@
 2670   2656   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2671   2657   
        let fut = async move {
 2672   2658   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2673   2659   
                request.headers(),
 2674   2660   
                &CONTENT_TYPE_PUTANDGETINLINEDOCUMENTS,
 2675   2661   
            ) {
 2676   2662   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2677   2663   
            }
 2678   2664   
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
 2679   2665   
                            .await
 2680         -
                            .map_err(Into::into)
 2681   2666   
        };
 2682   2667   
        use ::futures_util::future::TryFutureExt;
 2683   2668   
        let fut = fut.map_err(
 2684   2669   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2685   2670   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2686   2671   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2687   2672   
            },
 2688   2673   
        );
 2689   2674   
        PutAndGetInlineDocumentsInputFuture {
 2690   2675   
            inner: Box::pin(fut),
@@ -2848,2833 +2908,2892 @@
 2868   2853   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2869   2854   
        let fut = async move {
 2870   2855   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2871   2856   
                request.headers(),
 2872   2857   
                &CONTENT_TYPE_OPERATIONWITHOPTIONALINPUTOUTPUT,
 2873   2858   
            ) {
 2874   2859   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 2875   2860   
            }
 2876   2861   
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
 2877   2862   
                            .await
 2878         -
                            .map_err(Into::into)
 2879   2863   
        };
 2880   2864   
        use ::futures_util::future::TryFutureExt;
 2881   2865   
        let fut = fut.map_err(
 2882   2866   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 2883   2867   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2884   2868   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 2885   2869   
            },
 2886   2870   
        );
 2887   2871   
        OperationWithOptionalInputOutputInputFuture {
 2888   2872   
            inner: Box::pin(fut),
@@ -3046,3030 +3106,3089 @@
 3066   3050   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3067   3051   
        let fut = async move {
 3068   3052   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3069   3053   
                request.headers(),
 3070   3054   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
 3071   3055   
            ) {
 3072   3056   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 3073   3057   
            }
 3074   3058   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 3075   3059   
                            .await
 3076         -
                            .map_err(Into::into)
 3077   3060   
        };
 3078   3061   
        use ::futures_util::future::TryFutureExt;
 3079   3062   
        let fut = fut.map_err(
 3080   3063   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3081   3064   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3082   3065   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3083   3066   
            },
 3084   3067   
        );
 3085   3068   
        SimpleScalarPropertiesInputFuture {
 3086   3069   
            inner: Box::pin(fut),
@@ -3453,3436 +3513,3495 @@
 3473   3456   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3474   3457   
        let fut = async move {
 3475   3458   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3476   3459   
                request.headers(),
 3477   3460   
                &CONTENT_TYPE_KITCHENSINKOPERATION,
 3478   3461   
            ) {
 3479   3462   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 3480   3463   
            }
 3481   3464   
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
 3482   3465   
                            .await
 3483         -
                            .map_err(Into::into)
 3484   3466   
        };
 3485   3467   
        use ::futures_util::future::TryFutureExt;
 3486   3468   
        let fut = fut.map_err(
 3487   3469   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 3488   3470   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3489   3471   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 3490   3472   
            },
 3491   3473   
        );
 3492   3474   
        KitchenSinkOperationInputFuture {
 3493   3475   
            inner: Box::pin(fut),
@@ -11963,11945 +12023,12004 @@
11983  11965   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
11984  11966   
        let fut = async move {
11985  11967   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
11986  11968   
                request.headers(),
11987  11969   
                &CONTENT_TYPE_EMPTYOPERATION,
11988  11970   
            ) {
11989  11971   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
11990  11972   
            }
11991  11973   
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
11992  11974   
                .await
11993         -
                .map_err(Into::into)
11994  11975   
        };
11995  11976   
        use ::futures_util::future::TryFutureExt;
11996  11977   
        let fut = fut.map_err(
11997  11978   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
11998  11979   
                ::tracing::debug!(error = %e, "failed to deserialize request");
11999  11980   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
12000  11981   
            },
12001  11982   
        );
12002  11983   
        EmptyOperationInputFuture {
12003  11984   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test/misc/rust-server-codegen/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_RESPONSECODEDEFAULTOPERATION,
   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_response_code_default_operation::de_response_code_default_operation_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_RESPONSECODEHTTPFALLBACKOPERATION,
  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_response_code_http_fallback_operation::de_response_code_http_fallback_operation_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   
        );
@@ -227,225 +287,284 @@
  247    245   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  248    246   
        let fut = async move {
  249    247   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  250    248   
                request.headers(),
  251    249   
                &CONTENT_TYPE_RESPONSECODEREQUIREDOPERATION,
  252    250   
            ) {
  253    251   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  254    252   
            }
  255    253   
            crate::protocol_serde::shape_response_code_required_operation::de_response_code_required_operation_http_request(request)
  256    254   
                            .await
  257         -
                            .map_err(Into::into)
  258    255   
        };
  259    256   
        use ::futures_util::future::TryFutureExt;
  260    257   
        let fut = fut.map_err(
  261    258   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  262    259   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  263    260   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  264    261   
                    e,
  265    262   
                )
  266    263   
            },
  267    264   
        );
@@ -332,329 +392,388 @@
  352    349   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  353    350   
        let fut = async move {
  354    351   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  355    352   
                request.headers(),
  356    353   
                &CONTENT_TYPE_REQUIREDHEADERCOLLECTIONOPERATION,
  357    354   
            ) {
  358    355   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  359    356   
            }
  360    357   
            crate::protocol_serde::shape_required_header_collection_operation::de_required_header_collection_operation_http_request(request)
  361    358   
                            .await
  362         -
                            .map_err(Into::into)
  363    359   
        };
  364    360   
        use ::futures_util::future::TryFutureExt;
  365    361   
        let fut = fut.map_err(
  366    362   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  367    363   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  368    364   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  369    365   
                    e,
  370    366   
                )
  371    367   
            },
  372    368   
        );
@@ -432,428 +492,487 @@
  452    448   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  453    449   
        let fut = async move {
  454    450   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  455    451   
                request.headers(),
  456    452   
                &CONTENT_TYPE_REQUIREDINNERSHAPEOPERATION,
  457    453   
            ) {
  458    454   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  459    455   
            }
  460    456   
            crate::protocol_serde::shape_required_inner_shape_operation::de_required_inner_shape_operation_http_request(request)
  461    457   
                            .await
  462         -
                            .map_err(Into::into)
  463    458   
        };
  464    459   
        use ::futures_util::future::TryFutureExt;
  465    460   
        let fut = fut.map_err(
  466    461   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  467    462   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  468    463   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  469    464   
                    e,
  470    465   
                )
  471    466   
            },
  472    467   
        );
@@ -532,527 +592,586 @@
  552    547   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  553    548   
        let fut = async move {
  554    549   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  555    550   
                request.headers(),
  556    551   
                &CONTENT_TYPE_TYPECOMPLEXITYOPERATION,
  557    552   
            ) {
  558    553   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  559    554   
            }
  560    555   
            crate::protocol_serde::shape_type_complexity_operation::de_type_complexity_operation_http_request(request)
  561    556   
                            .await
  562         -
                            .map_err(Into::into)
  563    557   
        };
  564    558   
        use ::futures_util::future::TryFutureExt;
  565    559   
        let fut = fut.map_err(
  566    560   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  567    561   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  568    562   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  569    563   
                    e,
  570    564   
                )
  571    565   
            },
  572    566   
        );

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

@@ -24,24 +86,84 @@
   44     44   
    type Future = DoNothingInputFuture;
   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_DONOTHING,
   51     51   
            ) {
   52     52   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   53     53   
            }
   54         -
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request)
   55         -
                .await
   56         -
                .map_err(Into::into)
          54  +
            crate::protocol_serde::shape_do_nothing::de_do_nothing_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   
        DoNothingInputFuture {
   66     64   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test/naming_test_ops/rust-server-codegen/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),
@@ -346,340 +408,400 @@
  366    360   
    type Future = ResultInputFuture;
  367    361   
  368    362   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  369    363   
        let fut = async move {
  370    364   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  371    365   
                request.headers(),
  372    366   
                &CONTENT_TYPE_RESULT,
  373    367   
            ) {
  374    368   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  375    369   
            }
  376         -
            crate::protocol_serde::shape_result::de_result_http_request(request)
  377         -
                .await
  378         -
                .map_err(Into::into)
         370  +
            crate::protocol_serde::shape_result::de_result_http_request(request).await
  379    371   
        };
  380    372   
        use ::futures_util::future::TryFutureExt;
  381    373   
        let fut = fut.map_err(
  382    374   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  383    375   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  384    376   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  385    377   
            },
  386    378   
        );
  387    379   
        ResultInputFuture {
  388    380   
            inner: Box::pin(fut),
@@ -439,431 +499,490 @@
  459    451   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  460    452   
        let fut = async move {
  461    453   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  462    454   
                request.headers(),
  463    455   
                &CONTENT_TYPE_ERRCOLLISIONS,
  464    456   
            ) {
  465    457   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  466    458   
            }
  467    459   
            crate::protocol_serde::shape_err_collisions::de_err_collisions_http_request(request)
  468    460   
                .await
  469         -
                .map_err(Into::into)
  470    461   
        };
  471    462   
        use ::futures_util::future::TryFutureExt;
  472    463   
        let fut = fut.map_err(
  473    464   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  474    465   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  475    466   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  476    467   
            },
  477    468   
        );
  478    469   
        ErrCollisionsInputFuture {
  479    470   
            inner: Box::pin(fut),
@@ -556,547 +616,606 @@
  576    567   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  577    568   
        let fut = async move {
  578    569   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  579    570   
                request.headers(),
  580    571   
                &CONTENT_TYPE_STRUCTURENAMEPUNNING,
  581    572   
            ) {
  582    573   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  583    574   
            }
  584    575   
            crate::protocol_serde::shape_structure_name_punning::de_structure_name_punning_http_request(request)
  585    576   
                            .await
  586         -
                            .map_err(Into::into)
  587    577   
        };
  588    578   
        use ::futures_util::future::TryFutureExt;
  589    579   
        let fut = fut.map_err(
  590    580   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  591    581   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  592    582   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  593    583   
            },
  594    584   
        );
  595    585   
        StructureNamePunningInputFuture {
  596    586   
            inner: Box::pin(fut),
@@ -693,683 +753,742 @@
  713    703   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  714    704   
        let fut = async move {
  715    705   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  716    706   
                request.headers(),
  717    707   
                &CONTENT_TYPE_RESERVEDWORDSASMEMBERS,
  718    708   
            ) {
  719    709   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  720    710   
            }
  721    711   
            crate::protocol_serde::shape_reserved_words_as_members::de_reserved_words_as_members_http_request(request)
  722    712   
                            .await
  723         -
                            .map_err(Into::into)
  724    713   
        };
  725    714   
        use ::futures_util::future::TryFutureExt;
  726    715   
        let fut = fut.map_err(
  727    716   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  728    717   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  729    718   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  730    719   
            },
  731    720   
        );
  732    721   
        ReservedWordsAsMembersInputFuture {
  733    722   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test/naming_test_structs/rust-server-codegen/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/pokemon-service-awsjson-server-sdk/rust-server-codegen/src/operation.rs

@@ -25,25 +87,85 @@
   45     45   
    type Future = CheckHealthInputFuture;
   46     46   
   47     47   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   48     48   
        let fut = async move {
   49     49   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   50     50   
                request.headers(),
   51     51   
                &CONTENT_TYPE_CHECKHEALTH,
   52     52   
            ) {
   53     53   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   54     54   
            }
   55         -
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request)
   56         -
                .await
   57         -
                .map_err(Into::into)
          55  +
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request).await
   58     56   
        };
   59     57   
        use ::futures_util::future::TryFutureExt;
   60     58   
        let fut = fut.map_err(
   61     59   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
   62     60   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   63     61   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   64     62   
            },
   65     63   
        );
   66     64   
        CheckHealthInputFuture {
   67     65   
            inner: Box::pin(fut),
@@ -119,117 +179,176 @@
  139    137   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  140    138   
        let fut = async move {
  141    139   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  142    140   
                request.headers(),
  143    141   
                &CONTENT_TYPE_CAPTUREPOKEMON,
  144    142   
            ) {
  145    143   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  146    144   
            }
  147    145   
            crate::protocol_serde::shape_capture_pokemon::de_capture_pokemon_http_request(request)
  148    146   
                .await
  149         -
                .map_err(Into::into)
  150    147   
        };
  151    148   
        use ::futures_util::future::TryFutureExt;
  152    149   
        let fut = fut.map_err(
  153    150   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  154    151   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  155    152   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  156    153   
            },
  157    154   
        );
  158    155   
        CapturePokemonInputFuture {
  159    156   
            inner: Box::pin(fut),
@@ -234,231 +296,291 @@
  254    251   
    type Future = DoNothingInputFuture;
  255    252   
  256    253   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  257    254   
        let fut = async move {
  258    255   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  259    256   
                request.headers(),
  260    257   
                &CONTENT_TYPE_DONOTHING,
  261    258   
            ) {
  262    259   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  263    260   
            }
  264         -
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request)
  265         -
                .await
  266         -
                .map_err(Into::into)
         261  +
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request).await
  267    262   
        };
  268    263   
        use ::futures_util::future::TryFutureExt;
  269    264   
        let fut = fut.map_err(
  270    265   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  271    266   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  272    267   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  273    268   
            },
  274    269   
        );
  275    270   
        DoNothingInputFuture {
  276    271   
            inner: Box::pin(fut),
@@ -327,322 +385,379 @@
  347    342   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  348    343   
        let fut = async move {
  349    344   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  350    345   
                request.headers(),
  351    346   
                &CONTENT_TYPE_GETSERVERSTATISTICS,
  352    347   
            ) {
  353    348   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  354    349   
            }
  355    350   
            crate::protocol_serde::shape_get_server_statistics::de_get_server_statistics_http_request(request)
  356    351   
                            .await
  357         -
                            .map_err(Into::into)
  358    352   
        };
  359    353   
        use ::futures_util::future::TryFutureExt;
  360    354   
        let fut = fut.map_err(
  361    355   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  362    356   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  363    357   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  364    358   
            },
  365    359   
        );
  366    360   
        GetServerStatisticsInputFuture {
  367    361   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test/pokemon-service-server-sdk/rust-server-codegen/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   
        );
@@ -312,308 +374,368 @@
  332    328   
    type Future = CheckHealthInputFuture;
  333    329   
  334    330   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  335    331   
        let fut = async move {
  336    332   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  337    333   
                request.headers(),
  338    334   
                &CONTENT_TYPE_CHECKHEALTH,
  339    335   
            ) {
  340    336   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  341    337   
            }
  342         -
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request)
  343         -
                .await
  344         -
                .map_err(Into::into)
         338  +
            crate::protocol_serde::shape_check_health::de_check_health_http_request(request).await
  345    339   
        };
  346    340   
        use ::futures_util::future::TryFutureExt;
  347    341   
        let fut = fut.map_err(
  348    342   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  349    343   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  350    344   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  351    345   
                    e,
  352    346   
                )
  353    347   
            },
  354    348   
        );
@@ -402,396 +462,455 @@
  422    416   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  423    417   
        let fut = async move {
  424    418   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  425    419   
                request.headers(),
  426    420   
                &CONTENT_TYPE_CAPTUREPOKEMON,
  427    421   
            ) {
  428    422   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  429    423   
            }
  430    424   
            crate::protocol_serde::shape_capture_pokemon::de_capture_pokemon_http_request(request)
  431    425   
                .await
  432         -
                .map_err(Into::into)
  433    426   
        };
  434    427   
        use ::futures_util::future::TryFutureExt;
  435    428   
        let fut = fut.map_err(
  436    429   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  437    430   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  438    431   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  439    432   
                    e,
  440    433   
                )
  441    434   
            },
  442    435   
        );
@@ -503,496 +565,556 @@
  523    516   
    type Future = DoNothingInputFuture;
  524    517   
  525    518   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  526    519   
        let fut = async move {
  527    520   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  528    521   
                request.headers(),
  529    522   
                &CONTENT_TYPE_DONOTHING,
  530    523   
            ) {
  531    524   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  532    525   
            }
  533         -
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request)
  534         -
                .await
  535         -
                .map_err(Into::into)
         526  +
            crate::protocol_serde::shape_do_nothing::de_do_nothing_http_request(request).await
  536    527   
        };
  537    528   
        use ::futures_util::future::TryFutureExt;
  538    529   
        let fut = fut.map_err(
  539    530   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  540    531   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  541    532   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  542    533   
                    e,
  543    534   
                )
  544    535   
            },
  545    536   
        );
@@ -587,578 +647,637 @@
  607    598   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  608    599   
        let fut = async move {
  609    600   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  610    601   
                request.headers(),
  611    602   
                &CONTENT_TYPE_GETSERVERSTATISTICS,
  612    603   
            ) {
  613    604   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  614    605   
            }
  615    606   
            crate::protocol_serde::shape_get_server_statistics::de_get_server_statistics_http_request(request)
  616    607   
                            .await
  617         -
                            .map_err(Into::into)
  618    608   
        };
  619    609   
        use ::futures_util::future::TryFutureExt;
  620    610   
        let fut = fut.map_err(
  621    611   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  622    612   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  623    613   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  624    614   
                    e,
  625    615   
                )
  626    616   
            },
  627    617   
        );

tmp-codegen-diff/codegen-server-test/rest_json/rust-server-codegen/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   
        );
@@ -336,335 +396,394 @@
  356    355   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  357    356   
        let fut = async move {
  358    357   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  359    358   
                request.headers(),
  360    359   
                &CONTENT_TYPE_OPERATIONWITHDEFAULTS,
  361    360   
            ) {
  362    361   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  363    362   
            }
  364    363   
            crate::protocol_serde::shape_operation_with_defaults::de_operation_with_defaults_http_request(request)
  365    364   
                            .await
  366         -
                            .map_err(Into::into)
  367    365   
        };
  368    366   
        use ::futures_util::future::TryFutureExt;
  369    367   
        let fut = fut.map_err(
  370    368   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  371    369   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  372    370   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  373    371   
                    e,
  374    372   
                )
  375    373   
            },
  376    374   
        );
@@ -723,721 +783,780 @@
  743    741   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  744    742   
        let fut = async move {
  745    743   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  746    744   
                request.headers(),
  747    745   
                &CONTENT_TYPE_CONTENTTYPEPARAMETERS,
  748    746   
            ) {
  749    747   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  750    748   
            }
  751    749   
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
  752    750   
                            .await
  753         -
                            .map_err(Into::into)
  754    751   
        };
  755    752   
        use ::futures_util::future::TryFutureExt;
  756    753   
        let fut = fut.map_err(
  757    754   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  758    755   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  759    756   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  760    757   
                    e,
  761    758   
                )
  762    759   
            },
  763    760   
        );
@@ -856,853 +916,912 @@
  876    873   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  877    874   
        let fut = async move {
  878    875   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  879    876   
                request.headers(),
  880    877   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  881    878   
            ) {
  882    879   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  883    880   
            }
  884    881   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  885    882   
                            .await
  886         -
                            .map_err(Into::into)
  887    883   
        };
  888    884   
        use ::futures_util::future::TryFutureExt;
  889    885   
        let fut = fut.map_err(
  890    886   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  891    887   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  892    888   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  893    889   
                    e,
  894    890   
                )
  895    891   
            },
  896    892   
        );
@@ -940,936 +1000,995 @@
  960    956   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  961    957   
                request.headers(),
  962    958   
                &CONTENT_TYPE_FRACTIONALSECONDS,
  963    959   
            ) {
  964    960   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  965    961   
            }
  966    962   
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
  967    963   
                request,
  968    964   
            )
  969    965   
            .await
  970         -
            .map_err(Into::into)
  971    966   
        };
  972    967   
        use ::futures_util::future::TryFutureExt;
  973    968   
        let fut = fut.map_err(
  974    969   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  975    970   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  976    971   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  977    972   
                    e,
  978    973   
                )
  979    974   
            },
  980    975   
        );
@@ -1024,1019 +1084,1078 @@
 1044   1039   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1045   1040   
        let fut = async move {
 1046   1041   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1047   1042   
                request.headers(),
 1048   1043   
                &CONTENT_TYPE_DATETIMEOFFSETS,
 1049   1044   
            ) {
 1050   1045   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1051   1046   
            }
 1052   1047   
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
 1053   1048   
                .await
 1054         -
                .map_err(Into::into)
 1055   1049   
        };
 1056   1050   
        use ::futures_util::future::TryFutureExt;
 1057   1051   
        let fut = fut.map_err(
 1058   1052   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1059   1053   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1060   1054   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1061   1055   
                    e,
 1062   1056   
                )
 1063   1057   
            },
 1064   1058   
        );
@@ -1108,1102 +1168,1161 @@
 1128   1122   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1129   1123   
        let fut = async move {
 1130   1124   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1131   1125   
                request.headers(),
 1132   1126   
                &CONTENT_TYPE_TESTPOSTNOINPUTNOPAYLOAD,
 1133   1127   
            ) {
 1134   1128   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1135   1129   
            }
 1136   1130   
            crate::protocol_serde::shape_test_post_no_input_no_payload::de_test_post_no_input_no_payload_http_request(request)
 1137   1131   
                            .await
 1138         -
                            .map_err(Into::into)
 1139   1132   
        };
 1140   1133   
        use ::futures_util::future::TryFutureExt;
 1141   1134   
        let fut = fut.map_err(
 1142   1135   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1143   1136   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1144   1137   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1145   1138   
                    e,
 1146   1139   
                )
 1147   1140   
            },
 1148   1141   
        );
@@ -1242,1235 +1302,1294 @@
 1262   1255   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1263   1256   
        let fut = async move {
 1264   1257   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1265   1258   
                request.headers(),
 1266   1259   
                &CONTENT_TYPE_TESTGETNOINPUTNOPAYLOAD,
 1267   1260   
            ) {
 1268   1261   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1269   1262   
            }
 1270   1263   
            crate::protocol_serde::shape_test_get_no_input_no_payload::de_test_get_no_input_no_payload_http_request(request)
 1271   1264   
                            .await
 1272         -
                            .map_err(Into::into)
 1273   1265   
        };
 1274   1266   
        use ::futures_util::future::TryFutureExt;
 1275   1267   
        let fut = fut.map_err(
 1276   1268   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1277   1269   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1278   1270   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1279   1271   
                    e,
 1280   1272   
                )
 1281   1273   
            },
 1282   1274   
        );
@@ -1378,1370 +1438,1429 @@
 1398   1390   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1399   1391   
                request.headers(),
 1400   1392   
                &CONTENT_TYPE_TESTPOSTNOPAYLOAD,
 1401   1393   
            ) {
 1402   1394   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1403   1395   
            }
 1404   1396   
            crate::protocol_serde::shape_test_post_no_payload::de_test_post_no_payload_http_request(
 1405   1397   
                request,
 1406   1398   
            )
 1407   1399   
            .await
 1408         -
            .map_err(Into::into)
 1409   1400   
        };
 1410   1401   
        use ::futures_util::future::TryFutureExt;
 1411   1402   
        let fut = fut.map_err(
 1412   1403   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1413   1404   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1414   1405   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1415   1406   
                    e,
 1416   1407   
                )
 1417   1408   
            },
 1418   1409   
        );
@@ -1562,1553 +1622,1612 @@
 1582   1573   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1583   1574   
                request.headers(),
 1584   1575   
                &CONTENT_TYPE_TESTGETNOPAYLOAD,
 1585   1576   
            ) {
 1586   1577   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1587   1578   
            }
 1588   1579   
            crate::protocol_serde::shape_test_get_no_payload::de_test_get_no_payload_http_request(
 1589   1580   
                request,
 1590   1581   
            )
 1591   1582   
            .await
 1592         -
            .map_err(Into::into)
 1593   1583   
        };
 1594   1584   
        use ::futures_util::future::TryFutureExt;
 1595   1585   
        let fut = fut.map_err(
 1596   1586   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1597   1587   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1598   1588   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1599   1589   
                    e,
 1600   1590   
                )
 1601   1591   
            },
 1602   1592   
        );
@@ -1739,1729 +1799,1788 @@
 1759   1749   
{
 1760   1750   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
 1761   1751   
    type Future = TestPayloadBlobInputFuture;
 1762   1752   
 1763   1753   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1764   1754   
        let fut = async move {
 1765   1755   
            crate::protocol_serde::shape_test_payload_blob::de_test_payload_blob_http_request(
 1766   1756   
                request,
 1767   1757   
            )
 1768   1758   
            .await
 1769         -
            .map_err(Into::into)
 1770   1759   
        };
 1771   1760   
        use ::futures_util::future::TryFutureExt;
 1772   1761   
        let fut = fut.map_err(
 1773   1762   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1774   1763   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1775   1764   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1776   1765   
                    e,
 1777   1766   
                )
 1778   1767   
            },
 1779   1768   
        );
@@ -1929,1918 +1989,1977 @@
 1949   1938   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1950   1939   
        let fut = async move {
 1951   1940   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1952   1941   
                request.headers(),
 1953   1942   
                &CONTENT_TYPE_TESTPAYLOADSTRUCTURE,
 1954   1943   
            ) {
 1955   1944   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1956   1945   
            }
 1957   1946   
            crate::protocol_serde::shape_test_payload_structure::de_test_payload_structure_http_request(request)
 1958   1947   
                            .await
 1959         -
                            .map_err(Into::into)
 1960   1948   
        };
 1961   1949   
        use ::futures_util::future::TryFutureExt;
 1962   1950   
        let fut = fut.map_err(
 1963   1951   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1964   1952   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1965   1953   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1966   1954   
                    e,
 1967   1955   
                )
 1968   1956   
            },
 1969   1957   
        );
@@ -2193,2181 +2253,2240 @@
 2213   2201   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2214   2202   
                request.headers(),
 2215   2203   
                &CONTENT_TYPE_TESTBODYSTRUCTURE,
 2216   2204   
            ) {
 2217   2205   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2218   2206   
            }
 2219   2207   
            crate::protocol_serde::shape_test_body_structure::de_test_body_structure_http_request(
 2220   2208   
                request,
 2221   2209   
            )
 2222   2210   
            .await
 2223         -
            .map_err(Into::into)
 2224   2211   
        };
 2225   2212   
        use ::futures_util::future::TryFutureExt;
 2226   2213   
        let fut = fut.map_err(
 2227   2214   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2228   2215   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2229   2216   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2230   2217   
                    e,
 2231   2218   
                )
 2232   2219   
            },
 2233   2220   
        );
@@ -2387,2374 +2447,2433 @@
 2407   2394   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2408   2395   
        let fut = async move {
 2409   2396   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2410   2397   
                request.headers(),
 2411   2398   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHGENERICSTRING,
 2412   2399   
            ) {
 2413   2400   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2414   2401   
            }
 2415   2402   
            crate::protocol_serde::shape_malformed_accept_with_generic_string::de_malformed_accept_with_generic_string_http_request(request)
 2416   2403   
                            .await
 2417         -
                            .map_err(Into::into)
 2418   2404   
        };
 2419   2405   
        use ::futures_util::future::TryFutureExt;
 2420   2406   
        let fut = fut.map_err(
 2421   2407   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2422   2408   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2423   2409   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2424   2410   
                    e,
 2425   2411   
                )
 2426   2412   
            },
 2427   2413   
        );
@@ -2521,2507 +2581,2566 @@
 2541   2527   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2542   2528   
        let fut = async move {
 2543   2529   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2544   2530   
                request.headers(),
 2545   2531   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHPAYLOAD,
 2546   2532   
            ) {
 2547   2533   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2548   2534   
            }
 2549   2535   
            crate::protocol_serde::shape_malformed_accept_with_payload::de_malformed_accept_with_payload_http_request(request)
 2550   2536   
                            .await
 2551         -
                            .map_err(Into::into)
 2552   2537   
        };
 2553   2538   
        use ::futures_util::future::TryFutureExt;
 2554   2539   
        let fut = fut.map_err(
 2555   2540   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2556   2541   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2557   2542   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2558   2543   
                    e,
 2559   2544   
                )
 2560   2545   
            },
 2561   2546   
        );
@@ -2649,2634 +2709,2693 @@
 2669   2654   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2670   2655   
        let fut = async move {
 2671   2656   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2672   2657   
                request.headers(),
 2673   2658   
                &CONTENT_TYPE_MALFORMEDACCEPTWITHBODY,
 2674   2659   
            ) {
 2675   2660   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2676   2661   
            }
 2677   2662   
            crate::protocol_serde::shape_malformed_accept_with_body::de_malformed_accept_with_body_http_request(request)
 2678   2663   
                            .await
 2679         -
                            .map_err(Into::into)
 2680   2664   
        };
 2681   2665   
        use ::futures_util::future::TryFutureExt;
 2682   2666   
        let fut = fut.map_err(
 2683   2667   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2684   2668   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2685   2669   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2686   2670   
                    e,
 2687   2671   
                )
 2688   2672   
            },
 2689   2673   
        );
@@ -2777,2761 +2837,2820 @@
 2797   2781   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2798   2782   
        let fut = async move {
 2799   2783   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2800   2784   
                request.headers(),
 2801   2785   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHGENERICSTRING,
 2802   2786   
            ) {
 2803   2787   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2804   2788   
            }
 2805   2789   
            crate::protocol_serde::shape_malformed_content_type_with_generic_string::de_malformed_content_type_with_generic_string_http_request(request)
 2806   2790   
                            .await
 2807         -
                            .map_err(Into::into)
 2808   2791   
        };
 2809   2792   
        use ::futures_util::future::TryFutureExt;
 2810   2793   
        let fut = fut.map_err(
 2811   2794   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2812   2795   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2813   2796   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2814   2797   
                    e,
 2815   2798   
                )
 2816   2799   
            },
 2817   2800   
        );
@@ -2859,2842 +2919,2901 @@
 2879   2862   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2880   2863   
        let fut = async move {
 2881   2864   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2882   2865   
                request.headers(),
 2883   2866   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHPAYLOAD,
 2884   2867   
            ) {
 2885   2868   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2886   2869   
            }
 2887   2870   
            crate::protocol_serde::shape_malformed_content_type_with_payload::de_malformed_content_type_with_payload_http_request(request)
 2888   2871   
                            .await
 2889         -
                            .map_err(Into::into)
 2890   2872   
        };
 2891   2873   
        use ::futures_util::future::TryFutureExt;
 2892   2874   
        let fut = fut.map_err(
 2893   2875   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2894   2876   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2895   2877   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2896   2878   
                    e,
 2897   2879   
                )
 2898   2880   
            },
 2899   2881   
        );
@@ -3039,3021 +3099,3080 @@
 3059   3041   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3060   3042   
        let fut = async move {
 3061   3043   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3062   3044   
                request.headers(),
 3063   3045   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHBODY,
 3064   3046   
            ) {
 3065   3047   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3066   3048   
            }
 3067   3049   
            crate::protocol_serde::shape_malformed_content_type_with_body::de_malformed_content_type_with_body_http_request(request)
 3068   3050   
                            .await
 3069         -
                            .map_err(Into::into)
 3070   3051   
        };
 3071   3052   
        use ::futures_util::future::TryFutureExt;
 3072   3053   
        let fut = fut.map_err(
 3073   3054   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3074   3055   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3075   3056   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3076   3057   
                    e,
 3077   3058   
                )
 3078   3059   
            },
 3079   3060   
        );
@@ -3218,3199 +3278,3258 @@
 3238   3219   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3239   3220   
        let fut = async move {
 3240   3221   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3241   3222   
                request.headers(),
 3242   3223   
                &CONTENT_TYPE_MALFORMEDCONTENTTYPEWITHOUTBODY,
 3243   3224   
            ) {
 3244   3225   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3245   3226   
            }
 3246   3227   
            crate::protocol_serde::shape_malformed_content_type_without_body::de_malformed_content_type_without_body_http_request(request)
 3247   3228   
                            .await
 3248         -
                            .map_err(Into::into)
 3249   3229   
        };
 3250   3230   
        use ::futures_util::future::TryFutureExt;
 3251   3231   
        let fut = fut.map_err(
 3252   3232   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3253   3233   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3254   3234   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3255   3235   
                    e,
 3256   3236   
                )
 3257   3237   
            },
 3258   3238   
        );
@@ -3351,3331 +3411,3390 @@
 3371   3351   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3372   3352   
        let fut = async move {
 3373   3353   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3374   3354   
                request.headers(),
 3375   3355   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYHTTPDATE,
 3376   3356   
            ) {
 3377   3357   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3378   3358   
            }
 3379   3359   
            crate::protocol_serde::shape_malformed_timestamp_body_http_date::de_malformed_timestamp_body_http_date_http_request(request)
 3380   3360   
                            .await
 3381         -
                            .map_err(Into::into)
 3382   3361   
        };
 3383   3362   
        use ::futures_util::future::TryFutureExt;
 3384   3363   
        let fut = fut.map_err(
 3385   3364   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3386   3365   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3387   3366   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3388   3367   
                    e,
 3389   3368   
                )
 3390   3369   
            },
 3391   3370   
        );
@@ -3691,3670 +3751,3729 @@
 3711   3690   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 3712   3691   
        let fut = async move {
 3713   3692   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 3714   3693   
                request.headers(),
 3715   3694   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYDATETIME,
 3716   3695   
            ) {
 3717   3696   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 3718   3697   
            }
 3719   3698   
            crate::protocol_serde::shape_malformed_timestamp_body_date_time::de_malformed_timestamp_body_date_time_http_request(request)
 3720   3699   
                            .await
 3721         -
                            .map_err(Into::into)
 3722   3700   
        };
 3723   3701   
        use ::futures_util::future::TryFutureExt;
 3724   3702   
        let fut = fut.map_err(
 3725   3703   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 3726   3704   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 3727   3705   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 3728   3706   
                    e,
 3729   3707   
                )
 3730   3708   
            },
 3731   3709   
        );
@@ -4704,4682 +4764,4741 @@
 4724   4702   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4725   4703   
        let fut = async move {
 4726   4704   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4727   4705   
                request.headers(),
 4728   4706   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPBODYDEFAULT,
 4729   4707   
            ) {
 4730   4708   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4731   4709   
            }
 4732   4710   
            crate::protocol_serde::shape_malformed_timestamp_body_default::de_malformed_timestamp_body_default_http_request(request)
 4733   4711   
                            .await
 4734         -
                            .map_err(Into::into)
 4735   4712   
        };
 4736   4713   
        use ::futures_util::future::TryFutureExt;
 4737   4714   
        let fut = fut.map_err(
 4738   4715   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4739   4716   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4740   4717   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4741   4718   
                    e,
 4742   4719   
                )
 4743   4720   
            },
 4744   4721   
        );
@@ -5563,5540 +5623,5599 @@
 5583   5560   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5584   5561   
        let fut = async move {
 5585   5562   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5586   5563   
                request.headers(),
 5587   5564   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADEREPOCH,
 5588   5565   
            ) {
 5589   5566   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5590   5567   
            }
 5591   5568   
            crate::protocol_serde::shape_malformed_timestamp_header_epoch::de_malformed_timestamp_header_epoch_http_request(request)
 5592   5569   
                            .await
 5593         -
                            .map_err(Into::into)
 5594   5570   
        };
 5595   5571   
        use ::futures_util::future::TryFutureExt;
 5596   5572   
        let fut = fut.map_err(
 5597   5573   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5598   5574   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5599   5575   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5600   5576   
                    e,
 5601   5577   
                )
 5602   5578   
            },
 5603   5579   
        );
@@ -6123,6099 +6183,6158 @@
 6143   6119   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6144   6120   
        let fut = async move {
 6145   6121   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6146   6122   
                request.headers(),
 6147   6123   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADERDATETIME,
 6148   6124   
            ) {
 6149   6125   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6150   6126   
            }
 6151   6127   
            crate::protocol_serde::shape_malformed_timestamp_header_date_time::de_malformed_timestamp_header_date_time_http_request(request)
 6152   6128   
                            .await
 6153         -
                            .map_err(Into::into)
 6154   6129   
        };
 6155   6130   
        use ::futures_util::future::TryFutureExt;
 6156   6131   
        let fut = fut.map_err(
 6157   6132   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6158   6133   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6159   6134   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6160   6135   
                    e,
 6161   6136   
                )
 6162   6137   
            },
 6163   6138   
        );
@@ -6999,6974 +7059,7033 @@
 7019   6994   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7020   6995   
        let fut = async move {
 7021   6996   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7022   6997   
                request.headers(),
 7023   6998   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPHEADERDEFAULT,
 7024   6999   
            ) {
 7025   7000   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7026   7001   
            }
 7027   7002   
            crate::protocol_serde::shape_malformed_timestamp_header_default::de_malformed_timestamp_header_default_http_request(request)
 7028   7003   
                            .await
 7029         -
                            .map_err(Into::into)
 7030   7004   
        };
 7031   7005   
        use ::futures_util::future::TryFutureExt;
 7032   7006   
        let fut = fut.map_err(
 7033   7007   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7034   7008   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7035   7009   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7036   7010   
                    e,
 7037   7011   
                )
 7038   7012   
            },
 7039   7013   
        );
@@ -7314,7288 +7374,7347 @@
 7334   7308   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7335   7309   
        let fut = async move {
 7336   7310   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7337   7311   
                request.headers(),
 7338   7312   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYEPOCH,
 7339   7313   
            ) {
 7340   7314   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7341   7315   
            }
 7342   7316   
            crate::protocol_serde::shape_malformed_timestamp_query_epoch::de_malformed_timestamp_query_epoch_http_request(request)
 7343   7317   
                            .await
 7344         -
                            .map_err(Into::into)
 7345   7318   
        };
 7346   7319   
        use ::futures_util::future::TryFutureExt;
 7347   7320   
        let fut = fut.map_err(
 7348   7321   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7349   7322   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7350   7323   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7351   7324   
                    e,
 7352   7325   
                )
 7353   7326   
            },
 7354   7327   
        );
@@ -7939,7912 +7999,7971 @@
 7959   7932   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7960   7933   
        let fut = async move {
 7961   7934   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7962   7935   
                request.headers(),
 7963   7936   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYHTTPDATE,
 7964   7937   
            ) {
 7965   7938   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7966   7939   
            }
 7967   7940   
            crate::protocol_serde::shape_malformed_timestamp_query_http_date::de_malformed_timestamp_query_http_date_http_request(request)
 7968   7941   
                            .await
 7969         -
                            .map_err(Into::into)
 7970   7942   
        };
 7971   7943   
        use ::futures_util::future::TryFutureExt;
 7972   7944   
        let fut = fut.map_err(
 7973   7945   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7974   7946   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7975   7947   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7976   7948   
                    e,
 7977   7949   
                )
 7978   7950   
            },
 7979   7951   
        );
@@ -8267,8239 +8327,8298 @@
 8287   8259   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 8288   8260   
        let fut = async move {
 8289   8261   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 8290   8262   
                request.headers(),
 8291   8263   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPQUERYDEFAULT,
 8292   8264   
            ) {
 8293   8265   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 8294   8266   
            }
 8295   8267   
            crate::protocol_serde::shape_malformed_timestamp_query_default::de_malformed_timestamp_query_default_http_request(request)
 8296   8268   
                            .await
 8297         -
                            .map_err(Into::into)
 8298   8269   
        };
 8299   8270   
        use ::futures_util::future::TryFutureExt;
 8300   8271   
        let fut = fut.map_err(
 8301   8272   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 8302   8273   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 8303   8274   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 8304   8275   
                    e,
 8305   8276   
                )
 8306   8277   
            },
 8307   8278   
        );
@@ -9269,9240 +9329,9299 @@
 9289   9260   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9290   9261   
        let fut = async move {
 9291   9262   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9292   9263   
                request.headers(),
 9293   9264   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHEPOCH,
 9294   9265   
            ) {
 9295   9266   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9296   9267   
            }
 9297   9268   
            crate::protocol_serde::shape_malformed_timestamp_path_epoch::de_malformed_timestamp_path_epoch_http_request(request)
 9298   9269   
                            .await
 9299         -
                            .map_err(Into::into)
 9300   9270   
        };
 9301   9271   
        use ::futures_util::future::TryFutureExt;
 9302   9272   
        let fut = fut.map_err(
 9303   9273   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9304   9274   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9305   9275   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9306   9276   
                    e,
 9307   9277   
                )
 9308   9278   
            },
 9309   9279   
        );
@@ -9858,9828 +9918,9887 @@
 9878   9848   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 9879   9849   
        let fut = async move {
 9880   9850   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 9881   9851   
                request.headers(),
 9882   9852   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHHTTPDATE,
 9883   9853   
            ) {
 9884   9854   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 9885   9855   
            }
 9886   9856   
            crate::protocol_serde::shape_malformed_timestamp_path_http_date::de_malformed_timestamp_path_http_date_http_request(request)
 9887   9857   
                            .await
 9888         -
                            .map_err(Into::into)
 9889   9858   
        };
 9890   9859   
        use ::futures_util::future::TryFutureExt;
 9891   9860   
        let fut = fut.map_err(
 9892   9861   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 9893   9862   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 9894   9863   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 9895   9864   
                    e,
 9896   9865   
                )
 9897   9866   
            },
 9898   9867   
        );
@@ -10168,10137 +10228,10196 @@
10188  10157   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
10189  10158   
        let fut = async move {
10190  10159   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
10191  10160   
                request.headers(),
10192  10161   
                &CONTENT_TYPE_MALFORMEDTIMESTAMPPATHDEFAULT,
10193  10162   
            ) {
10194  10163   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
10195  10164   
            }
10196  10165   
            crate::protocol_serde::shape_malformed_timestamp_path_default::de_malformed_timestamp_path_default_http_request(request)
10197  10166   
                            .await
10198         -
                            .map_err(Into::into)
10199  10167   
        };
10200  10168   
        use ::futures_util::future::TryFutureExt;
10201  10169   
        let fut = fut.map_err(
10202  10170   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
10203  10171   
                ::tracing::debug!(error = %e, "failed to deserialize request");
10204  10172   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
10205  10173   
                    e,
10206  10174   
                )
10207  10175   
            },
10208  10176   
        );
@@ -11106,11074 +11166,11133 @@
11126  11094   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
11127  11095   
        let fut = async move {
11128  11096   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
11129  11097   
                request.headers(),
11130  11098   
                &CONTENT_TYPE_MALFORMEDSTRING,
11131  11099   
            ) {
11132  11100   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
11133  11101   
            }
11134  11102   
            crate::protocol_serde::shape_malformed_string::de_malformed_string_http_request(request)
11135  11103   
                .await
11136         -
                .map_err(Into::into)
11137  11104   
        };
11138  11105   
        use ::futures_util::future::TryFutureExt;
11139  11106   
        let fut = fut.map_err(
11140  11107   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
11141  11108   
                ::tracing::debug!(error = %e, "failed to deserialize request");
11142  11109   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
11143  11110   
                    e,
11144  11111   
                )
11145  11112   
            },
11146  11113   
        );
@@ -11371,11338 +11431,11397 @@
11391  11358   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
11392  11359   
        let fut = async move {
11393  11360   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
11394  11361   
                request.headers(),
11395  11362   
                &CONTENT_TYPE_MALFORMEDDOUBLE,
11396  11363   
            ) {
11397  11364   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
11398  11365   
            }
11399  11366   
            crate::protocol_serde::shape_malformed_double::de_malformed_double_http_request(request)
11400  11367   
                .await
11401         -
                .map_err(Into::into)
11402  11368   
        };
11403  11369   
        use ::futures_util::future::TryFutureExt;
11404  11370   
        let fut = fut.map_err(
11405  11371   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
11406  11372   
                ::tracing::debug!(error = %e, "failed to deserialize request");
11407  11373   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
11408  11374   
                    e,
11409  11375   
                )
11410  11376   
            },
11411  11377   
        );
@@ -12169,12135 +12229,12194 @@
12189  12155   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
12190  12156   
        let fut = async move {
12191  12157   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
12192  12158   
                request.headers(),
12193  12159   
                &CONTENT_TYPE_MALFORMEDFLOAT,
12194  12160   
            ) {
12195  12161   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
12196  12162   
            }
12197  12163   
            crate::protocol_serde::shape_malformed_float::de_malformed_float_http_request(request)
12198  12164   
                .await
12199         -
                .map_err(Into::into)
12200  12165   
        };
12201  12166   
        use ::futures_util::future::TryFutureExt;
12202  12167   
        let fut = fut.map_err(
12203  12168   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
12204  12169   
                ::tracing::debug!(error = %e, "failed to deserialize request");
12205  12170   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
12206  12171   
                    e,
12207  12172   
                )
12208  12173   
            },
12209  12174   
        );
@@ -12965,12930 +13025,12989 @@
12985  12950   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
12986  12951   
        let fut = async move {
12987  12952   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
12988  12953   
                request.headers(),
12989  12954   
                &CONTENT_TYPE_MALFORMEDLONG,
12990  12955   
            ) {
12991  12956   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
12992  12957   
            }
12993  12958   
            crate::protocol_serde::shape_malformed_long::de_malformed_long_http_request(request)
12994  12959   
                .await
12995         -
                .map_err(Into::into)
12996  12960   
        };
12997  12961   
        use ::futures_util::future::TryFutureExt;
12998  12962   
        let fut = fut.map_err(
12999  12963   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
13000  12964   
                ::tracing::debug!(error = %e, "failed to deserialize request");
13001  12965   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
13002  12966   
                    e,
13003  12967   
                )
13004  12968   
            },
13005  12969   
        );
@@ -14942,14906 +15002,14965 @@
14962  14926   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
14963  14927   
        let fut = async move {
14964  14928   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
14965  14929   
                request.headers(),
14966  14930   
                &CONTENT_TYPE_MALFORMEDSHORT,
14967  14931   
            ) {
14968  14932   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
14969  14933   
            }
14970  14934   
            crate::protocol_serde::shape_malformed_short::de_malformed_short_http_request(request)
14971  14935   
                .await
14972         -
                .map_err(Into::into)
14973  14936   
        };
14974  14937   
        use ::futures_util::future::TryFutureExt;
14975  14938   
        let fut = fut.map_err(
14976  14939   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
14977  14940   
                ::tracing::debug!(error = %e, "failed to deserialize request");
14978  14941   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
14979  14942   
                    e,
14980  14943   
                )
14981  14944   
            },
14982  14945   
        );
@@ -17256,17219 +17316,17278 @@
17276  17239   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
17277  17240   
        let fut = async move {
17278  17241   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
17279  17242   
                request.headers(),
17280  17243   
                &CONTENT_TYPE_MALFORMEDBYTE,
17281  17244   
            ) {
17282  17245   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
17283  17246   
            }
17284  17247   
            crate::protocol_serde::shape_malformed_byte::de_malformed_byte_http_request(request)
17285  17248   
                .await
17286         -
                .map_err(Into::into)
17287  17249   
        };
17288  17250   
        use ::futures_util::future::TryFutureExt;
17289  17251   
        let fut = fut.map_err(
17290  17252   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
17291  17253   
                ::tracing::debug!(error = %e, "failed to deserialize request");
17292  17254   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
17293  17255   
                    e,
17294  17256   
                )
17295  17257   
            },
17296  17258   
        );
@@ -19569,19531 +19629,19590 @@
19589  19551   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
19590  19552   
        let fut = async move {
19591  19553   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
19592  19554   
                request.headers(),
19593  19555   
                &CONTENT_TYPE_MALFORMEDBLOB,
19594  19556   
            ) {
19595  19557   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
19596  19558   
            }
19597  19559   
            crate::protocol_serde::shape_malformed_blob::de_malformed_blob_http_request(request)
19598  19560   
                .await
19599         -
                .map_err(Into::into)
19600  19561   
        };
19601  19562   
        use ::futures_util::future::TryFutureExt;
19602  19563   
        let fut = fut.map_err(
19603  19564   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
19604  19565   
                ::tracing::debug!(error = %e, "failed to deserialize request");
19605  19566   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
19606  19567   
                    e,
19607  19568   
                )
19608  19569   
            },
19609  19570   
        );
@@ -20077,20038 +20139,20098 @@
20097  20058   
    type Future = MalformedMapInputFuture;
20098  20059   
20099  20060   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
20100  20061   
        let fut = async move {
20101  20062   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
20102  20063   
                request.headers(),
20103  20064   
                &CONTENT_TYPE_MALFORMEDMAP,
20104  20065   
            ) {
20105  20066   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
20106  20067   
            }
20107         -
            crate::protocol_serde::shape_malformed_map::de_malformed_map_http_request(request)
20108         -
                .await
20109         -
                .map_err(Into::into)
       20068  +
            crate::protocol_serde::shape_malformed_map::de_malformed_map_http_request(request).await
20110  20069   
        };
20111  20070   
        use ::futures_util::future::TryFutureExt;
20112  20071   
        let fut = fut.map_err(
20113  20072   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
20114  20073   
                ::tracing::debug!(error = %e, "failed to deserialize request");
20115  20074   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
20116  20075   
                    e,
20117  20076   
                )
20118  20077   
            },
20119  20078   
        );
@@ -20260,20219 +20320,20278 @@
20280  20239   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
20281  20240   
        let fut = async move {
20282  20241   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
20283  20242   
                request.headers(),
20284  20243   
                &CONTENT_TYPE_MALFORMEDLIST,
20285  20244   
            ) {
20286  20245   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
20287  20246   
            }
20288  20247   
            crate::protocol_serde::shape_malformed_list::de_malformed_list_http_request(request)
20289  20248   
                .await
20290         -
                .map_err(Into::into)
20291  20249   
        };
20292  20250   
        use ::futures_util::future::TryFutureExt;
20293  20251   
        let fut = fut.map_err(
20294  20252   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
20295  20253   
                ::tracing::debug!(error = %e, "failed to deserialize request");
20296  20254   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
20297  20255   
                    e,
20298  20256   
                )
20299  20257   
            },
20300  20258   
        );
@@ -20443,20401 +20503,20460 @@
20463  20421   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
20464  20422   
                request.headers(),
20465  20423   
                &CONTENT_TYPE_MALFORMEDBOOLEAN,
20466  20424   
            ) {
20467  20425   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
20468  20426   
            }
20469  20427   
            crate::protocol_serde::shape_malformed_boolean::de_malformed_boolean_http_request(
20470  20428   
                request,
20471  20429   
            )
20472  20430   
            .await
20473         -
            .map_err(Into::into)
20474  20431   
        };
20475  20432   
        use ::futures_util::future::TryFutureExt;
20476  20433   
        let fut = fut.map_err(
20477  20434   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
20478  20435   
                ::tracing::debug!(error = %e, "failed to deserialize request");
20479  20436   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
20480  20437   
                    e,
20481  20438   
                )
20482  20439   
            },
20483  20440   
        );
@@ -25362,25319 +25422,25378 @@
25382  25339   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
25383  25340   
        let fut = async move {
25384  25341   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
25385  25342   
                request.headers(),
25386  25343   
                &CONTENT_TYPE_MALFORMEDUNION,
25387  25344   
            ) {
25388  25345   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
25389  25346   
            }
25390  25347   
            crate::protocol_serde::shape_malformed_union::de_malformed_union_http_request(request)
25391  25348   
                .await
25392         -
                .map_err(Into::into)
25393  25349   
        };
25394  25350   
        use ::futures_util::future::TryFutureExt;
25395  25351   
        let fut = fut.map_err(
25396  25352   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
25397  25353   
                ::tracing::debug!(error = %e, "failed to deserialize request");
25398  25354   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
25399  25355   
                    e,
25400  25356   
                )
25401  25357   
            },
25402  25358   
        );
@@ -25734,25690 +25794,25749 @@
25754  25710   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
25755  25711   
                request.headers(),
25756  25712   
                &CONTENT_TYPE_MALFORMEDINTEGER,
25757  25713   
            ) {
25758  25714   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
25759  25715   
            }
25760  25716   
            crate::protocol_serde::shape_malformed_integer::de_malformed_integer_http_request(
25761  25717   
                request,
25762  25718   
            )
25763  25719   
            .await
25764         -
            .map_err(Into::into)
25765  25720   
        };
25766  25721   
        use ::futures_util::future::TryFutureExt;
25767  25722   
        let fut = fut.map_err(
25768  25723   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
25769  25724   
                ::tracing::debug!(error = %e, "failed to deserialize request");
25770  25725   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
25771  25726   
                    e,
25772  25727   
                )
25773  25728   
            },
25774  25729   
        );
@@ -27719,27674 +27779,27733 @@
27739  27694   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
27740  27695   
        let fut = async move {
27741  27696   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
27742  27697   
                request.headers(),
27743  27698   
                &CONTENT_TYPE_MALFORMEDREQUESTBODY,
27744  27699   
            ) {
27745  27700   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
27746  27701   
            }
27747  27702   
            crate::protocol_serde::shape_malformed_request_body::de_malformed_request_body_http_request(request)
27748  27703   
                            .await
27749         -
                            .map_err(Into::into)
27750  27704   
        };
27751  27705   
        use ::futures_util::future::TryFutureExt;
27752  27706   
        let fut = fut.map_err(
27753  27707   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
27754  27708   
                ::tracing::debug!(error = %e, "failed to deserialize request");
27755  27709   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
27756  27710   
                    e,
27757  27711   
                )
27758  27712   
            },
27759  27713   
        );
@@ -28323,28277 +28383,28336 @@
28343  28297   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
28344  28298   
        let fut = async move {
28345  28299   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
28346  28300   
                request.headers(),
28347  28301   
                &CONTENT_TYPE_HTTPCHECKSUMREQUIRED,
28348  28302   
            ) {
28349  28303   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
28350  28304   
            }
28351  28305   
            crate::protocol_serde::shape_http_checksum_required::de_http_checksum_required_http_request(request)
28352  28306   
                            .await
28353         -
                            .map_err(Into::into)
28354  28307   
        };
28355  28308   
        use ::futures_util::future::TryFutureExt;
28356  28309   
        let fut = fut.map_err(
28357  28310   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
28358  28311   
                ::tracing::debug!(error = %e, "failed to deserialize request");
28359  28312   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
28360  28313   
                    e,
28361  28314   
                )
28362  28315   
            },
28363  28316   
        );
@@ -28461,28414 +28521,28473 @@
28481  28434   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
28482  28435   
        let fut = async move {
28483  28436   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
28484  28437   
                request.headers(),
28485  28438   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
28486  28439   
            ) {
28487  28440   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
28488  28441   
            }
28489  28442   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
28490  28443   
                            .await
28491         -
                            .map_err(Into::into)
28492  28444   
        };
28493  28445   
        use ::futures_util::future::TryFutureExt;
28494  28446   
        let fut = fut.map_err(
28495  28447   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
28496  28448   
                ::tracing::debug!(error = %e, "failed to deserialize request");
28497  28449   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
28498  28450   
                    e,
28499  28451   
                )
28500  28452   
            },
28501  28453   
        );
@@ -28543,28495 +28603,28554 @@
28563  28515   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
28564  28516   
        let fut = async move {
28565  28517   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
28566  28518   
                request.headers(),
28567  28519   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
28568  28520   
            ) {
28569  28521   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
28570  28522   
            }
28571  28523   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
28572  28524   
                            .await
28573         -
                            .map_err(Into::into)
28574  28525   
        };
28575  28526   
        use ::futures_util::future::TryFutureExt;
28576  28527   
        let fut = fut.map_err(
28577  28528   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
28578  28529   
                ::tracing::debug!(error = %e, "failed to deserialize request");
28579  28530   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
28580  28531   
                    e,
28581  28532   
                )
28582  28533   
            },
28583  28534   
        );
@@ -28701,28652 +28761,28711 @@
28721  28672   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
28722  28673   
                request.headers(),
28723  28674   
                &CONTENT_TYPE_ENDPOINTOPERATION,
28724  28675   
            ) {
28725  28676   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
28726  28677   
            }
28727  28678   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
28728  28679   
                request,
28729  28680   
            )
28730  28681   
            .await
28731         -
            .map_err(Into::into)
28732  28682   
        };
28733  28683   
        use ::futures_util::future::TryFutureExt;
28734  28684   
        let fut = fut.map_err(
28735  28685   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
28736  28686   
                ::tracing::debug!(error = %e, "failed to deserialize request");
28737  28687   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
28738  28688   
                    e,
28739  28689   
                )
28740  28690   
            },
28741  28691   
        );
@@ -28836,28786 +28896,28845 @@
28856  28806   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
28857  28807   
        let fut = async move {
28858  28808   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
28859  28809   
                request.headers(),
28860  28810   
                &CONTENT_TYPE_POSTUNIONWITHJSONNAME,
28861  28811   
            ) {
28862  28812   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
28863  28813   
            }
28864  28814   
            crate::protocol_serde::shape_post_union_with_json_name::de_post_union_with_json_name_http_request(request)
28865  28815   
                            .await
28866         -
                            .map_err(Into::into)
28867  28816   
        };
28868  28817   
        use ::futures_util::future::TryFutureExt;
28869  28818   
        let fut = fut.map_err(
28870  28819   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
28871  28820   
                ::tracing::debug!(error = %e, "failed to deserialize request");
28872  28821   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
28873  28822   
                    e,
28874  28823   
                )
28875  28824   
            },
28876  28825   
        );
@@ -29162,29111 +29222,29170 @@
29182  29131   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
29183  29132   
                request.headers(),
29184  29133   
                &CONTENT_TYPE_POSTPLAYERACTION,
29185  29134   
            ) {
29186  29135   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
29187  29136   
            }
29188  29137   
            crate::protocol_serde::shape_post_player_action::de_post_player_action_http_request(
29189  29138   
                request,
29190  29139   
            )
29191  29140   
            .await
29192         -
            .map_err(Into::into)
29193  29141   
        };
29194  29142   
        use ::futures_util::future::TryFutureExt;
29195  29143   
        let fut = fut.map_err(
29196  29144   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
29197  29145   
                ::tracing::debug!(error = %e, "failed to deserialize request");
29198  29146   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
29199  29147   
                    e,
29200  29148   
                )
29201  29149   
            },
29202  29150   
        );
@@ -29326,29274 +29388,29334 @@
29346  29294   
    type Future = JsonUnionsInputFuture;
29347  29295   
29348  29296   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
29349  29297   
        let fut = async move {
29350  29298   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
29351  29299   
                request.headers(),
29352  29300   
                &CONTENT_TYPE_JSONUNIONS,
29353  29301   
            ) {
29354  29302   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
29355  29303   
            }
29356         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
29357         -
                .await
29358         -
                .map_err(Into::into)
       29304  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
29359  29305   
        };
29360  29306   
        use ::futures_util::future::TryFutureExt;
29361  29307   
        let fut = fut.map_err(
29362  29308   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
29363  29309   
                ::tracing::debug!(error = %e, "failed to deserialize request");
29364  29310   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
29365  29311   
                    e,
29366  29312   
                )
29367  29313   
            },
29368  29314   
        );
@@ -30238,30184 +30298,30243 @@
30258  30204   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
30259  30205   
        let fut = async move {
30260  30206   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
30261  30207   
                request.headers(),
30262  30208   
                &CONTENT_TYPE_DOCUMENTTYPEASMAPVALUE,
30263  30209   
            ) {
30264  30210   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
30265  30211   
            }
30266  30212   
            crate::protocol_serde::shape_document_type_as_map_value::de_document_type_as_map_value_http_request(request)
30267  30213   
                            .await
30268         -
                            .map_err(Into::into)
30269  30214   
        };
30270  30215   
        use ::futures_util::future::TryFutureExt;
30271  30216   
        let fut = fut.map_err(
30272  30217   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
30273  30218   
                ::tracing::debug!(error = %e, "failed to deserialize request");
30274  30219   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
30275  30220   
                    e,
30276  30221   
                )
30277  30222   
            },
30278  30223   
        );
@@ -30469,30414 +30529,30473 @@
30489  30434   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
30490  30435   
        let fut = async move {
30491  30436   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
30492  30437   
                request.headers(),
30493  30438   
                &CONTENT_TYPE_DOCUMENTTYPEASPAYLOAD,
30494  30439   
            ) {
30495  30440   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
30496  30441   
            }
30497  30442   
            crate::protocol_serde::shape_document_type_as_payload::de_document_type_as_payload_http_request(request)
30498  30443   
                            .await
30499         -
                            .map_err(Into::into)
30500  30444   
        };
30501  30445   
        use ::futures_util::future::TryFutureExt;
30502  30446   
        let fut = fut.map_err(
30503  30447   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
30504  30448   
                ::tracing::debug!(error = %e, "failed to deserialize request");
30505  30449   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
30506  30450   
                    e,
30507  30451   
                )
30508  30452   
            },
30509  30453   
        );
@@ -30752,30696 +30814,30756 @@
30772  30716   
    type Future = DocumentTypeInputFuture;
30773  30717   
30774  30718   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
30775  30719   
        let fut = async move {
30776  30720   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
30777  30721   
                request.headers(),
30778  30722   
                &CONTENT_TYPE_DOCUMENTTYPE,
30779  30723   
            ) {
30780  30724   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
30781  30725   
            }
30782         -
            crate::protocol_serde::shape_document_type::de_document_type_http_request(request)
30783         -
                .await
30784         -
                .map_err(Into::into)
       30726  +
            crate::protocol_serde::shape_document_type::de_document_type_http_request(request).await
30785  30727   
        };
30786  30728   
        use ::futures_util::future::TryFutureExt;
30787  30729   
        let fut = fut.map_err(
30788  30730   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
30789  30731   
                ::tracing::debug!(error = %e, "failed to deserialize request");
30790  30732   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
30791  30733   
                    e,
30792  30734   
                )
30793  30735   
            },
30794  30736   
        );
@@ -31355,31297 +31417,31357 @@
31375  31317   
    type Future = JsonBlobsInputFuture;
31376  31318   
31377  31319   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
31378  31320   
        let fut = async move {
31379  31321   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
31380  31322   
                request.headers(),
31381  31323   
                &CONTENT_TYPE_JSONBLOBS,
31382  31324   
            ) {
31383  31325   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
31384  31326   
            }
31385         -
            crate::protocol_serde::shape_json_blobs::de_json_blobs_http_request(request)
31386         -
                .await
31387         -
                .map_err(Into::into)
       31327  +
            crate::protocol_serde::shape_json_blobs::de_json_blobs_http_request(request).await
31388  31328   
        };
31389  31329   
        use ::futures_util::future::TryFutureExt;
31390  31330   
        let fut = fut.map_err(
31391  31331   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
31392  31332   
                ::tracing::debug!(error = %e, "failed to deserialize request");
31393  31333   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
31394  31334   
                    e,
31395  31335   
                )
31396  31336   
            },
31397  31337   
        );
@@ -31523,31463 +31583,31522 @@
31543  31483   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
31544  31484   
        let fut = async move {
31545  31485   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
31546  31486   
                request.headers(),
31547  31487   
                &CONTENT_TYPE_SPARSEJSONMAPS,
31548  31488   
            ) {
31549  31489   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
31550  31490   
            }
31551  31491   
            crate::protocol_serde::shape_sparse_json_maps::de_sparse_json_maps_http_request(request)
31552  31492   
                .await
31553         -
                .map_err(Into::into)
31554  31493   
        };
31555  31494   
        use ::futures_util::future::TryFutureExt;
31556  31495   
        let fut = fut.map_err(
31557  31496   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
31558  31497   
                ::tracing::debug!(error = %e, "failed to deserialize request");
31559  31498   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
31560  31499   
                    e,
31561  31500   
                )
31562  31501   
            },
31563  31502   
        );
@@ -32204,32143 +32266,32203 @@
32224  32163   
    type Future = JsonMapsInputFuture;
32225  32164   
32226  32165   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
32227  32166   
        let fut = async move {
32228  32167   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
32229  32168   
                request.headers(),
32230  32169   
                &CONTENT_TYPE_JSONMAPS,
32231  32170   
            ) {
32232  32171   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
32233  32172   
            }
32234         -
            crate::protocol_serde::shape_json_maps::de_json_maps_http_request(request)
32235         -
                .await
32236         -
                .map_err(Into::into)
       32173  +
            crate::protocol_serde::shape_json_maps::de_json_maps_http_request(request).await
32237  32174   
        };
32238  32175   
        use ::futures_util::future::TryFutureExt;
32239  32176   
        let fut = fut.map_err(
32240  32177   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
32241  32178   
                ::tracing::debug!(error = %e, "failed to deserialize request");
32242  32179   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
32243  32180   
                    e,
32244  32181   
                )
32245  32182   
            },
32246  32183   
        );
@@ -32642,32579 +32702,32638 @@
32662  32599   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
32663  32600   
                request.headers(),
32664  32601   
                &CONTENT_TYPE_SPARSEJSONLISTS,
32665  32602   
            ) {
32666  32603   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
32667  32604   
            }
32668  32605   
            crate::protocol_serde::shape_sparse_json_lists::de_sparse_json_lists_http_request(
32669  32606   
                request,
32670  32607   
            )
32671  32608   
            .await
32672         -
            .map_err(Into::into)
32673  32609   
        };
32674  32610   
        use ::futures_util::future::TryFutureExt;
32675  32611   
        let fut = fut.map_err(
32676  32612   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
32677  32613   
                ::tracing::debug!(error = %e, "failed to deserialize request");
32678  32614   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
32679  32615   
                    e,
32680  32616   
                )
32681  32617   
            },
32682  32618   
        );
@@ -32817,32753 +32879,32813 @@
32837  32773   
    type Future = JsonListsInputFuture;
32838  32774   
32839  32775   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
32840  32776   
        let fut = async move {
32841  32777   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
32842  32778   
                request.headers(),
32843  32779   
                &CONTENT_TYPE_JSONLISTS,
32844  32780   
            ) {
32845  32781   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
32846  32782   
            }
32847         -
            crate::protocol_serde::shape_json_lists::de_json_lists_http_request(request)
32848         -
                .await
32849         -
                .map_err(Into::into)
       32783  +
            crate::protocol_serde::shape_json_lists::de_json_lists_http_request(request).await
32850  32784   
        };
32851  32785   
        use ::futures_util::future::TryFutureExt;
32852  32786   
        let fut = fut.map_err(
32853  32787   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
32854  32788   
                ::tracing::debug!(error = %e, "failed to deserialize request");
32855  32789   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
32856  32790   
                    e,
32857  32791   
                )
32858  32792   
            },
32859  32793   
        );
@@ -33181,33115 +33241,33174 @@
33201  33135   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
33202  33136   
        let fut = async move {
33203  33137   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
33204  33138   
                request.headers(),
33205  33139   
                &CONTENT_TYPE_RECURSIVESHAPES,
33206  33140   
            ) {
33207  33141   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
33208  33142   
            }
33209  33143   
            crate::protocol_serde::shape_recursive_shapes::de_recursive_shapes_http_request(request)
33210  33144   
                .await
33211         -
                .map_err(Into::into)
33212  33145   
        };
33213  33146   
        use ::futures_util::future::TryFutureExt;
33214  33147   
        let fut = fut.map_err(
33215  33148   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
33216  33149   
                ::tracing::debug!(error = %e, "failed to deserialize request");
33217  33150   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
33218  33151   
                    e,
33219  33152   
                )
33220  33153   
            },
33221  33154   
        );
@@ -33415,33348 +33475,33407 @@
33435  33368   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
33436  33369   
        let fut = async move {
33437  33370   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
33438  33371   
                request.headers(),
33439  33372   
                &CONTENT_TYPE_JSONINTENUMS,
33440  33373   
            ) {
33441  33374   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
33442  33375   
            }
33443  33376   
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
33444  33377   
                .await
33445         -
                .map_err(Into::into)
33446  33378   
        };
33447  33379   
        use ::futures_util::future::TryFutureExt;
33448  33380   
        let fut = fut.map_err(
33449  33381   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
33450  33382   
                ::tracing::debug!(error = %e, "failed to deserialize request");
33451  33383   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
33452  33384   
                    e,
33453  33385   
                )
33454  33386   
            },
33455  33387   
        );
@@ -33622,33554 +33684,33614 @@
33642  33574   
    type Future = JsonEnumsInputFuture;
33643  33575   
33644  33576   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
33645  33577   
        let fut = async move {
33646  33578   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
33647  33579   
                request.headers(),
33648  33580   
                &CONTENT_TYPE_JSONENUMS,
33649  33581   
            ) {
33650  33582   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
33651  33583   
            }
33652         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request)
33653         -
                .await
33654         -
                .map_err(Into::into)
       33584  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
33655  33585   
        };
33656  33586   
        use ::futures_util::future::TryFutureExt;
33657  33587   
        let fut = fut.map_err(
33658  33588   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
33659  33589   
                ::tracing::debug!(error = %e, "failed to deserialize request");
33660  33590   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
33661  33591   
                    e,
33662  33592   
                )
33663  33593   
            },
33664  33594   
        );
@@ -33899,33829 +33959,33888 @@
33919  33849   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
33920  33850   
        let fut = async move {
33921  33851   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
33922  33852   
                request.headers(),
33923  33853   
                &CONTENT_TYPE_JSONTIMESTAMPS,
33924  33854   
            ) {
33925  33855   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
33926  33856   
            }
33927  33857   
            crate::protocol_serde::shape_json_timestamps::de_json_timestamps_http_request(request)
33928  33858   
                .await
33929         -
                .map_err(Into::into)
33930  33859   
        };
33931  33860   
        use ::futures_util::future::TryFutureExt;
33932  33861   
        let fut = fut.map_err(
33933  33862   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
33934  33863   
                ::tracing::debug!(error = %e, "failed to deserialize request");
33935  33864   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
33936  33865   
                    e,
33937  33866   
                )
33938  33867   
            },
33939  33868   
        );
@@ -34694,34623 +34754,34682 @@
34714  34643   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
34715  34644   
        let fut = async move {
34716  34645   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
34717  34646   
                request.headers(),
34718  34647   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
34719  34648   
            ) {
34720  34649   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
34721  34650   
            }
34722  34651   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
34723  34652   
                            .await
34724         -
                            .map_err(Into::into)
34725  34653   
        };
34726  34654   
        use ::futures_util::future::TryFutureExt;
34727  34655   
        let fut = fut.map_err(
34728  34656   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
34729  34657   
                ::tracing::debug!(error = %e, "failed to deserialize request");
34730  34658   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
34731  34659   
                    e,
34732  34660   
                )
34733  34661   
            },
34734  34662   
        );
@@ -35595,35523 +35655,35582 @@
35615  35543   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
35616  35544   
                request.headers(),
35617  35545   
                &CONTENT_TYPE_GREETINGWITHERRORS,
35618  35546   
            ) {
35619  35547   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
35620  35548   
            }
35621  35549   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
35622  35550   
                request,
35623  35551   
            )
35624  35552   
            .await
35625         -
            .map_err(Into::into)
35626  35553   
        };
35627  35554   
        use ::futures_util::future::TryFutureExt;
35628  35555   
        let fut = fut.map_err(
35629  35556   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
35630  35557   
                ::tracing::debug!(error = %e, "failed to deserialize request");
35631  35558   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
35632  35559   
                    e,
35633  35560   
                )
35634  35561   
            },
35635  35562   
        );
@@ -35845,35772 +35905,35831 @@
35865  35792   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
35866  35793   
        let fut = async move {
35867  35794   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
35868  35795   
                request.headers(),
35869  35796   
                &CONTENT_TYPE_STREAMINGTRAITSWITHMEDIATYPE,
35870  35797   
            ) {
35871  35798   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
35872  35799   
            }
35873  35800   
            crate::protocol_serde::shape_streaming_traits_with_media_type::de_streaming_traits_with_media_type_http_request(request)
35874  35801   
                            .await
35875         -
                            .map_err(Into::into)
35876  35802   
        };
35877  35803   
        use ::futures_util::future::TryFutureExt;
35878  35804   
        let fut = fut.map_err(
35879  35805   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
35880  35806   
                ::tracing::debug!(error = %e, "failed to deserialize request");
35881  35807   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
35882  35808   
                    e,
35883  35809   
                )
35884  35810   
            },
35885  35811   
        );
@@ -36026,35952 +36086,36011 @@
36046  35972   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
36047  35973   
        let fut = async move {
36048  35974   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
36049  35975   
                request.headers(),
36050  35976   
                &CONTENT_TYPE_STREAMINGTRAITSREQUIRELENGTH,
36051  35977   
            ) {
36052  35978   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
36053  35979   
            }
36054  35980   
            crate::protocol_serde::shape_streaming_traits_require_length::de_streaming_traits_require_length_http_request(request)
36055  35981   
                            .await
36056         -
                            .map_err(Into::into)
36057  35982   
        };
36058  35983   
        use ::futures_util::future::TryFutureExt;
36059  35984   
        let fut = fut.map_err(
36060  35985   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
36061  35986   
                ::tracing::debug!(error = %e, "failed to deserialize request");
36062  35987   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
36063  35988   
                    e,
36064  35989   
                )
36065  35990   
            },
36066  35991   
        );
@@ -36231,36156 +36291,36215 @@
36251  36176   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
36252  36177   
        let fut = async move {
36253  36178   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
36254  36179   
                request.headers(),
36255  36180   
                &CONTENT_TYPE_STREAMINGTRAITS,
36256  36181   
            ) {
36257  36182   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
36258  36183   
            }
36259  36184   
            crate::protocol_serde::shape_streaming_traits::de_streaming_traits_http_request(request)
36260  36185   
                .await
36261         -
                .map_err(Into::into)
36262  36186   
        };
36263  36187   
        use ::futures_util::future::TryFutureExt;
36264  36188   
        let fut = fut.map_err(
36265  36189   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
36266  36190   
                ::tracing::debug!(error = %e, "failed to deserialize request");
36267  36191   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
36268  36192   
                    e,
36269  36193   
                )
36270  36194   
            },
36271  36195   
        );
@@ -36501,36425 +36561,36484 @@
36521  36445   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
36522  36446   
                request.headers(),
36523  36447   
                &CONTENT_TYPE_HTTPRESPONSECODE,
36524  36448   
            ) {
36525  36449   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
36526  36450   
            }
36527  36451   
            crate::protocol_serde::shape_http_response_code::de_http_response_code_http_request(
36528  36452   
                request,
36529  36453   
            )
36530  36454   
            .await
36531         -
            .map_err(Into::into)
36532  36455   
        };
36533  36456   
        use ::futures_util::future::TryFutureExt;
36534  36457   
        let fut = fut.map_err(
36535  36458   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
36536  36459   
                ::tracing::debug!(error = %e, "failed to deserialize request");
36537  36460   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
36538  36461   
                    e,
36539  36462   
                )
36540  36463   
            },
36541  36464   
        );
@@ -36655,36578 +36715,36637 @@
36675  36598   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
36676  36599   
        let fut = async move {
36677  36600   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
36678  36601   
                request.headers(),
36679  36602   
                &CONTENT_TYPE_HTTPPAYLOADWITHUNION,
36680  36603   
            ) {
36681  36604   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
36682  36605   
            }
36683  36606   
            crate::protocol_serde::shape_http_payload_with_union::de_http_payload_with_union_http_request(request)
36684  36607   
                            .await
36685         -
                            .map_err(Into::into)
36686  36608   
        };
36687  36609   
        use ::futures_util::future::TryFutureExt;
36688  36610   
        let fut = fut.map_err(
36689  36611   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
36690  36612   
                ::tracing::debug!(error = %e, "failed to deserialize request");
36691  36613   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
36692  36614   
                    e,
36693  36615   
                )
36694  36616   
            },
36695  36617   
        );
@@ -36903,36825 +36963,36884 @@
36923  36845   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
36924  36846   
                request.headers(),
36925  36847   
                &CONTENT_TYPE_HTTPSTRINGPAYLOAD,
36926  36848   
            ) {
36927  36849   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
36928  36850   
            }
36929  36851   
            crate::protocol_serde::shape_http_string_payload::de_http_string_payload_http_request(
36930  36852   
                request,
36931  36853   
            )
36932  36854   
            .await
36933         -
            .map_err(Into::into)
36934  36855   
        };
36935  36856   
        use ::futures_util::future::TryFutureExt;
36936  36857   
        let fut = fut.map_err(
36937  36858   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
36938  36859   
                ::tracing::debug!(error = %e, "failed to deserialize request");
36939  36860   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
36940  36861   
                    e,
36941  36862   
                )
36942  36863   
            },
36943  36864   
        );
@@ -37209,37130 +37269,37189 @@
37229  37150   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
37230  37151   
                request.headers(),
37231  37152   
                &CONTENT_TYPE_HTTPENUMPAYLOAD,
37232  37153   
            ) {
37233  37154   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
37234  37155   
            }
37235  37156   
            crate::protocol_serde::shape_http_enum_payload::de_http_enum_payload_http_request(
37236  37157   
                request,
37237  37158   
            )
37238  37159   
            .await
37239         -
            .map_err(Into::into)
37240  37160   
        };
37241  37161   
        use ::futures_util::future::TryFutureExt;
37242  37162   
        let fut = fut.map_err(
37243  37163   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
37244  37164   
                ::tracing::debug!(error = %e, "failed to deserialize request");
37245  37165   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
37246  37166   
                    e,
37247  37167   
                )
37248  37168   
            },
37249  37169   
        );
@@ -37402,37322 +37462,37381 @@
37422  37342   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
37423  37343   
        let fut = async move {
37424  37344   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
37425  37345   
                request.headers(),
37426  37346   
                &CONTENT_TYPE_HTTPPAYLOADWITHSTRUCTURE,
37427  37347   
            ) {
37428  37348   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
37429  37349   
            }
37430  37350   
            crate::protocol_serde::shape_http_payload_with_structure::de_http_payload_with_structure_http_request(request)
37431  37351   
                            .await
37432         -
                            .map_err(Into::into)
37433  37352   
        };
37434  37353   
        use ::futures_util::future::TryFutureExt;
37435  37354   
        let fut = fut.map_err(
37436  37355   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
37437  37356   
                ::tracing::debug!(error = %e, "failed to deserialize request");
37438  37357   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
37439  37358   
                    e,
37440  37359   
                )
37441  37360   
            },
37442  37361   
        );
@@ -37582,37501 +37642,37560 @@
37602  37521   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
37603  37522   
        let fut = async move {
37604  37523   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
37605  37524   
                request.headers(),
37606  37525   
                &CONTENT_TYPE_HTTPPAYLOADTRAITSWITHMEDIATYPE,
37607  37526   
            ) {
37608  37527   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
37609  37528   
            }
37610  37529   
            crate::protocol_serde::shape_http_payload_traits_with_media_type::de_http_payload_traits_with_media_type_http_request(request)
37611  37530   
                            .await
37612         -
                            .map_err(Into::into)
37613  37531   
        };
37614  37532   
        use ::futures_util::future::TryFutureExt;
37615  37533   
        let fut = fut.map_err(
37616  37534   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
37617  37535   
                ::tracing::debug!(error = %e, "failed to deserialize request");
37618  37536   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
37619  37537   
                    e,
37620  37538   
                )
37621  37539   
            },
37622  37540   
        );
@@ -37749,37667 +37809,37726 @@
37769  37687   
{
37770  37688   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
37771  37689   
    type Future = HttpPayloadTraitsInputFuture;
37772  37690   
37773  37691   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
37774  37692   
        let fut = async move {
37775  37693   
            crate::protocol_serde::shape_http_payload_traits::de_http_payload_traits_http_request(
37776  37694   
                request,
37777  37695   
            )
37778  37696   
            .await
37779         -
            .map_err(Into::into)
37780  37697   
        };
37781  37698   
        use ::futures_util::future::TryFutureExt;
37782  37699   
        let fut = fut.map_err(
37783  37700   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
37784  37701   
                ::tracing::debug!(error = %e, "failed to deserialize request");
37785  37702   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
37786  37703   
                    e,
37787  37704   
                )
37788  37705   
            },
37789  37706   
        );
@@ -38157,38074 +38217,38133 @@
38177  38094   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
38178  38095   
        let fut = async move {
38179  38096   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38180  38097   
                request.headers(),
38181  38098   
                &CONTENT_TYPE_HTTPPREFIXHEADERSINRESPONSE,
38182  38099   
            ) {
38183  38100   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38184  38101   
            }
38185  38102   
            crate::protocol_serde::shape_http_prefix_headers_in_response::de_http_prefix_headers_in_response_http_request(request)
38186  38103   
                            .await
38187         -
                            .map_err(Into::into)
38188  38104   
        };
38189  38105   
        use ::futures_util::future::TryFutureExt;
38190  38106   
        let fut = fut.map_err(
38191  38107   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38192  38108   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38193  38109   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38194  38110   
                    e,
38195  38111   
                )
38196  38112   
            },
38197  38113   
        );
@@ -38272,38188 +38332,38247 @@
38292  38208   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38293  38209   
                request.headers(),
38294  38210   
                &CONTENT_TYPE_HTTPPREFIXHEADERS,
38295  38211   
            ) {
38296  38212   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38297  38213   
            }
38298  38214   
            crate::protocol_serde::shape_http_prefix_headers::de_http_prefix_headers_http_request(
38299  38215   
                request,
38300  38216   
            )
38301  38217   
            .await
38302         -
            .map_err(Into::into)
38303  38218   
        };
38304  38219   
        use ::futures_util::future::TryFutureExt;
38305  38220   
        let fut = fut.map_err(
38306  38221   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38307  38222   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38308  38223   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38309  38224   
                    e,
38310  38225   
                )
38311  38226   
            },
38312  38227   
        );
@@ -38459,38374 +38519,38433 @@
38479  38394   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
38480  38395   
        let fut = async move {
38481  38396   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38482  38397   
                request.headers(),
38483  38398   
                &CONTENT_TYPE_QUERYPARAMSASSTRINGLISTMAP,
38484  38399   
            ) {
38485  38400   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38486  38401   
            }
38487  38402   
            crate::protocol_serde::shape_query_params_as_string_list_map::de_query_params_as_string_list_map_http_request(request)
38488  38403   
                            .await
38489         -
                            .map_err(Into::into)
38490  38404   
        };
38491  38405   
        use ::futures_util::future::TryFutureExt;
38492  38406   
        let fut = fut.map_err(
38493  38407   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38494  38408   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38495  38409   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38496  38410   
                    e,
38497  38411   
                )
38498  38412   
            },
38499  38413   
        );
@@ -38605,38519 +38665,38578 @@
38625  38539   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
38626  38540   
        let fut = async move {
38627  38541   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38628  38542   
                request.headers(),
38629  38543   
                &CONTENT_TYPE_QUERYPRECEDENCE,
38630  38544   
            ) {
38631  38545   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38632  38546   
            }
38633  38547   
            crate::protocol_serde::shape_query_precedence::de_query_precedence_http_request(request)
38634  38548   
                .await
38635         -
                .map_err(Into::into)
38636  38549   
        };
38637  38550   
        use ::futures_util::future::TryFutureExt;
38638  38551   
        let fut = fut.map_err(
38639  38552   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38640  38553   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38641  38554   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38642  38555   
                    e,
38643  38556   
                )
38644  38557   
            },
38645  38558   
        );
@@ -38746,38659 +38806,38718 @@
38766  38679   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
38767  38680   
        let fut = async move {
38768  38681   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38769  38682   
                request.headers(),
38770  38683   
                &CONTENT_TYPE_QUERYIDEMPOTENCYTOKENAUTOFILL,
38771  38684   
            ) {
38772  38685   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38773  38686   
            }
38774  38687   
            crate::protocol_serde::shape_query_idempotency_token_auto_fill::de_query_idempotency_token_auto_fill_http_request(request)
38775  38688   
                            .await
38776         -
                            .map_err(Into::into)
38777  38689   
        };
38778  38690   
        use ::futures_util::future::TryFutureExt;
38779  38691   
        let fut = fut.map_err(
38780  38692   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38781  38693   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38782  38694   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38783  38695   
                    e,
38784  38696   
                )
38785  38697   
            },
38786  38698   
        );
@@ -38828,38740 +38888,38799 @@
38848  38760   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
38849  38761   
        let fut = async move {
38850  38762   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
38851  38763   
                request.headers(),
38852  38764   
                &CONTENT_TYPE_OMITSSERIALIZINGEMPTYLISTS,
38853  38765   
            ) {
38854  38766   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
38855  38767   
            }
38856  38768   
            crate::protocol_serde::shape_omits_serializing_empty_lists::de_omits_serializing_empty_lists_http_request(request)
38857  38769   
                            .await
38858         -
                            .map_err(Into::into)
38859  38770   
        };
38860  38771   
        use ::futures_util::future::TryFutureExt;
38861  38772   
        let fut = fut.map_err(
38862  38773   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
38863  38774   
                ::tracing::debug!(error = %e, "failed to deserialize request");
38864  38775   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
38865  38776   
                    e,
38866  38777   
                )
38867  38778   
            },
38868  38779   
        );
@@ -38987,38898 +39047,38957 @@
39007  38918   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
39008  38919   
        let fut = async move {
39009  38920   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
39010  38921   
                request.headers(),
39011  38922   
                &CONTENT_TYPE_OMITSNULLSERIALIZESEMPTYSTRING,
39012  38923   
            ) {
39013  38924   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
39014  38925   
            }
39015  38926   
            crate::protocol_serde::shape_omits_null_serializes_empty_string::de_omits_null_serializes_empty_string_http_request(request)
39016  38927   
                            .await
39017         -
                            .map_err(Into::into)
39018  38928   
        };
39019  38929   
        use ::futures_util::future::TryFutureExt;
39020  38930   
        let fut = fut.map_err(
39021  38931   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
39022  38932   
                ::tracing::debug!(error = %e, "failed to deserialize request");
39023  38933   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
39024  38934   
                    e,
39025  38935   
                )
39026  38936   
            },
39027  38937   
        );
@@ -39172,39082 +39232,39141 @@
39192  39102   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
39193  39103   
        let fut = async move {
39194  39104   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
39195  39105   
                request.headers(),
39196  39106   
                &CONTENT_TYPE_IGNOREQUERYPARAMSINRESPONSE,
39197  39107   
            ) {
39198  39108   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
39199  39109   
            }
39200  39110   
            crate::protocol_serde::shape_ignore_query_params_in_response::de_ignore_query_params_in_response_http_request(request)
39201  39111   
                            .await
39202         -
                            .map_err(Into::into)
39203  39112   
        };
39204  39113   
        use ::futures_util::future::TryFutureExt;
39205  39114   
        let fut = fut.map_err(
39206  39115   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
39207  39116   
                ::tracing::debug!(error = %e, "failed to deserialize request");
39208  39117   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
39209  39118   
                    e,
39210  39119   
                )
39211  39120   
            },
39212  39121   
        );
@@ -39291,39200 +39351,39259 @@
39311  39220   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
39312  39221   
        let fut = async move {
39313  39222   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
39314  39223   
                request.headers(),
39315  39224   
                &CONTENT_TYPE_CONSTANTANDVARIABLEQUERYSTRING,
39316  39225   
            ) {
39317  39226   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
39318  39227   
            }
39319  39228   
            crate::protocol_serde::shape_constant_and_variable_query_string::de_constant_and_variable_query_string_http_request(request)
39320  39229   
                            .await
39321         -
                            .map_err(Into::into)
39322  39230   
        };
39323  39231   
        use ::futures_util::future::TryFutureExt;
39324  39232   
        let fut = fut.map_err(
39325  39233   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
39326  39234   
                ::tracing::debug!(error = %e, "failed to deserialize request");
39327  39235   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
39328  39236   
                    e,
39329  39237   
                )
39330  39238   
            },
39331  39239   
        );
@@ -39480,39388 +39540,39447 @@
39500  39408   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
39501  39409   
        let fut = async move {
39502  39410   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
39503  39411   
                request.headers(),
39504  39412   
                &CONTENT_TYPE_CONSTANTQUERYSTRING,
39505  39413   
            ) {
39506  39414   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
39507  39415   
            }
39508  39416   
            crate::protocol_serde::shape_constant_query_string::de_constant_query_string_http_request(request)
39509  39417   
                            .await
39510         -
                            .map_err(Into::into)
39511  39418   
        };
39512  39419   
        use ::futures_util::future::TryFutureExt;
39513  39420   
        let fut = fut.map_err(
39514  39421   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
39515  39422   
                ::tracing::debug!(error = %e, "failed to deserialize request");
39516  39423   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
39517  39424   
                    e,
39518  39425   
                )
39519  39426   
            },
39520  39427   
        );
@@ -39631,39538 +39691,39597 @@
39651  39558   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
39652  39559   
        let fut = async move {
39653  39560   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
39654  39561   
                request.headers(),
39655  39562   
                &CONTENT_TYPE_ALLQUERYSTRINGTYPES,
39656  39563   
            ) {
39657  39564   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
39658  39565   
            }
39659  39566   
            crate::protocol_serde::shape_all_query_string_types::de_all_query_string_types_http_request(request)
39660  39567   
                            .await
39661         -
                            .map_err(Into::into)
39662  39568   
        };
39663  39569   
        use ::futures_util::future::TryFutureExt;
39664  39570   
        let fut = fut.map_err(
39665  39571   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
39666  39572   
                ::tracing::debug!(error = %e, "failed to deserialize request");
39667  39573   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
39668  39574   
                    e,
39669  39575   
                )
39670  39576   
            },
39671  39577   
        );
@@ -41034,40940 +41094,40999 @@
41054  40960   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
41055  40961   
        let fut = async move {
41056  40962   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
41057  40963   
                request.headers(),
41058  40964   
                &CONTENT_TYPE_HTTPREQUESTWITHREGEXLITERAL,
41059  40965   
            ) {
41060  40966   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
41061  40967   
            }
41062  40968   
            crate::protocol_serde::shape_http_request_with_regex_literal::de_http_request_with_regex_literal_http_request(request)
41063  40969   
                            .await
41064         -
                            .map_err(Into::into)
41065  40970   
        };
41066  40971   
        use ::futures_util::future::TryFutureExt;
41067  40972   
        let fut = fut.map_err(
41068  40973   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
41069  40974   
                ::tracing::debug!(error = %e, "failed to deserialize request");
41070  40975   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
41071  40976   
                    e,
41072  40977   
                )
41073  40978   
            },
41074  40979   
        );
@@ -41186,41091 +41246,41150 @@
41206  41111   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
41207  41112   
        let fut = async move {
41208  41113   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
41209  41114   
                request.headers(),
41210  41115   
                &CONTENT_TYPE_HTTPREQUESTWITHFLOATLABELS,
41211  41116   
            ) {
41212  41117   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
41213  41118   
            }
41214  41119   
            crate::protocol_serde::shape_http_request_with_float_labels::de_http_request_with_float_labels_http_request(request)
41215  41120   
                            .await
41216         -
                            .map_err(Into::into)
41217  41121   
        };
41218  41122   
        use ::futures_util::future::TryFutureExt;
41219  41123   
        let fut = fut.map_err(
41220  41124   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
41221  41125   
                ::tracing::debug!(error = %e, "failed to deserialize request");
41222  41126   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
41223  41127   
                    e,
41224  41128   
                )
41225  41129   
            },
41226  41130   
        );
@@ -41462,41366 +41522,41425 @@
41482  41386   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
41483  41387   
        let fut = async move {
41484  41388   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
41485  41389   
                request.headers(),
41486  41390   
                &CONTENT_TYPE_HTTPREQUESTWITHGREEDYLABELINPATH,
41487  41391   
            ) {
41488  41392   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
41489  41393   
            }
41490  41394   
            crate::protocol_serde::shape_http_request_with_greedy_label_in_path::de_http_request_with_greedy_label_in_path_http_request(request)
41491  41395   
                            .await
41492         -
                            .map_err(Into::into)
41493  41396   
        };
41494  41397   
        use ::futures_util::future::TryFutureExt;
41495  41398   
        let fut = fut.map_err(
41496  41399   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
41497  41400   
                ::tracing::debug!(error = %e, "failed to deserialize request");
41498  41401   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
41499  41402   
                    e,
41500  41403   
                )
41501  41404   
            },
41502  41405   
        );
@@ -41615,41518 +41675,41577 @@
41635  41538   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
41636  41539   
        let fut = async move {
41637  41540   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
41638  41541   
                request.headers(),
41639  41542   
                &CONTENT_TYPE_HTTPREQUESTWITHLABELSANDTIMESTAMPFORMAT,
41640  41543   
            ) {
41641  41544   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
41642  41545   
            }
41643  41546   
            crate::protocol_serde::shape_http_request_with_labels_and_timestamp_format::de_http_request_with_labels_and_timestamp_format_http_request(request)
41644  41547   
                            .await
41645         -
                            .map_err(Into::into)
41646  41548   
        };
41647  41549   
        use ::futures_util::future::TryFutureExt;
41648  41550   
        let fut = fut.map_err(
41649  41551   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
41650  41552   
                ::tracing::debug!(error = %e, "failed to deserialize request");
41651  41553   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
41652  41554   
                    e,
41653  41555   
                )
41654  41556   
            },
41655  41557   
        );
@@ -41792,41694 +41852,41753 @@
41812  41714   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
41813  41715   
        let fut = async move {
41814  41716   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
41815  41717   
                request.headers(),
41816  41718   
                &CONTENT_TYPE_HTTPREQUESTWITHLABELS,
41817  41719   
            ) {
41818  41720   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
41819  41721   
            }
41820  41722   
            crate::protocol_serde::shape_http_request_with_labels::de_http_request_with_labels_http_request(request)
41821  41723   
                            .await
41822         -
                            .map_err(Into::into)
41823  41724   
        };
41824  41725   
        use ::futures_util::future::TryFutureExt;
41825  41726   
        let fut = fut.map_err(
41826  41727   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
41827  41728   
                ::tracing::debug!(error = %e, "failed to deserialize request");
41828  41729   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
41829  41730   
                    e,
41830  41731   
                )
41831  41732   
            },
41832  41733   
        );
@@ -42089,41990 +42149,42049 @@
42109  42010   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
42110  42011   
                request.headers(),
42111  42012   
                &CONTENT_TYPE_MEDIATYPEHEADER,
42112  42013   
            ) {
42113  42014   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
42114  42015   
            }
42115  42016   
            crate::protocol_serde::shape_media_type_header::de_media_type_header_http_request(
42116  42017   
                request,
42117  42018   
            )
42118  42019   
            .await
42119         -
            .map_err(Into::into)
42120  42020   
        };
42121  42021   
        use ::futures_util::future::TryFutureExt;
42122  42022   
        let fut = fut.map_err(
42123  42023   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
42124  42024   
                ::tracing::debug!(error = %e, "failed to deserialize request");
42125  42025   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
42126  42026   
                    e,
42127  42027   
                )
42128  42028   
            },
42129  42029   
        );
@@ -42247,42147 +42307,42206 @@
42267  42167   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
42268  42168   
        let fut = async move {
42269  42169   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
42270  42170   
                request.headers(),
42271  42171   
                &CONTENT_TYPE_TIMESTAMPFORMATHEADERS,
42272  42172   
            ) {
42273  42173   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
42274  42174   
            }
42275  42175   
            crate::protocol_serde::shape_timestamp_format_headers::de_timestamp_format_headers_http_request(request)
42276  42176   
                            .await
42277         -
                            .map_err(Into::into)
42278  42177   
        };
42279  42178   
        use ::futures_util::future::TryFutureExt;
42280  42179   
        let fut = fut.map_err(
42281  42180   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
42282  42181   
                ::tracing::debug!(error = %e, "failed to deserialize request");
42283  42182   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
42284  42183   
                    e,
42285  42184   
                )
42286  42185   
            },
42287  42186   
        );
@@ -42477,42376 +42537,42435 @@
42497  42396   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
42498  42397   
        let fut = async move {
42499  42398   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
42500  42399   
                request.headers(),
42501  42400   
                &CONTENT_TYPE_NULLANDEMPTYHEADERSSERVER,
42502  42401   
            ) {
42503  42402   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
42504  42403   
            }
42505  42404   
            crate::protocol_serde::shape_null_and_empty_headers_server::de_null_and_empty_headers_server_http_request(request)
42506  42405   
                            .await
42507         -
                            .map_err(Into::into)
42508  42406   
        };
42509  42407   
        use ::futures_util::future::TryFutureExt;
42510  42408   
        let fut = fut.map_err(
42511  42409   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
42512  42410   
                ::tracing::debug!(error = %e, "failed to deserialize request");
42513  42411   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
42514  42412   
                    e,
42515  42413   
                )
42516  42414   
            },
42517  42415   
        );
@@ -42587,42485 +42647,42544 @@
42607  42505   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
42608  42506   
        let fut = async move {
42609  42507   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
42610  42508   
                request.headers(),
42611  42509   
                &CONTENT_TYPE_NULLANDEMPTYHEADERSCLIENT,
42612  42510   
            ) {
42613  42511   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
42614  42512   
            }
42615  42513   
            crate::protocol_serde::shape_null_and_empty_headers_client::de_null_and_empty_headers_client_http_request(request)
42616  42514   
                            .await
42617         -
                            .map_err(Into::into)
42618  42515   
        };
42619  42516   
        use ::futures_util::future::TryFutureExt;
42620  42517   
        let fut = fut.map_err(
42621  42518   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
42622  42519   
                ::tracing::debug!(error = %e, "failed to deserialize request");
42623  42520   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
42624  42521   
                    e,
42625  42522   
                )
42626  42523   
            },
42627  42524   
        );
@@ -42669,42566 +42729,42625 @@
42689  42586   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
42690  42587   
        let fut = async move {
42691  42588   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
42692  42589   
                request.headers(),
42693  42590   
                &CONTENT_TYPE_INPUTANDOUTPUTWITHHEADERS,
42694  42591   
            ) {
42695  42592   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
42696  42593   
            }
42697  42594   
            crate::protocol_serde::shape_input_and_output_with_headers::de_input_and_output_with_headers_http_request(request)
42698  42595   
                            .await
42699         -
                            .map_err(Into::into)
42700  42596   
        };
42701  42597   
        use ::futures_util::future::TryFutureExt;
42702  42598   
        let fut = fut.map_err(
42703  42599   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
42704  42600   
                ::tracing::debug!(error = %e, "failed to deserialize request");
42705  42601   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
42706  42602   
                    e,
42707  42603   
                )
42708  42604   
            },
42709  42605   
        );
@@ -45047,44943 +45107,45002 @@
45067  44963   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
45068  44964   
        let fut = async move {
45069  44965   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
45070  44966   
                request.headers(),
45071  44967   
                &CONTENT_TYPE_UNITINPUTANDOUTPUT,
45072  44968   
            ) {
45073  44969   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
45074  44970   
            }
45075  44971   
            crate::protocol_serde::shape_unit_input_and_output::de_unit_input_and_output_http_request(request)
45076  44972   
                            .await
45077         -
                            .map_err(Into::into)
45078  44973   
        };
45079  44974   
        use ::futures_util::future::TryFutureExt;
45080  44975   
        let fut = fut.map_err(
45081  44976   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
45082  44977   
                ::tracing::debug!(error = %e, "failed to deserialize request");
45083  44978   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
45084  44979   
                    e,
45085  44980   
                )
45086  44981   
            },
45087  44982   
        );
@@ -45245,45140 +45305,45199 @@
45265  45160   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
45266  45161   
        let fut = async move {
45267  45162   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
45268  45163   
                request.headers(),
45269  45164   
                &CONTENT_TYPE_EMPTYINPUTANDEMPTYOUTPUT,
45270  45165   
            ) {
45271  45166   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
45272  45167   
            }
45273  45168   
            crate::protocol_serde::shape_empty_input_and_empty_output::de_empty_input_and_empty_output_http_request(request)
45274  45169   
                            .await
45275         -
                            .map_err(Into::into)
45276  45170   
        };
45277  45171   
        use ::futures_util::future::TryFutureExt;
45278  45172   
        let fut = fut.map_err(
45279  45173   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
45280  45174   
                ::tracing::debug!(error = %e, "failed to deserialize request");
45281  45175   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
45282  45176   
                    e,
45283  45177   
                )
45284  45178   
            },
45285  45179   
        );
@@ -45457,45351 +45517,45410 @@
45477  45371   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
45478  45372   
                request.headers(),
45479  45373   
                &CONTENT_TYPE_NOINPUTANDOUTPUT,
45480  45374   
            ) {
45481  45375   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
45482  45376   
            }
45483  45377   
            crate::protocol_serde::shape_no_input_and_output::de_no_input_and_output_http_request(
45484  45378   
                request,
45485  45379   
            )
45486  45380   
            .await
45487         -
            .map_err(Into::into)
45488  45381   
        };
45489  45382   
        use ::futures_util::future::TryFutureExt;
45490  45383   
        let fut = fut.map_err(
45491  45384   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
45492  45385   
                ::tracing::debug!(error = %e, "failed to deserialize request");
45493  45386   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
45494  45387   
                    e,
45495  45388   
                )
45496  45389   
            },
45497  45390   
        );
@@ -45662,45555 +45722,45614 @@
45682  45575   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
45683  45576   
        let fut = async move {
45684  45577   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
45685  45578   
                request.headers(),
45686  45579   
                &CONTENT_TYPE_NOINPUTANDNOOUTPUT,
45687  45580   
            ) {
45688  45581   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
45689  45582   
            }
45690  45583   
            crate::protocol_serde::shape_no_input_and_no_output::de_no_input_and_no_output_http_request(request)
45691  45584   
                            .await
45692         -
                            .map_err(Into::into)
45693  45585   
        };
45694  45586   
        use ::futures_util::future::TryFutureExt;
45695  45587   
        let fut = fut.map_err(
45696  45588   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
45697  45589   
                ::tracing::debug!(error = %e, "failed to deserialize request");
45698  45590   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
45699  45591   
                    e,
45700  45592   
                )
45701  45593   
            },
45702  45594   
        );

tmp-codegen-diff/codegen-server-test/rest_json_extras/rust-server-codegen/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_QUERYPRECEDENCE,
   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_query_precedence::de_query_precedence_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   
        );
@@ -213,212 +273,271 @@
  233    232   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  234    233   
        let fut = async move {
  235    234   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  236    235   
                request.headers(),
  237    236   
                &CONTENT_TYPE_EMPTYSTRUCTWITHCONTENTONWIREOP,
  238    237   
            ) {
  239    238   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  240    239   
            }
  241    240   
            crate::protocol_serde::shape_empty_struct_with_content_on_wire_op::de_empty_struct_with_content_on_wire_op_http_request(request)
  242    241   
                            .await
  243         -
                            .map_err(Into::into)
  244    242   
        };
  245    243   
        use ::futures_util::future::TryFutureExt;
  246    244   
        let fut = fut.map_err(
  247    245   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  248    246   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  249    247   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  250    248   
                    e,
  251    249   
                )
  252    250   
            },
  253    251   
        );
@@ -346,344 +406,403 @@
  366    364   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  367    365   
        let fut = async move {
  368    366   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  369    367   
                request.headers(),
  370    368   
                &CONTENT_TYPE_CASEINSENSITIVEERROROPERATION,
  371    369   
            ) {
  372    370   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  373    371   
            }
  374    372   
            crate::protocol_serde::shape_case_insensitive_error_operation::de_case_insensitive_error_operation_http_request(request)
  375    373   
                            .await
  376         -
                            .map_err(Into::into)
  377    374   
        };
  378    375   
        use ::futures_util::future::TryFutureExt;
  379    376   
        let fut = fut.map_err(
  380    377   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  381    378   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  382    379   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  383    380   
                    e,
  384    381   
                )
  385    382   
            },
  386    383   
        );
@@ -481,478 +541,537 @@
  501    498   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  502    499   
                request.headers(),
  503    500   
                &CONTENT_TYPE_NULLINNONSPARSE,
  504    501   
            ) {
  505    502   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  506    503   
            }
  507    504   
            crate::protocol_serde::shape_null_in_non_sparse::de_null_in_non_sparse_http_request(
  508    505   
                request,
  509    506   
            )
  510    507   
            .await
  511         -
            .map_err(Into::into)
  512    508   
        };
  513    509   
        use ::futures_util::future::TryFutureExt;
  514    510   
        let fut = fut.map_err(
  515    511   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  516    512   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  517    513   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  518    514   
                    e,
  519    515   
                )
  520    516   
            },
  521    517   
        );
@@ -620,616 +680,675 @@
  640    636   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  641    637   
        let fut = async move {
  642    638   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  643    639   
                request.headers(),
  644    640   
                &CONTENT_TYPE_ESCAPEDSTRINGVALUES,
  645    641   
            ) {
  646    642   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  647    643   
            }
  648    644   
            crate::protocol_serde::shape_escaped_string_values::de_escaped_string_values_http_request(request)
  649    645   
                            .await
  650         -
                            .map_err(Into::into)
  651    646   
        };
  652    647   
        use ::futures_util::future::TryFutureExt;
  653    648   
        let fut = fut.map_err(
  654    649   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  655    650   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  656    651   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  657    652   
                    e,
  658    653   
                )
  659    654   
            },
  660    655   
        );
@@ -834,829 +894,888 @@
  854    849   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  855    850   
        let fut = async move {
  856    851   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  857    852   
                request.headers(),
  858    853   
                &CONTENT_TYPE_PRIMITIVEINTOP,
  859    854   
            ) {
  860    855   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  861    856   
            }
  862    857   
            crate::protocol_serde::shape_primitive_int_op::de_primitive_int_op_http_request(request)
  863    858   
                .await
  864         -
                .map_err(Into::into)
  865    859   
        };
  866    860   
        use ::futures_util::future::TryFutureExt;
  867    861   
        let fut = fut.map_err(
  868    862   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  869    863   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  870    864   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  871    865   
                    e,
  872    866   
                )
  873    867   
            },
  874    868   
        );
@@ -974,968 +1034,1027 @@
  994    988   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  995    989   
                request.headers(),
  996    990   
                &CONTENT_TYPE_MAPWITHENUMKEYOP,
  997    991   
            ) {
  998    992   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  999    993   
            }
 1000    994   
            crate::protocol_serde::shape_map_with_enum_key_op::de_map_with_enum_key_op_http_request(
 1001    995   
                request,
 1002    996   
            )
 1003    997   
            .await
 1004         -
            .map_err(Into::into)
 1005    998   
        };
 1006    999   
        use ::futures_util::future::TryFutureExt;
 1007   1000   
        let fut = fut.map_err(
 1008   1001   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1009   1002   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1010   1003   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1011   1004   
                    e,
 1012   1005   
                )
 1013   1006   
            },
 1014   1007   
        );
@@ -1199,1192 +1259,1251 @@
 1219   1212   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1220   1213   
        let fut = async move {
 1221   1214   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1222   1215   
                request.headers(),
 1223   1216   
                &CONTENT_TYPE_STATUSRESPONSE,
 1224   1217   
            ) {
 1225   1218   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1226   1219   
            }
 1227   1220   
            crate::protocol_serde::shape_status_response::de_status_response_http_request(request)
 1228   1221   
                .await
 1229         -
                .map_err(Into::into)
 1230   1222   
        };
 1231   1223   
        use ::futures_util::future::TryFutureExt;
 1232   1224   
        let fut = fut.map_err(
 1233   1225   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1234   1226   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1235   1227   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1236   1228   
                    e,
 1237   1229   
                )
 1238   1230   
            },
 1239   1231   
        );
@@ -1333,1325 +1395,1385 @@
 1353   1345   
    type Future = EnumQueryInputFuture;
 1354   1346   
 1355   1347   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1356   1348   
        let fut = async move {
 1357   1349   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1358   1350   
                request.headers(),
 1359   1351   
                &CONTENT_TYPE_ENUMQUERY,
 1360   1352   
            ) {
 1361   1353   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1362   1354   
            }
 1363         -
            crate::protocol_serde::shape_enum_query::de_enum_query_http_request(request)
 1364         -
                .await
 1365         -
                .map_err(Into::into)
        1355  +
            crate::protocol_serde::shape_enum_query::de_enum_query_http_request(request).await
 1366   1356   
        };
 1367   1357   
        use ::futures_util::future::TryFutureExt;
 1368   1358   
        let fut = fut.map_err(
 1369   1359   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1370   1360   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1371   1361   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1372   1362   
                    e,
 1373   1363   
                )
 1374   1364   
            },
 1375   1365   
        );
@@ -1514,1504 +1574,1563 @@
 1534   1524   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1535   1525   
                request.headers(),
 1536   1526   
                &CONTENT_TYPE_PRIMITIVEINTHEADER,
 1537   1527   
            ) {
 1538   1528   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1539   1529   
            }
 1540   1530   
            crate::protocol_serde::shape_primitive_int_header::de_primitive_int_header_http_request(
 1541   1531   
                request,
 1542   1532   
            )
 1543   1533   
            .await
 1544         -
            .map_err(Into::into)
 1545   1534   
        };
 1546   1535   
        use ::futures_util::future::TryFutureExt;
 1547   1536   
        let fut = fut.map_err(
 1548   1537   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1549   1538   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1550   1539   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1551   1540   
                    e,
 1552   1541   
                )
 1553   1542   
            },
 1554   1543   
        );
@@ -1686,1675 +1746,1734 @@
 1706   1695   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1707   1696   
        let fut = async move {
 1708   1697   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1709   1698   
                request.headers(),
 1710   1699   
                &CONTENT_TYPE_STRINGPAYLOAD,
 1711   1700   
            ) {
 1712   1701   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1713   1702   
            }
 1714   1703   
            crate::protocol_serde::shape_string_payload::de_string_payload_http_request(request)
 1715   1704   
                .await
 1716         -
                .map_err(Into::into)
 1717   1705   
        };
 1718   1706   
        use ::futures_util::future::TryFutureExt;
 1719   1707   
        let fut = fut.map_err(
 1720   1708   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1721   1709   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1722   1710   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1723   1711   
                    e,
 1724   1712   
                )
 1725   1713   
            },
 1726   1714   
        );

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

@@ -24,24 +84,83 @@
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_SENSITIVEVALIDATION,
   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_sensitive_validation::de_sensitive_validation_http_request(
   51     51   
                request,
   52     52   
            )
   53     53   
            .await
   54         -
            .map_err(Into::into)
   55     54   
        };
   56     55   
        use ::futures_util::future::TryFutureExt;
   57     56   
        let fut = fut.map_err(
   58     57   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
   59     58   
                ::tracing::debug!(error = %e, "failed to deserialize request");
   60     59   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
   61     60   
                    e,
   62     61   
                )
   63     62   
            },
   64     63   
        );
@@ -188,187 +248,246 @@
  208    207   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  209    208   
                request.headers(),
  210    209   
                &CONTENT_TYPE_RECURSIVESTRUCTURES,
  211    210   
            ) {
  212    211   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  213    212   
            }
  214    213   
            crate::protocol_serde::shape_recursive_structures::de_recursive_structures_http_request(
  215    214   
                request,
  216    215   
            )
  217    216   
            .await
  218         -
            .map_err(Into::into)
  219    217   
        };
  220    218   
        use ::futures_util::future::TryFutureExt;
  221    219   
        let fut = fut.map_err(
  222    220   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  223    221   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  224    222   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  225    223   
                    e,
  226    224   
                )
  227    225   
            },
  228    226   
        );
@@ -403,401 +463,460 @@
  423    421   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  424    422   
        let fut = async move {
  425    423   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  426    424   
                request.headers(),
  427    425   
                &CONTENT_TYPE_MALFORMEDUNIQUEITEMS,
  428    426   
            ) {
  429    427   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  430    428   
            }
  431    429   
            crate::protocol_serde::shape_malformed_unique_items::de_malformed_unique_items_http_request(request)
  432    430   
                            .await
  433         -
                            .map_err(Into::into)
  434    431   
        };
  435    432   
        use ::futures_util::future::TryFutureExt;
  436    433   
        let fut = fut.map_err(
  437    434   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  438    435   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  439    436   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  440    437   
                    e,
  441    438   
                )
  442    439   
            },
  443    440   
        );
@@ -1480,1477 +1540,1536 @@
 1500   1497   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1501   1498   
                request.headers(),
 1502   1499   
                &CONTENT_TYPE_MALFORMEDREQUIRED,
 1503   1500   
            ) {
 1504   1501   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1505   1502   
            }
 1506   1503   
            crate::protocol_serde::shape_malformed_required::de_malformed_required_http_request(
 1507   1504   
                request,
 1508   1505   
            )
 1509   1506   
            .await
 1510         -
            .map_err(Into::into)
 1511   1507   
        };
 1512   1508   
        use ::futures_util::future::TryFutureExt;
 1513   1509   
        let fut = fut.map_err(
 1514   1510   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1515   1511   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1516   1512   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1517   1513   
                    e,
 1518   1514   
                )
 1519   1515   
            },
 1520   1516   
        );
@@ -1755,1751 +1815,1810 @@
 1775   1771   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1776   1772   
        let fut = async move {
 1777   1773   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1778   1774   
                request.headers(),
 1779   1775   
                &CONTENT_TYPE_MALFORMEDRANGEOVERRIDE,
 1780   1776   
            ) {
 1781   1777   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1782   1778   
            }
 1783   1779   
            crate::protocol_serde::shape_malformed_range_override::de_malformed_range_override_http_request(request)
 1784   1780   
                            .await
 1785         -
                            .map_err(Into::into)
 1786   1781   
        };
 1787   1782   
        use ::futures_util::future::TryFutureExt;
 1788   1783   
        let fut = fut.map_err(
 1789   1784   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1790   1785   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1791   1786   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1792   1787   
                    e,
 1793   1788   
                )
 1794   1789   
            },
 1795   1790   
        );
@@ -2924,2919 +2984,2978 @@
 2944   2939   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 2945   2940   
        let fut = async move {
 2946   2941   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 2947   2942   
                request.headers(),
 2948   2943   
                &CONTENT_TYPE_MALFORMEDRANGE,
 2949   2944   
            ) {
 2950   2945   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 2951   2946   
            }
 2952   2947   
            crate::protocol_serde::shape_malformed_range::de_malformed_range_http_request(request)
 2953   2948   
                .await
 2954         -
                .map_err(Into::into)
 2955   2949   
        };
 2956   2950   
        use ::futures_util::future::TryFutureExt;
 2957   2951   
        let fut = fut.map_err(
 2958   2952   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 2959   2953   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 2960   2954   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 2961   2955   
                    e,
 2962   2956   
                )
 2963   2957   
            },
 2964   2958   
        );
@@ -4096,4090 +4156,4149 @@
 4116   4110   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 4117   4111   
        let fut = async move {
 4118   4112   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4119   4113   
                request.headers(),
 4120   4114   
                &CONTENT_TYPE_MALFORMEDPATTERNOVERRIDE,
 4121   4115   
            ) {
 4122   4116   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4123   4117   
            }
 4124   4118   
            crate::protocol_serde::shape_malformed_pattern_override::de_malformed_pattern_override_http_request(request)
 4125   4119   
                            .await
 4126         -
                            .map_err(Into::into)
 4127   4120   
        };
 4128   4121   
        use ::futures_util::future::TryFutureExt;
 4129   4122   
        let fut = fut.map_err(
 4130   4123   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4131   4124   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4132   4125   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4133   4126   
                    e,
 4134   4127   
                )
 4135   4128   
            },
 4136   4129   
        );
@@ -4733,4726 +4793,4785 @@
 4753   4746   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 4754   4747   
                request.headers(),
 4755   4748   
                &CONTENT_TYPE_MALFORMEDPATTERN,
 4756   4749   
            ) {
 4757   4750   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 4758   4751   
            }
 4759   4752   
            crate::protocol_serde::shape_malformed_pattern::de_malformed_pattern_http_request(
 4760   4753   
                request,
 4761   4754   
            )
 4762   4755   
            .await
 4763         -
            .map_err(Into::into)
 4764   4756   
        };
 4765   4757   
        use ::futures_util::future::TryFutureExt;
 4766   4758   
        let fut = fut.map_err(
 4767   4759   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 4768   4760   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 4769   4761   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 4770   4762   
                    e,
 4771   4763   
                )
 4772   4764   
            },
 4773   4765   
        );
@@ -5477,5469 +5537,5528 @@
 5497   5489   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5498   5490   
        let fut = async move {
 5499   5491   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5500   5492   
                request.headers(),
 5501   5493   
                &CONTENT_TYPE_MALFORMEDLENGTHQUERYSTRING,
 5502   5494   
            ) {
 5503   5495   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5504   5496   
            }
 5505   5497   
            crate::protocol_serde::shape_malformed_length_query_string::de_malformed_length_query_string_http_request(request)
 5506   5498   
                            .await
 5507         -
                            .map_err(Into::into)
 5508   5499   
        };
 5509   5500   
        use ::futures_util::future::TryFutureExt;
 5510   5501   
        let fut = fut.map_err(
 5511   5502   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5512   5503   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5513   5504   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5514   5505   
                    e,
 5515   5506   
                )
 5516   5507   
            },
 5517   5508   
        );
@@ -5636,5627 +5696,5686 @@
 5656   5647   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 5657   5648   
        let fut = async move {
 5658   5649   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 5659   5650   
                request.headers(),
 5660   5651   
                &CONTENT_TYPE_MALFORMEDLENGTHOVERRIDE,
 5661   5652   
            ) {
 5662   5653   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 5663   5654   
            }
 5664   5655   
            crate::protocol_serde::shape_malformed_length_override::de_malformed_length_override_http_request(request)
 5665   5656   
                            .await
 5666         -
                            .map_err(Into::into)
 5667   5657   
        };
 5668   5658   
        use ::futures_util::future::TryFutureExt;
 5669   5659   
        let fut = fut.map_err(
 5670   5660   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 5671   5661   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 5672   5662   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 5673   5663   
                    e,
 5674   5664   
                )
 5675   5665   
            },
 5676   5666   
        );
@@ -6318,6308 +6378,6367 @@
 6338   6328   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 6339   6329   
        let fut = async move {
 6340   6330   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 6341   6331   
                request.headers(),
 6342   6332   
                &CONTENT_TYPE_MALFORMEDLENGTH,
 6343   6333   
            ) {
 6344   6334   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 6345   6335   
            }
 6346   6336   
            crate::protocol_serde::shape_malformed_length::de_malformed_length_http_request(request)
 6347   6337   
                .await
 6348         -
                .map_err(Into::into)
 6349   6338   
        };
 6350   6339   
        use ::futures_util::future::TryFutureExt;
 6351   6340   
        let fut = fut.map_err(
 6352   6341   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 6353   6342   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 6354   6343   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 6355   6344   
                    e,
 6356   6345   
                )
 6357   6346   
            },
 6358   6347   
        );
@@ -7317,7306 +7377,7365 @@
 7337   7326   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 7338   7327   
        let fut = async move {
 7339   7328   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 7340   7329   
                request.headers(),
 7341   7330   
                &CONTENT_TYPE_MALFORMEDENUM,
 7342   7331   
            ) {
 7343   7332   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 7344   7333   
            }
 7345   7334   
            crate::protocol_serde::shape_malformed_enum::de_malformed_enum_http_request(request)
 7346   7335   
                .await
 7347         -
                .map_err(Into::into)
 7348   7336   
        };
 7349   7337   
        use ::futures_util::future::TryFutureExt;
 7350   7338   
        let fut = fut.map_err(
 7351   7339   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 7352   7340   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 7353   7341   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 7354   7342   
                    e,
 7355   7343   
                )
 7356   7344   
            },
 7357   7345   
        );