Server Test Python

Server Test Python

rev. fd67870c8763076fc6895510f5e759abfe0cb35c (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test-python/Cargo.lock

@@ -49,49 +250,250 @@
   69     69   
name = "aws-smithy-async"
   70     70   
version = "1.2.5"
   71     71   
dependencies = [
   72     72   
 "futures-util",
   73     73   
 "pin-project-lite",
   74     74   
 "tokio",
   75     75   
]
   76     76   
   77     77   
[[package]]
   78     78   
name = "aws-smithy-cbor"
   79         -
version = "0.61.0"
          79  +
version = "0.61.1"
   80     80   
dependencies = [
   81     81   
 "aws-smithy-types",
   82     82   
 "minicbor",
   83     83   
]
   84     84   
   85     85   
[[package]]
   86     86   
name = "aws-smithy-eventstream"
   87         -
version = "0.60.8"
          87  +
version = "0.60.9"
   88     88   
dependencies = [
   89     89   
 "aws-smithy-types",
   90     90   
 "bytes",
   91     91   
 "crc32fast",
   92     92   
]
   93     93   
   94     94   
[[package]]
   95     95   
name = "aws-smithy-http"
   96     96   
version = "0.62.1"
   97     97   
dependencies = [
   98     98   
 "aws-smithy-eventstream",
   99     99   
 "aws-smithy-runtime-api",
  100    100   
 "aws-smithy-types",
  101    101   
 "bytes",
  102    102   
 "bytes-utils",
  103    103   
 "futures-core",
  104    104   
 "http 0.2.12",
  105    105   
 "http 1.3.1",
  106    106   
 "http-body",
  107    107   
 "percent-encoding",
  108    108   
 "pin-project-lite",
  109    109   
 "pin-utils",
  110    110   
 "tracing",
  111    111   
]
  112    112   
  113    113   
[[package]]
  114    114   
name = "aws-smithy-http-server"
  115         -
version = "0.65.3"
         115  +
version = "0.65.5"
  116    116   
dependencies = [
  117    117   
 "aws-smithy-cbor",
  118    118   
 "aws-smithy-http",
  119    119   
 "aws-smithy-json",
  120    120   
 "aws-smithy-runtime-api",
  121    121   
 "aws-smithy-types",
  122    122   
 "aws-smithy-xml",
  123    123   
 "bytes",
  124    124   
 "futures-util",
  125    125   
 "http 0.2.12",
  126    126   
 "http-body",
  127    127   
 "hyper",
  128    128   
 "lambda_http",
  129    129   
 "mime",
  130    130   
 "nom",
  131    131   
 "pin-project-lite",
  132    132   
 "regex",
  133    133   
 "serde_urlencoded",
  134    134   
 "thiserror 2.0.12",
  135    135   
 "tokio",
  136    136   
 "tower",
  137    137   
 "tower-http",
  138    138   
 "tracing",
  139    139   
 "uuid",
  140    140   
]
  141    141   
  142    142   
[[package]]
  143    143   
name = "aws-smithy-http-server-python"
  144         -
version = "0.66.0"
         144  +
version = "0.66.1"
  145    145   
dependencies = [
  146    146   
 "aws-smithy-http",
  147    147   
 "aws-smithy-http-server",
  148    148   
 "aws-smithy-json",
  149    149   
 "aws-smithy-types",
  150    150   
 "aws-smithy-xml",
  151    151   
 "bytes",
  152    152   
 "futures",
  153    153   
 "http 0.2.12",
  154    154   
 "hyper",
  155    155   
 "lambda_http",
  156    156   
 "num_cpus",
  157    157   
 "parking_lot",
  158    158   
 "pin-project-lite",
  159    159   
 "pyo3",
  160    160   
 "pyo3-asyncio",
  161    161   
 "rustls-pemfile",
  162    162   
 "signal-hook",
  163    163   
 "socket2",
  164    164   
 "thiserror 2.0.12",
  165    165   
 "tls-listener",
  166    166   
 "tokio",
  167    167   
 "tokio-rustls",
  168    168   
 "tokio-stream",
  169    169   
 "tower",
  170    170   
 "tracing",
  171    171   
 "tracing-appender",
  172    172   
 "tracing-subscriber",
  173    173   
]
  174    174   
  175    175   
[[package]]
  176    176   
name = "aws-smithy-json"
  177         -
version = "0.61.3"
         177  +
version = "0.61.4"
  178    178   
dependencies = [
  179    179   
 "aws-smithy-types",
  180    180   
]
  181    181   
  182    182   
[[package]]
  183    183   
name = "aws-smithy-runtime-api"
  184         -
version = "1.8.0"
         184  +
version = "1.8.1"
  185    185   
dependencies = [
  186    186   
 "aws-smithy-async",
  187    187   
 "aws-smithy-types",
  188    188   
 "bytes",
  189    189   
 "http 0.2.12",
  190    190   
 "http 1.3.1",
  191    191   
 "pin-project-lite",
  192    192   
 "tokio",
  193    193   
 "tracing",
  194    194   
]
  195    195   
  196    196   
[[package]]
  197    197   
name = "aws-smithy-types"
  198         -
version = "1.3.1"
         198  +
version = "1.3.2"
  199    199   
dependencies = [
  200    200   
 "base64-simd",
  201    201   
 "bytes",
  202    202   
 "bytes-utils",
  203    203   
 "futures-core",
  204    204   
 "http 0.2.12",
  205    205   
 "http-body",
  206    206   
 "hyper",
  207    207   
 "itoa",
  208    208   
 "num-integer",
  209    209   
 "pin-project-lite",
  210    210   
 "pin-utils",
  211    211   
 "ryu",
  212    212   
 "serde",
  213    213   
 "time",
  214    214   
 "tokio",
  215    215   
 "tokio-util",
  216    216   
]
  217    217   
  218    218   
[[package]]
  219    219   
name = "aws-smithy-xml"
  220         -
version = "0.60.9"
         220  +
version = "0.60.10"
  221    221   
dependencies = [
  222    222   
 "xmlparser",
  223    223   
]
  224    224   
  225    225   
[[package]]
  226    226   
name = "aws_lambda_events"
  227    227   
version = "0.12.1"
  228    228   
source = "registry+https://github.com/rust-lang/crates.io-index"
  229    229   
checksum = "03611508dd1e514e311caec235b581c99a4cb66fa1771bd502819eed69894f12"
  230    230   
dependencies = [

tmp-codegen-diff/codegen-server-test-python/constraints/rust-server-codegen-python/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   
        );
@@ -222,220 +282,279 @@
  242    240   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  243    241   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  244    242   
{
  245    243   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  246    244   
    type Future = NonStreamingBlobOperationInputFuture;
  247    245   
  248    246   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  249    247   
        let fut = async move {
  250    248   
            crate::protocol_serde::shape_non_streaming_blob_operation::de_non_streaming_blob_operation_http_request(request)
  251    249   
                            .await
  252         -
                            .map_err(Into::into)
  253    250   
        };
  254    251   
        use ::futures_util::future::TryFutureExt;
  255    252   
        let fut = fut.map_err(
  256    253   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  257    254   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  258    255   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  259    256   
                    e,
  260    257   
                )
  261    258   
            },
  262    259   
        );
@@ -323,320 +383,379 @@
  343    340   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  344    341   
        let fut = async move {
  345    342   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  346    343   
                request.headers(),
  347    344   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFENUMSTRINGOPERATION,
  348    345   
            ) {
  349    346   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  350    347   
            }
  351    348   
            crate::protocol_serde::shape_query_params_targeting_map_of_enum_string_operation::de_query_params_targeting_map_of_enum_string_operation_http_request(request)
  352    349   
                            .await
  353         -
                            .map_err(Into::into)
  354    350   
        };
  355    351   
        use ::futures_util::future::TryFutureExt;
  356    352   
        let fut = fut.map_err(
  357    353   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  358    354   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  359    355   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  360    356   
                    e,
  361    357   
                )
  362    358   
            },
  363    359   
        );
@@ -424,420 +484,479 @@
  444    440   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  445    441   
        let fut = async move {
  446    442   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  447    443   
                request.headers(),
  448    444   
                &CONTENT_TYPE_HTTPPREFIXHEADERSTARGETINGLENGTHMAPOPERATION,
  449    445   
            ) {
  450    446   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  451    447   
            }
  452    448   
            crate::protocol_serde::shape_http_prefix_headers_targeting_length_map_operation::de_http_prefix_headers_targeting_length_map_operation_http_request(request)
  453    449   
                            .await
  454         -
                            .map_err(Into::into)
  455    450   
        };
  456    451   
        use ::futures_util::future::TryFutureExt;
  457    452   
        let fut = fut.map_err(
  458    453   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  459    454   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  460    455   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  461    456   
                    e,
  462    457   
                )
  463    458   
            },
  464    459   
        );
@@ -527,522 +587,581 @@
  547    542   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  548    543   
        let fut = async move {
  549    544   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  550    545   
                request.headers(),
  551    546   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHPATTERNSTRINGOPERATION,
  552    547   
            ) {
  553    548   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  554    549   
            }
  555    550   
            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)
  556    551   
                            .await
  557         -
                            .map_err(Into::into)
  558    552   
        };
  559    553   
        use ::futures_util::future::TryFutureExt;
  560    554   
        let fut = fut.map_err(
  561    555   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  562    556   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  563    557   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  564    558   
                    e,
  565    559   
                )
  566    560   
            },
  567    561   
        );
@@ -628,622 +688,681 @@
  648    642   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  649    643   
        let fut = async move {
  650    644   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  651    645   
                request.headers(),
  652    646   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHPATTERNSTRINGOPERATION,
  653    647   
            ) {
  654    648   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  655    649   
            }
  656    650   
            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)
  657    651   
                            .await
  658         -
                            .map_err(Into::into)
  659    652   
        };
  660    653   
        use ::futures_util::future::TryFutureExt;
  661    654   
        let fut = fut.map_err(
  662    655   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  663    656   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  664    657   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  665    658   
                    e,
  666    659   
                )
  667    660   
            },
  668    661   
        );
@@ -729,722 +789,781 @@
  749    742   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  750    743   
        let fut = async move {
  751    744   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  752    745   
                request.headers(),
  753    746   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFPATTERNSTRINGOPERATION,
  754    747   
            ) {
  755    748   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  756    749   
            }
  757    750   
            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)
  758    751   
                            .await
  759         -
                            .map_err(Into::into)
  760    752   
        };
  761    753   
        use ::futures_util::future::TryFutureExt;
  762    754   
        let fut = fut.map_err(
  763    755   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  764    756   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  765    757   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  766    758   
                    e,
  767    759   
                )
  768    760   
            },
  769    761   
        );
@@ -830,822 +890,881 @@
  850    842   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  851    843   
        let fut = async move {
  852    844   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  853    845   
                request.headers(),
  854    846   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFPATTERNSTRINGOPERATION,
  855    847   
            ) {
  856    848   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  857    849   
            }
  858    850   
            crate::protocol_serde::shape_query_params_targeting_map_of_pattern_string_operation::de_query_params_targeting_map_of_pattern_string_operation_http_request(request)
  859    851   
                            .await
  860         -
                            .map_err(Into::into)
  861    852   
        };
  862    853   
        use ::futures_util::future::TryFutureExt;
  863    854   
        let fut = fut.map_err(
  864    855   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  865    856   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  866    857   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  867    858   
                    e,
  868    859   
                )
  869    860   
            },
  870    861   
        );
@@ -931,922 +991,981 @@
  951    942   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  952    943   
        let fut = async move {
  953    944   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  954    945   
                request.headers(),
  955    946   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFENUMSTRINGOPERATION,
  956    947   
            ) {
  957    948   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  958    949   
            }
  959    950   
            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)
  960    951   
                            .await
  961         -
                            .map_err(Into::into)
  962    952   
        };
  963    953   
        use ::futures_util::future::TryFutureExt;
  964    954   
        let fut = fut.map_err(
  965    955   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  966    956   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  967    957   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  968    958   
                    e,
  969    959   
                )
  970    960   
            },
  971    961   
        );
@@ -1034,1024 +1094,1083 @@
 1054   1044   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1055   1045   
        let fut = async move {
 1056   1046   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1057   1047   
                request.headers(),
 1058   1048   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHLISTOFPATTERNSTRINGOPERATION,
 1059   1049   
            ) {
 1060   1050   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1061   1051   
            }
 1062   1052   
            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)
 1063   1053   
                            .await
 1064         -
                            .map_err(Into::into)
 1065   1054   
        };
 1066   1055   
        use ::futures_util::future::TryFutureExt;
 1067   1056   
        let fut = fut.map_err(
 1068   1057   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1069   1058   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1070   1059   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1071   1060   
                    e,
 1072   1061   
                )
 1073   1062   
            },
 1074   1063   
        );
@@ -1135,1124 +1195,1183 @@
 1155   1144   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1156   1145   
        let fut = async move {
 1157   1146   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1158   1147   
                request.headers(),
 1159   1148   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFSETOFLENGTHSTRINGOPERATION,
 1160   1149   
            ) {
 1161   1150   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1162   1151   
            }
 1163   1152   
            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)
 1164   1153   
                            .await
 1165         -
                            .map_err(Into::into)
 1166   1154   
        };
 1167   1155   
        use ::futures_util::future::TryFutureExt;
 1168   1156   
        let fut = fut.map_err(
 1169   1157   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1170   1158   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1171   1159   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1172   1160   
                    e,
 1173   1161   
                )
 1174   1162   
            },
 1175   1163   
        );
@@ -1236,1224 +1296,1283 @@
 1256   1244   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1257   1245   
        let fut = async move {
 1258   1246   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1259   1247   
                request.headers(),
 1260   1248   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHSTRINGOPERATION,
 1261   1249   
            ) {
 1262   1250   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1263   1251   
            }
 1264   1252   
            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)
 1265   1253   
                            .await
 1266         -
                            .map_err(Into::into)
 1267   1254   
        };
 1268   1255   
        use ::futures_util::future::TryFutureExt;
 1269   1256   
        let fut = fut.map_err(
 1270   1257   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1271   1258   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1272   1259   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1273   1260   
                    e,
 1274   1261   
                )
 1275   1262   
            },
 1276   1263   
        );
@@ -1337,1324 +1397,1383 @@
 1357   1344   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1358   1345   
        let fut = async move {
 1359   1346   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1360   1347   
                request.headers(),
 1361   1348   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHSTRINGOPERATION,
 1362   1349   
            ) {
 1363   1350   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1364   1351   
            }
 1365   1352   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_string_operation::de_query_params_targeting_map_of_length_string_operation_http_request(request)
 1366   1353   
                            .await
 1367         -
                            .map_err(Into::into)
 1368   1354   
        };
 1369   1355   
        use ::futures_util::future::TryFutureExt;
 1370   1356   
        let fut = fut.map_err(
 1371   1357   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1372   1358   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1373   1359   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1374   1360   
                    e,
 1375   1361   
                )
 1376   1362   
            },
 1377   1363   
        );
@@ -1437,1423 +1497,1482 @@
 1457   1443   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1458   1444   
        let fut = async move {
 1459   1445   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1460   1446   
                request.headers(),
 1461   1447   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGLENGTHMAPOPERATION,
 1462   1448   
            ) {
 1463   1449   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1464   1450   
            }
 1465   1451   
            crate::protocol_serde::shape_query_params_targeting_length_map_operation::de_query_params_targeting_length_map_operation_http_request(request)
 1466   1452   
                            .await
 1467         -
                            .map_err(Into::into)
 1468   1453   
        };
 1469   1454   
        use ::futures_util::future::TryFutureExt;
 1470   1455   
        let fut = fut.map_err(
 1471   1456   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1472   1457   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1473   1458   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1474   1459   
                    e,
 1475   1460   
                )
 1476   1461   
            },
 1477   1462   
        );
@@ -1537,1522 +1597,1581 @@
 1557   1542   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1558   1543   
        let fut = async move {
 1559   1544   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1560   1545   
                request.headers(),
 1561   1546   
                &CONTENT_TYPE_CONSTRAINEDRECURSIVESHAPESOPERATION,
 1562   1547   
            ) {
 1563   1548   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1564   1549   
            }
 1565   1550   
            crate::protocol_serde::shape_constrained_recursive_shapes_operation::de_constrained_recursive_shapes_operation_http_request(request)
 1566   1551   
                            .await
 1567         -
                            .map_err(Into::into)
 1568   1552   
        };
 1569   1553   
        use ::futures_util::future::TryFutureExt;
 1570   1554   
        let fut = fut.map_err(
 1571   1555   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1572   1556   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1573   1557   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1574   1558   
                    e,
 1575   1559   
                )
 1576   1560   
            },
 1577   1561   
        );
@@ -1638,1622 +1698,1681 @@
 1658   1642   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1659   1643   
        let fut = async move {
 1660   1644   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1661   1645   
                request.headers(),
 1662   1646   
                &CONTENT_TYPE_CONSTRAINEDHTTPPAYLOADBOUNDSHAPEOPERATION,
 1663   1647   
            ) {
 1664   1648   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1665   1649   
            }
 1666   1650   
            crate::protocol_serde::shape_constrained_http_payload_bound_shape_operation::de_constrained_http_payload_bound_shape_operation_http_request(request)
 1667   1651   
                            .await
 1668         -
                            .map_err(Into::into)
 1669   1652   
        };
 1670   1653   
        use ::futures_util::future::TryFutureExt;
 1671   1654   
        let fut = fut.map_err(
 1672   1655   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1673   1656   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1674   1657   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1675   1658   
                    e,
 1676   1659   
                )
 1677   1660   
            },
 1678   1661   
        );
@@ -1738,1721 +1798,1780 @@
 1758   1741   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1759   1742   
        let fut = async move {
 1760   1743   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1761   1744   
                request.headers(),
 1762   1745   
                &CONTENT_TYPE_CONSTRAINEDHTTPBOUNDSHAPESOPERATION,
 1763   1746   
            ) {
 1764   1747   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1765   1748   
            }
 1766   1749   
            crate::protocol_serde::shape_constrained_http_bound_shapes_operation::de_constrained_http_bound_shapes_operation_http_request(request)
 1767   1750   
                            .await
 1768         -
                            .map_err(Into::into)
 1769   1751   
        };
 1770   1752   
        use ::futures_util::future::TryFutureExt;
 1771   1753   
        let fut = fut.map_err(
 1772   1754   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1773   1755   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1774   1756   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1775   1757   
                    e,
 1776   1758   
                )
 1777   1759   
            },
 1778   1760   
        );
@@ -1838,1820 +1898,1879 @@
 1858   1840   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1859   1841   
        let fut = async move {
 1860   1842   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1861   1843   
                request.headers(),
 1862   1844   
                &CONTENT_TYPE_CONSTRAINEDSHAPESONLYINOUTPUTOPERATION,
 1863   1845   
            ) {
 1864   1846   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1865   1847   
            }
 1866   1848   
            crate::protocol_serde::shape_constrained_shapes_only_in_output_operation::de_constrained_shapes_only_in_output_operation_http_request(request)
 1867   1849   
                            .await
 1868         -
                            .map_err(Into::into)
 1869   1850   
        };
 1870   1851   
        use ::futures_util::future::TryFutureExt;
 1871   1852   
        let fut = fut.map_err(
 1872   1853   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1873   1854   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1874   1855   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1875   1856   
                    e,
 1876   1857   
                )
 1877   1858   
            },
 1878   1859   
        );
@@ -1938,1919 +1998,1978 @@
 1958   1939   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1959   1940   
        let fut = async move {
 1960   1941   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1961   1942   
                request.headers(),
 1962   1943   
                &CONTENT_TYPE_CONSTRAINEDSHAPESOPERATION,
 1963   1944   
            ) {
 1964   1945   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1965   1946   
            }
 1966   1947   
            crate::protocol_serde::shape_constrained_shapes_operation::de_constrained_shapes_operation_http_request(request)
 1967   1948   
                            .await
 1968         -
                            .map_err(Into::into)
 1969   1949   
        };
 1970   1950   
        use ::futures_util::future::TryFutureExt;
 1971   1951   
        let fut = fut.map_err(
 1972   1952   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1973   1953   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1974   1954   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1975   1955   
                    e,
 1976   1956   
                )
 1977   1957   
            },
 1978   1958   
        );

tmp-codegen-diff/codegen-server-test-python/constraints_without_public_constrained_types/rust-server-codegen-python/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   
        );
@@ -222,220 +282,279 @@
  242    240   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
  243    241   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
  244    242   
{
  245    243   
    type Rejection = ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError;
  246    244   
    type Future = NonStreamingBlobOperationInputFuture;
  247    245   
  248    246   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  249    247   
        let fut = async move {
  250    248   
            crate::protocol_serde::shape_non_streaming_blob_operation::de_non_streaming_blob_operation_http_request(request)
  251    249   
                            .await
  252         -
                            .map_err(Into::into)
  253    250   
        };
  254    251   
        use ::futures_util::future::TryFutureExt;
  255    252   
        let fut = fut.map_err(
  256    253   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  257    254   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  258    255   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  259    256   
                    e,
  260    257   
                )
  261    258   
            },
  262    259   
        );
@@ -323,320 +383,379 @@
  343    340   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  344    341   
        let fut = async move {
  345    342   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  346    343   
                request.headers(),
  347    344   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFENUMSTRINGOPERATION,
  348    345   
            ) {
  349    346   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  350    347   
            }
  351    348   
            crate::protocol_serde::shape_query_params_targeting_map_of_enum_string_operation::de_query_params_targeting_map_of_enum_string_operation_http_request(request)
  352    349   
                            .await
  353         -
                            .map_err(Into::into)
  354    350   
        };
  355    351   
        use ::futures_util::future::TryFutureExt;
  356    352   
        let fut = fut.map_err(
  357    353   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  358    354   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  359    355   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  360    356   
                    e,
  361    357   
                )
  362    358   
            },
  363    359   
        );
@@ -424,420 +484,479 @@
  444    440   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  445    441   
        let fut = async move {
  446    442   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  447    443   
                request.headers(),
  448    444   
                &CONTENT_TYPE_HTTPPREFIXHEADERSTARGETINGLENGTHMAPOPERATION,
  449    445   
            ) {
  450    446   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  451    447   
            }
  452    448   
            crate::protocol_serde::shape_http_prefix_headers_targeting_length_map_operation::de_http_prefix_headers_targeting_length_map_operation_http_request(request)
  453    449   
                            .await
  454         -
                            .map_err(Into::into)
  455    450   
        };
  456    451   
        use ::futures_util::future::TryFutureExt;
  457    452   
        let fut = fut.map_err(
  458    453   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  459    454   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  460    455   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  461    456   
                    e,
  462    457   
                )
  463    458   
            },
  464    459   
        );
@@ -527,522 +587,581 @@
  547    542   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  548    543   
        let fut = async move {
  549    544   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  550    545   
                request.headers(),
  551    546   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHPATTERNSTRINGOPERATION,
  552    547   
            ) {
  553    548   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  554    549   
            }
  555    550   
            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)
  556    551   
                            .await
  557         -
                            .map_err(Into::into)
  558    552   
        };
  559    553   
        use ::futures_util::future::TryFutureExt;
  560    554   
        let fut = fut.map_err(
  561    555   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  562    556   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  563    557   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  564    558   
                    e,
  565    559   
                )
  566    560   
            },
  567    561   
        );
@@ -628,622 +688,681 @@
  648    642   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  649    643   
        let fut = async move {
  650    644   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  651    645   
                request.headers(),
  652    646   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHPATTERNSTRINGOPERATION,
  653    647   
            ) {
  654    648   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  655    649   
            }
  656    650   
            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)
  657    651   
                            .await
  658         -
                            .map_err(Into::into)
  659    652   
        };
  660    653   
        use ::futures_util::future::TryFutureExt;
  661    654   
        let fut = fut.map_err(
  662    655   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  663    656   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  664    657   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  665    658   
                    e,
  666    659   
                )
  667    660   
            },
  668    661   
        );
@@ -729,722 +789,781 @@
  749    742   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  750    743   
        let fut = async move {
  751    744   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  752    745   
                request.headers(),
  753    746   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFPATTERNSTRINGOPERATION,
  754    747   
            ) {
  755    748   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  756    749   
            }
  757    750   
            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)
  758    751   
                            .await
  759         -
                            .map_err(Into::into)
  760    752   
        };
  761    753   
        use ::futures_util::future::TryFutureExt;
  762    754   
        let fut = fut.map_err(
  763    755   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  764    756   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  765    757   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  766    758   
                    e,
  767    759   
                )
  768    760   
            },
  769    761   
        );
@@ -830,822 +890,881 @@
  850    842   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  851    843   
        let fut = async move {
  852    844   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  853    845   
                request.headers(),
  854    846   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFPATTERNSTRINGOPERATION,
  855    847   
            ) {
  856    848   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  857    849   
            }
  858    850   
            crate::protocol_serde::shape_query_params_targeting_map_of_pattern_string_operation::de_query_params_targeting_map_of_pattern_string_operation_http_request(request)
  859    851   
                            .await
  860         -
                            .map_err(Into::into)
  861    852   
        };
  862    853   
        use ::futures_util::future::TryFutureExt;
  863    854   
        let fut = fut.map_err(
  864    855   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  865    856   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  866    857   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  867    858   
                    e,
  868    859   
                )
  869    860   
            },
  870    861   
        );
@@ -931,922 +991,981 @@
  951    942   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  952    943   
        let fut = async move {
  953    944   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  954    945   
                request.headers(),
  955    946   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFENUMSTRINGOPERATION,
  956    947   
            ) {
  957    948   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  958    949   
            }
  959    950   
            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)
  960    951   
                            .await
  961         -
                            .map_err(Into::into)
  962    952   
        };
  963    953   
        use ::futures_util::future::TryFutureExt;
  964    954   
        let fut = fut.map_err(
  965    955   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  966    956   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  967    957   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  968    958   
                    e,
  969    959   
                )
  970    960   
            },
  971    961   
        );
@@ -1034,1024 +1094,1083 @@
 1054   1044   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1055   1045   
        let fut = async move {
 1056   1046   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1057   1047   
                request.headers(),
 1058   1048   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHLISTOFPATTERNSTRINGOPERATION,
 1059   1049   
            ) {
 1060   1050   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1061   1051   
            }
 1062   1052   
            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)
 1063   1053   
                            .await
 1064         -
                            .map_err(Into::into)
 1065   1054   
        };
 1066   1055   
        use ::futures_util::future::TryFutureExt;
 1067   1056   
        let fut = fut.map_err(
 1068   1057   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1069   1058   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1070   1059   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1071   1060   
                    e,
 1072   1061   
                )
 1073   1062   
            },
 1074   1063   
        );
@@ -1135,1124 +1195,1183 @@
 1155   1144   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1156   1145   
        let fut = async move {
 1157   1146   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1158   1147   
                request.headers(),
 1159   1148   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFSETOFLENGTHSTRINGOPERATION,
 1160   1149   
            ) {
 1161   1150   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1162   1151   
            }
 1163   1152   
            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)
 1164   1153   
                            .await
 1165         -
                            .map_err(Into::into)
 1166   1154   
        };
 1167   1155   
        use ::futures_util::future::TryFutureExt;
 1168   1156   
        let fut = fut.map_err(
 1169   1157   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1170   1158   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1171   1159   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1172   1160   
                    e,
 1173   1161   
                )
 1174   1162   
            },
 1175   1163   
        );
@@ -1236,1224 +1296,1283 @@
 1256   1244   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1257   1245   
        let fut = async move {
 1258   1246   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1259   1247   
                request.headers(),
 1260   1248   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLISTOFLENGTHSTRINGOPERATION,
 1261   1249   
            ) {
 1262   1250   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1263   1251   
            }
 1264   1252   
            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)
 1265   1253   
                            .await
 1266         -
                            .map_err(Into::into)
 1267   1254   
        };
 1268   1255   
        use ::futures_util::future::TryFutureExt;
 1269   1256   
        let fut = fut.map_err(
 1270   1257   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1271   1258   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1272   1259   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1273   1260   
                    e,
 1274   1261   
                )
 1275   1262   
            },
 1276   1263   
        );
@@ -1337,1324 +1397,1383 @@
 1357   1344   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1358   1345   
        let fut = async move {
 1359   1346   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1360   1347   
                request.headers(),
 1361   1348   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGMAPOFLENGTHSTRINGOPERATION,
 1362   1349   
            ) {
 1363   1350   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1364   1351   
            }
 1365   1352   
            crate::protocol_serde::shape_query_params_targeting_map_of_length_string_operation::de_query_params_targeting_map_of_length_string_operation_http_request(request)
 1366   1353   
                            .await
 1367         -
                            .map_err(Into::into)
 1368   1354   
        };
 1369   1355   
        use ::futures_util::future::TryFutureExt;
 1370   1356   
        let fut = fut.map_err(
 1371   1357   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1372   1358   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1373   1359   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1374   1360   
                    e,
 1375   1361   
                )
 1376   1362   
            },
 1377   1363   
        );
@@ -1437,1423 +1497,1482 @@
 1457   1443   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1458   1444   
        let fut = async move {
 1459   1445   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1460   1446   
                request.headers(),
 1461   1447   
                &CONTENT_TYPE_QUERYPARAMSTARGETINGLENGTHMAPOPERATION,
 1462   1448   
            ) {
 1463   1449   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1464   1450   
            }
 1465   1451   
            crate::protocol_serde::shape_query_params_targeting_length_map_operation::de_query_params_targeting_length_map_operation_http_request(request)
 1466   1452   
                            .await
 1467         -
                            .map_err(Into::into)
 1468   1453   
        };
 1469   1454   
        use ::futures_util::future::TryFutureExt;
 1470   1455   
        let fut = fut.map_err(
 1471   1456   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1472   1457   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1473   1458   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1474   1459   
                    e,
 1475   1460   
                )
 1476   1461   
            },
 1477   1462   
        );
@@ -1537,1522 +1597,1581 @@
 1557   1542   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1558   1543   
        let fut = async move {
 1559   1544   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1560   1545   
                request.headers(),
 1561   1546   
                &CONTENT_TYPE_CONSTRAINEDRECURSIVESHAPESOPERATION,
 1562   1547   
            ) {
 1563   1548   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1564   1549   
            }
 1565   1550   
            crate::protocol_serde::shape_constrained_recursive_shapes_operation::de_constrained_recursive_shapes_operation_http_request(request)
 1566   1551   
                            .await
 1567         -
                            .map_err(Into::into)
 1568   1552   
        };
 1569   1553   
        use ::futures_util::future::TryFutureExt;
 1570   1554   
        let fut = fut.map_err(
 1571   1555   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1572   1556   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1573   1557   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1574   1558   
                    e,
 1575   1559   
                )
 1576   1560   
            },
 1577   1561   
        );
@@ -1638,1622 +1698,1681 @@
 1658   1642   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1659   1643   
        let fut = async move {
 1660   1644   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1661   1645   
                request.headers(),
 1662   1646   
                &CONTENT_TYPE_CONSTRAINEDHTTPPAYLOADBOUNDSHAPEOPERATION,
 1663   1647   
            ) {
 1664   1648   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1665   1649   
            }
 1666   1650   
            crate::protocol_serde::shape_constrained_http_payload_bound_shape_operation::de_constrained_http_payload_bound_shape_operation_http_request(request)
 1667   1651   
                            .await
 1668         -
                            .map_err(Into::into)
 1669   1652   
        };
 1670   1653   
        use ::futures_util::future::TryFutureExt;
 1671   1654   
        let fut = fut.map_err(
 1672   1655   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1673   1656   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1674   1657   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1675   1658   
                    e,
 1676   1659   
                )
 1677   1660   
            },
 1678   1661   
        );
@@ -1738,1721 +1798,1780 @@
 1758   1741   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1759   1742   
        let fut = async move {
 1760   1743   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1761   1744   
                request.headers(),
 1762   1745   
                &CONTENT_TYPE_CONSTRAINEDHTTPBOUNDSHAPESOPERATION,
 1763   1746   
            ) {
 1764   1747   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1765   1748   
            }
 1766   1749   
            crate::protocol_serde::shape_constrained_http_bound_shapes_operation::de_constrained_http_bound_shapes_operation_http_request(request)
 1767   1750   
                            .await
 1768         -
                            .map_err(Into::into)
 1769   1751   
        };
 1770   1752   
        use ::futures_util::future::TryFutureExt;
 1771   1753   
        let fut = fut.map_err(
 1772   1754   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1773   1755   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1774   1756   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1775   1757   
                    e,
 1776   1758   
                )
 1777   1759   
            },
 1778   1760   
        );
@@ -1838,1820 +1898,1879 @@
 1858   1840   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1859   1841   
        let fut = async move {
 1860   1842   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1861   1843   
                request.headers(),
 1862   1844   
                &CONTENT_TYPE_CONSTRAINEDSHAPESONLYINOUTPUTOPERATION,
 1863   1845   
            ) {
 1864   1846   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1865   1847   
            }
 1866   1848   
            crate::protocol_serde::shape_constrained_shapes_only_in_output_operation::de_constrained_shapes_only_in_output_operation_http_request(request)
 1867   1849   
                            .await
 1868         -
                            .map_err(Into::into)
 1869   1850   
        };
 1870   1851   
        use ::futures_util::future::TryFutureExt;
 1871   1852   
        let fut = fut.map_err(
 1872   1853   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1873   1854   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1874   1855   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1875   1856   
                    e,
 1876   1857   
                )
 1877   1858   
            },
 1878   1859   
        );
@@ -1938,1919 +1998,1978 @@
 1958   1939   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1959   1940   
        let fut = async move {
 1960   1941   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1961   1942   
                request.headers(),
 1962   1943   
                &CONTENT_TYPE_CONSTRAINEDSHAPESOPERATION,
 1963   1944   
            ) {
 1964   1945   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1965   1946   
            }
 1966   1947   
            crate::protocol_serde::shape_constrained_shapes_operation::de_constrained_shapes_operation_http_request(request)
 1967   1948   
                            .await
 1968         -
                            .map_err(Into::into)
 1969   1949   
        };
 1970   1950   
        use ::futures_util::future::TryFutureExt;
 1971   1951   
        let fut = fut.map_err(
 1972   1952   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1973   1953   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1974   1954   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1975   1955   
                    e,
 1976   1956   
                )
 1977   1957   
            },
 1978   1958   
        );

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

@@ -22,22 +82,81 @@
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_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-python/json_rpc10/rust-server-codegen-python/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),
@@ -130,129 +190,188 @@
  150    149   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  151    150   
        let fut = async move {
  152    151   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  153    152   
                request.headers(),
  154    153   
                &CONTENT_TYPE_OPERATIONWITHREQUIREDMEMBERS,
  155    154   
            ) {
  156    155   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  157    156   
            }
  158    157   
            crate::protocol_serde::shape_operation_with_required_members::de_operation_with_required_members_http_request(request)
  159    158   
                            .await
  160         -
                            .map_err(Into::into)
  161    159   
        };
  162    160   
        use ::futures_util::future::TryFutureExt;
  163    161   
        let fut = fut.map_err(
  164    162   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  165    163   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  166    164   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  167    165   
            },
  168    166   
        );
  169    167   
        OperationWithRequiredMembersInputFuture {
  170    168   
            inner: Box::pin(fut),
@@ -233,231 +293,290 @@
  253    251   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  254    252   
        let fut = async move {
  255    253   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  256    254   
                request.headers(),
  257    255   
                &CONTENT_TYPE_OPERATIONWITHDEFAULTS,
  258    256   
            ) {
  259    257   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  260    258   
            }
  261    259   
            crate::protocol_serde::shape_operation_with_defaults::de_operation_with_defaults_http_request(request)
  262    260   
                            .await
  263         -
                            .map_err(Into::into)
  264    261   
        };
  265    262   
        use ::futures_util::future::TryFutureExt;
  266    263   
        let fut = fut.map_err(
  267    264   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  268    265   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  269    266   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  270    267   
            },
  271    268   
        );
  272    269   
        OperationWithDefaultsInputFuture {
  273    270   
            inner: Box::pin(fut),
@@ -336,333 +396,392 @@
  356    353   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  357    354   
        let fut = async move {
  358    355   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  359    356   
                request.headers(),
  360    357   
                &CONTENT_TYPE_CONTENTTYPEPARAMETERS,
  361    358   
            ) {
  362    359   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  363    360   
            }
  364    361   
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
  365    362   
                            .await
  366         -
                            .map_err(Into::into)
  367    363   
        };
  368    364   
        use ::futures_util::future::TryFutureExt;
  369    365   
        let fut = fut.map_err(
  370    366   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  371    367   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  372    368   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  373    369   
            },
  374    370   
        );
  375    371   
        ContentTypeParametersInputFuture {
  376    372   
            inner: Box::pin(fut),
@@ -439,435 +499,494 @@
  459    455   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  460    456   
        let fut = async move {
  461    457   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  462    458   
                request.headers(),
  463    459   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  464    460   
            ) {
  465    461   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  466    462   
            }
  467    463   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  468    464   
                            .await
  469         -
                            .map_err(Into::into)
  470    465   
        };
  471    466   
        use ::futures_util::future::TryFutureExt;
  472    467   
        let fut = fut.map_err(
  473    468   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  474    469   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  475    470   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  476    471   
            },
  477    472   
        );
  478    473   
        PutWithContentEncodingInputFuture {
  479    474   
            inner: Box::pin(fut),
@@ -542,537 +602,596 @@
  562    557   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  563    558   
        let fut = async move {
  564    559   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  565    560   
                request.headers(),
  566    561   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
  567    562   
            ) {
  568    563   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  569    564   
            }
  570    565   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
  571    566   
                            .await
  572         -
                            .map_err(Into::into)
  573    567   
        };
  574    568   
        use ::futures_util::future::TryFutureExt;
  575    569   
        let fut = fut.map_err(
  576    570   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  577    571   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  578    572   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  579    573   
            },
  580    574   
        );
  581    575   
        HostWithPathOperationInputFuture {
  582    576   
            inner: Box::pin(fut),
@@ -645,639 +705,698 @@
  665    659   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  666    660   
        let fut = async move {
  667    661   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  668    662   
                request.headers(),
  669    663   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
  670    664   
            ) {
  671    665   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  672    666   
            }
  673    667   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
  674    668   
                            .await
  675         -
                            .map_err(Into::into)
  676    669   
        };
  677    670   
        use ::futures_util::future::TryFutureExt;
  678    671   
        let fut = fut.map_err(
  679    672   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  680    673   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  681    674   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  682    675   
            },
  683    676   
        );
  684    677   
        EndpointWithHostLabelOperationInputFuture {
  685    678   
            inner: Box::pin(fut),
@@ -750,743 +810,802 @@
  770    763   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  771    764   
                request.headers(),
  772    765   
                &CONTENT_TYPE_ENDPOINTOPERATION,
  773    766   
            ) {
  774    767   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  775    768   
            }
  776    769   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
  777    770   
                request,
  778    771   
            )
  779    772   
            .await
  780         -
            .map_err(Into::into)
  781    773   
        };
  782    774   
        use ::futures_util::future::TryFutureExt;
  783    775   
        let fut = fut.map_err(
  784    776   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  785    777   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  786    778   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  787    779   
            },
  788    780   
        );
  789    781   
        EndpointOperationInputFuture {
  790    782   
            inner: Box::pin(fut),
@@ -869,861 +931,921 @@
  889    881   
    type Future = JsonUnionsInputFuture;
  890    882   
  891    883   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  892    884   
        let fut = async move {
  893    885   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  894    886   
                request.headers(),
  895    887   
                &CONTENT_TYPE_JSONUNIONS,
  896    888   
            ) {
  897    889   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  898    890   
            }
  899         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
  900         -
                .await
  901         -
                .map_err(Into::into)
         891  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
  902    892   
        };
  903    893   
        use ::futures_util::future::TryFutureExt;
  904    894   
        let fut = fut.map_err(
  905    895   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  906    896   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  907    897   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  908    898   
            },
  909    899   
        );
  910    900   
        JsonUnionsInputFuture {
  911    901   
            inner: Box::pin(fut),
@@ -990,980 +1050,1039 @@
 1010   1000   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1011   1001   
                request.headers(),
 1012   1002   
                &CONTENT_TYPE_GREETINGWITHERRORS,
 1013   1003   
            ) {
 1014   1004   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1015   1005   
            }
 1016   1006   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
 1017   1007   
                request,
 1018   1008   
            )
 1019   1009   
            .await
 1020         -
            .map_err(Into::into)
 1021   1010   
        };
 1022   1011   
        use ::futures_util::future::TryFutureExt;
 1023   1012   
        let fut = fut.map_err(
 1024   1013   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1025   1014   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1026   1015   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1027   1016   
            },
 1028   1017   
        );
 1029   1018   
        GreetingWithErrorsInputFuture {
 1030   1019   
            inner: Box::pin(fut),
@@ -1103,1092 +1163,1151 @@
 1123   1112   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1124   1113   
        let fut = async move {
 1125   1114   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1126   1115   
                request.headers(),
 1127   1116   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
 1128   1117   
            ) {
 1129   1118   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1130   1119   
            }
 1131   1120   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 1132   1121   
                            .await
 1133         -
                            .map_err(Into::into)
 1134   1122   
        };
 1135   1123   
        use ::futures_util::future::TryFutureExt;
 1136   1124   
        let fut = fut.map_err(
 1137   1125   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1138   1126   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1139   1127   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1140   1128   
            },
 1141   1129   
        );
 1142   1130   
        SimpleScalarPropertiesInputFuture {
 1143   1131   
            inner: Box::pin(fut),
@@ -1206,1194 +1266,1253 @@
 1226   1214   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1227   1215   
        let fut = async move {
 1228   1216   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1229   1217   
                request.headers(),
 1230   1218   
                &CONTENT_TYPE_EMPTYINPUTANDEMPTYOUTPUT,
 1231   1219   
            ) {
 1232   1220   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1233   1221   
            }
 1234   1222   
            crate::protocol_serde::shape_empty_input_and_empty_output::de_empty_input_and_empty_output_http_request(request)
 1235   1223   
                            .await
 1236         -
                            .map_err(Into::into)
 1237   1224   
        };
 1238   1225   
        use ::futures_util::future::TryFutureExt;
 1239   1226   
        let fut = fut.map_err(
 1240   1227   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1241   1228   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1242   1229   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1243   1230   
            },
 1244   1231   
        );
 1245   1232   
        EmptyInputAndEmptyOutputInputFuture {
 1246   1233   
            inner: Box::pin(fut),
@@ -1311,1298 +1371,1357 @@
 1331   1318   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1332   1319   
                request.headers(),
 1333   1320   
                &CONTENT_TYPE_NOINPUTANDOUTPUT,
 1334   1321   
            ) {
 1335   1322   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1336   1323   
            }
 1337   1324   
            crate::protocol_serde::shape_no_input_and_output::de_no_input_and_output_http_request(
 1338   1325   
                request,
 1339   1326   
            )
 1340   1327   
            .await
 1341         -
            .map_err(Into::into)
 1342   1328   
        };
 1343   1329   
        use ::futures_util::future::TryFutureExt;
 1344   1330   
        let fut = fut.map_err(
 1345   1331   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1346   1332   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1347   1333   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1348   1334   
            },
 1349   1335   
        );
 1350   1336   
        NoInputAndOutputInputFuture {
 1351   1337   
            inner: Box::pin(fut),
@@ -1424,1410 +1484,1469 @@
 1444   1430   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1445   1431   
        let fut = async move {
 1446   1432   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1447   1433   
                request.headers(),
 1448   1434   
                &CONTENT_TYPE_NOINPUTANDNOOUTPUT,
 1449   1435   
            ) {
 1450   1436   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1451   1437   
            }
 1452   1438   
            crate::protocol_serde::shape_no_input_and_no_output::de_no_input_and_no_output_http_request(request)
 1453   1439   
                            .await
 1454         -
                            .map_err(Into::into)
 1455   1440   
        };
 1456   1441   
        use ::futures_util::future::TryFutureExt;
 1457   1442   
        let fut = fut.map_err(
 1458   1443   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1459   1444   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1460   1445   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1461   1446   
            },
 1462   1447   
        );
 1463   1448   
        NoInputAndNoOutputInputFuture {
 1464   1449   
            inner: Box::pin(fut),

tmp-codegen-diff/codegen-server-test-python/json_rpc11/rust-server-codegen-python/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),
@@ -130,129 +190,188 @@
  150    149   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  151    150   
        let fut = async move {
  152    151   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  153    152   
                request.headers(),
  154    153   
                &CONTENT_TYPE_PUTWITHCONTENTENCODING,
  155    154   
            ) {
  156    155   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  157    156   
            }
  158    157   
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
  159    158   
                            .await
  160         -
                            .map_err(Into::into)
  161    159   
        };
  162    160   
        use ::futures_util::future::TryFutureExt;
  163    161   
        let fut = fut.map_err(
  164    162   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  165    163   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  166    164   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  167    165   
            },
  168    166   
        );
  169    167   
        PutWithContentEncodingInputFuture {
  170    168   
            inner: Box::pin(fut),
@@ -235,233 +295,292 @@
  255    253   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  256    254   
                request.headers(),
  257    255   
                &CONTENT_TYPE_FRACTIONALSECONDS,
  258    256   
            ) {
  259    257   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  260    258   
            }
  261    259   
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_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::aws_json::rejection::RequestRejection| {
  270    267   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  271    268   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  272    269   
            },
  273    270   
        );
  274    271   
        FractionalSecondsInputFuture {
  275    272   
            inner: Box::pin(fut),
@@ -356,353 +416,412 @@
  376    373   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  377    374   
        let fut = async move {
  378    375   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  379    376   
                request.headers(),
  380    377   
                &CONTENT_TYPE_DATETIMEOFFSETS,
  381    378   
            ) {
  382    379   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  383    380   
            }
  384    381   
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
  385    382   
                .await
  386         -
                .map_err(Into::into)
  387    383   
        };
  388    384   
        use ::futures_util::future::TryFutureExt;
  389    385   
        let fut = fut.map_err(
  390    386   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  391    387   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  392    388   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  393    389   
            },
  394    390   
        );
  395    391   
        DatetimeOffsetsInputFuture {
  396    392   
            inner: Box::pin(fut),
@@ -476,472 +536,531 @@
  496    492   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  497    493   
        let fut = async move {
  498    494   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  499    495   
                request.headers(),
  500    496   
                &CONTENT_TYPE_HOSTWITHPATHOPERATION,
  501    497   
            ) {
  502    498   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  503    499   
            }
  504    500   
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
  505    501   
                            .await
  506         -
                            .map_err(Into::into)
  507    502   
        };
  508    503   
        use ::futures_util::future::TryFutureExt;
  509    504   
        let fut = fut.map_err(
  510    505   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  511    506   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  512    507   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  513    508   
            },
  514    509   
        );
  515    510   
        HostWithPathOperationInputFuture {
  516    511   
            inner: Box::pin(fut),
@@ -579,574 +639,633 @@
  599    594   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  600    595   
        let fut = async move {
  601    596   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  602    597   
                request.headers(),
  603    598   
                &CONTENT_TYPE_ENDPOINTWITHHOSTLABELOPERATION,
  604    599   
            ) {
  605    600   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  606    601   
            }
  607    602   
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
  608    603   
                            .await
  609         -
                            .map_err(Into::into)
  610    604   
        };
  611    605   
        use ::futures_util::future::TryFutureExt;
  612    606   
        let fut = fut.map_err(
  613    607   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  614    608   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  615    609   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  616    610   
            },
  617    611   
        );
  618    612   
        EndpointWithHostLabelOperationInputFuture {
  619    613   
            inner: Box::pin(fut),
@@ -684,678 +744,737 @@
  704    698   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  705    699   
                request.headers(),
  706    700   
                &CONTENT_TYPE_ENDPOINTOPERATION,
  707    701   
            ) {
  708    702   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  709    703   
            }
  710    704   
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
  711    705   
                request,
  712    706   
            )
  713    707   
            .await
  714         -
            .map_err(Into::into)
  715    708   
        };
  716    709   
        use ::futures_util::future::TryFutureExt;
  717    710   
        let fut = fut.map_err(
  718    711   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  719    712   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  720    713   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  721    714   
            },
  722    715   
        );
  723    716   
        EndpointOperationInputFuture {
  724    717   
            inner: Box::pin(fut),
@@ -803,796 +865,856 @@
  823    816   
    type Future = JsonUnionsInputFuture;
  824    817   
  825    818   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  826    819   
        let fut = async move {
  827    820   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  828    821   
                request.headers(),
  829    822   
                &CONTENT_TYPE_JSONUNIONS,
  830    823   
            ) {
  831    824   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  832    825   
            }
  833         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request)
  834         -
                .await
  835         -
                .map_err(Into::into)
         826  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
  836    827   
        };
  837    828   
        use ::futures_util::future::TryFutureExt;
  838    829   
        let fut = fut.map_err(
  839    830   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  840    831   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  841    832   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  842    833   
            },
  843    834   
        );
  844    835   
        JsonUnionsInputFuture {
  845    836   
            inner: Box::pin(fut),
@@ -924,915 +984,974 @@
  944    935   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  945    936   
                request.headers(),
  946    937   
                &CONTENT_TYPE_GREETINGWITHERRORS,
  947    938   
            ) {
  948    939   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  949    940   
            }
  950    941   
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
  951    942   
                request,
  952    943   
            )
  953    944   
            .await
  954         -
            .map_err(Into::into)
  955    945   
        };
  956    946   
        use ::futures_util::future::TryFutureExt;
  957    947   
        let fut = fut.map_err(
  958    948   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
  959    949   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  960    950   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  961    951   
            },
  962    952   
        );
  963    953   
        GreetingWithErrorsInputFuture {
  964    954   
            inner: Box::pin(fut),
@@ -1037,1027 +1097,1086 @@
 1057   1047   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1058   1048   
        let fut = async move {
 1059   1049   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1060   1050   
                request.headers(),
 1061   1051   
                &CONTENT_TYPE_SPARSENULLSOPERATION,
 1062   1052   
            ) {
 1063   1053   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1064   1054   
            }
 1065   1055   
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
 1066   1056   
                            .await
 1067         -
                            .map_err(Into::into)
 1068   1057   
        };
 1069   1058   
        use ::futures_util::future::TryFutureExt;
 1070   1059   
        let fut = fut.map_err(
 1071   1060   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1072   1061   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1073   1062   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1074   1063   
            },
 1075   1064   
        );
 1076   1065   
        SparseNullsOperationInputFuture {
 1077   1066   
            inner: Box::pin(fut),
@@ -1140,1129 +1200,1188 @@
 1160   1149   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1161   1150   
        let fut = async move {
 1162   1151   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1163   1152   
                request.headers(),
 1164   1153   
                &CONTENT_TYPE_NULLOPERATION,
 1165   1154   
            ) {
 1166   1155   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1167   1156   
            }
 1168   1157   
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
 1169   1158   
                .await
 1170         -
                .map_err(Into::into)
 1171   1159   
        };
 1172   1160   
        use ::futures_util::future::TryFutureExt;
 1173   1161   
        let fut = fut.map_err(
 1174   1162   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1175   1163   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1176   1164   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1177   1165   
            },
 1178   1166   
        );
 1179   1167   
        NullOperationInputFuture {
 1180   1168   
            inner: Box::pin(fut),
@@ -1254,1242 +1316,1302 @@
 1274   1262   
    type Future = JsonEnumsInputFuture;
 1275   1263   
 1276   1264   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1277   1265   
        let fut = async move {
 1278   1266   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1279   1267   
                request.headers(),
 1280   1268   
                &CONTENT_TYPE_JSONENUMS,
 1281   1269   
            ) {
 1282   1270   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1283   1271   
            }
 1284         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request)
 1285         -
                .await
 1286         -
                .map_err(Into::into)
        1272  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
 1287   1273   
        };
 1288   1274   
        use ::futures_util::future::TryFutureExt;
 1289   1275   
        let fut = fut.map_err(
 1290   1276   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1291   1277   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1292   1278   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1293   1279   
            },
 1294   1280   
        );
 1295   1281   
        JsonEnumsInputFuture {
 1296   1282   
            inner: Box::pin(fut),
@@ -1373,1359 +1433,1418 @@
 1393   1379   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1394   1380   
        let fut = async move {
 1395   1381   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1396   1382   
                request.headers(),
 1397   1383   
                &CONTENT_TYPE_PUTANDGETINLINEDOCUMENTS,
 1398   1384   
            ) {
 1399   1385   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1400   1386   
            }
 1401   1387   
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
 1402   1388   
                            .await
 1403         -
                            .map_err(Into::into)
 1404   1389   
        };
 1405   1390   
        use ::futures_util::future::TryFutureExt;
 1406   1391   
        let fut = fut.map_err(
 1407   1392   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1408   1393   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1409   1394   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1410   1395   
            },
 1411   1396   
        );
 1412   1397   
        PutAndGetInlineDocumentsInputFuture {
 1413   1398   
            inner: Box::pin(fut),
@@ -1476,1461 +1536,1520 @@
 1496   1481   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1497   1482   
        let fut = async move {
 1498   1483   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1499   1484   
                request.headers(),
 1500   1485   
                &CONTENT_TYPE_OPERATIONWITHOPTIONALINPUTOUTPUT,
 1501   1486   
            ) {
 1502   1487   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1503   1488   
            }
 1504   1489   
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
 1505   1490   
                            .await
 1506         -
                            .map_err(Into::into)
 1507   1491   
        };
 1508   1492   
        use ::futures_util::future::TryFutureExt;
 1509   1493   
        let fut = fut.map_err(
 1510   1494   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1511   1495   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1512   1496   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1513   1497   
            },
 1514   1498   
        );
 1515   1499   
        OperationWithOptionalInputOutputInputFuture {
 1516   1500   
            inner: Box::pin(fut),
@@ -1579,1563 +1639,1622 @@
 1599   1583   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1600   1584   
        let fut = async move {
 1601   1585   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1602   1586   
                request.headers(),
 1603   1587   
                &CONTENT_TYPE_SIMPLESCALARPROPERTIES,
 1604   1588   
            ) {
 1605   1589   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1606   1590   
            }
 1607   1591   
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 1608   1592   
                            .await
 1609         -
                            .map_err(Into::into)
 1610   1593   
        };
 1611   1594   
        use ::futures_util::future::TryFutureExt;
 1612   1595   
        let fut = fut.map_err(
 1613   1596   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1614   1597   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1615   1598   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1616   1599   
            },
 1617   1600   
        );
 1618   1601   
        SimpleScalarPropertiesInputFuture {
 1619   1602   
            inner: Box::pin(fut),
@@ -1682,1665 +1742,1724 @@
 1702   1685   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1703   1686   
        let fut = async move {
 1704   1687   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1705   1688   
                request.headers(),
 1706   1689   
                &CONTENT_TYPE_KITCHENSINKOPERATION,
 1707   1690   
            ) {
 1708   1691   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1709   1692   
            }
 1710   1693   
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
 1711   1694   
                            .await
 1712         -
                            .map_err(Into::into)
 1713   1695   
        };
 1714   1696   
        use ::futures_util::future::TryFutureExt;
 1715   1697   
        let fut = fut.map_err(
 1716   1698   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1717   1699   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1718   1700   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1719   1701   
            },
 1720   1702   
        );
 1721   1703   
        KitchenSinkOperationInputFuture {
 1722   1704   
            inner: Box::pin(fut),
@@ -1785,1767 +1845,1826 @@
 1805   1787   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1806   1788   
        let fut = async move {
 1807   1789   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1808   1790   
                request.headers(),
 1809   1791   
                &CONTENT_TYPE_EMPTYOPERATION,
 1810   1792   
            ) {
 1811   1793   
                return Err(::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1812   1794   
            }
 1813   1795   
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
 1814   1796   
                .await
 1815         -
                .map_err(Into::into)
 1816   1797   
        };
 1817   1798   
        use ::futures_util::future::TryFutureExt;
 1818   1799   
        let fut = fut.map_err(
 1819   1800   
            |e: ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1820   1801   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1821   1802   
                ::aws_smithy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1822   1803   
            },
 1823   1804   
        );
 1824   1805   
        EmptyOperationInputFuture {
 1825   1806   
            inner: Box::pin(fut),

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

@@ -22,22 +82,81 @@
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_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   
        );
@@ -222,220 +282,279 @@
  242    240   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  243    241   
        let fut = async move {
  244    242   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  245    243   
                request.headers(),
  246    244   
                &CONTENT_TYPE_RESPONSECODEREQUIREDOPERATION,
  247    245   
            ) {
  248    246   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  249    247   
            }
  250    248   
            crate::protocol_serde::shape_response_code_required_operation::de_response_code_required_operation_http_request(request)
  251    249   
                            .await
  252         -
                            .map_err(Into::into)
  253    250   
        };
  254    251   
        use ::futures_util::future::TryFutureExt;
  255    252   
        let fut = fut.map_err(
  256    253   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  257    254   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  258    255   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  259    256   
                    e,
  260    257   
                )
  261    258   
            },
  262    259   
        );
@@ -322,319 +382,378 @@
  342    339   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  343    340   
        let fut = async move {
  344    341   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  345    342   
                request.headers(),
  346    343   
                &CONTENT_TYPE_REQUIREDHEADERCOLLECTIONOPERATION,
  347    344   
            ) {
  348    345   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  349    346   
            }
  350    347   
            crate::protocol_serde::shape_required_header_collection_operation::de_required_header_collection_operation_http_request(request)
  351    348   
                            .await
  352         -
                            .map_err(Into::into)
  353    349   
        };
  354    350   
        use ::futures_util::future::TryFutureExt;
  355    351   
        let fut = fut.map_err(
  356    352   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  357    353   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  358    354   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  359    355   
                    e,
  360    356   
                )
  361    357   
            },
  362    358   
        );
@@ -422,418 +482,477 @@
  442    438   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  443    439   
        let fut = async move {
  444    440   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  445    441   
                request.headers(),
  446    442   
                &CONTENT_TYPE_REQUIREDINNERSHAPEOPERATION,
  447    443   
            ) {
  448    444   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  449    445   
            }
  450    446   
            crate::protocol_serde::shape_required_inner_shape_operation::de_required_inner_shape_operation_http_request(request)
  451    447   
                            .await
  452         -
                            .map_err(Into::into)
  453    448   
        };
  454    449   
        use ::futures_util::future::TryFutureExt;
  455    450   
        let fut = fut.map_err(
  456    451   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  457    452   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  458    453   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  459    454   
                    e,
  460    455   
                )
  461    456   
            },
  462    457   
        );
@@ -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_TYPECOMPLEXITYOPERATION,
  547    542   
            ) {
  548    543   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  549    544   
            }
  550    545   
            crate::protocol_serde::shape_type_complexity_operation::de_type_complexity_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::rest_json_1::rejection::RequestRejection| {
  557    551   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  558    552   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  559    553   
                    e,
  560    554   
                )
  561    555   
            },
  562    556   
        );

tmp-codegen-diff/codegen-server-test-python/naming_test_casing/rust-server-codegen-python/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-python/naming_test_ops/rust-server-codegen-python/src/operation.rs

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

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

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

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

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

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

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

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

@@ -22,22 +82,81 @@
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_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   
        );
@@ -127,126 +187,185 @@
  147    146   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  148    147   
        let fut = async move {
  149    148   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  150    149   
                request.headers(),
  151    150   
                &CONTENT_TYPE_EMPTYSTRUCTWITHCONTENTONWIREOP,
  152    151   
            ) {
  153    152   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  154    153   
            }
  155    154   
            crate::protocol_serde::shape_empty_struct_with_content_on_wire_op::de_empty_struct_with_content_on_wire_op_http_request(request)
  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   
        );
@@ -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_CASEINSENSITIVEERROROPERATION,
  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_case_insensitive_error_operation::de_case_insensitive_error_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   
        );
@@ -329,326 +389,385 @@
  349    346   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  350    347   
                request.headers(),
  351    348   
                &CONTENT_TYPE_NULLINNONSPARSE,
  352    349   
            ) {
  353    350   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  354    351   
            }
  355    352   
            crate::protocol_serde::shape_null_in_non_sparse::de_null_in_non_sparse_http_request(
  356    353   
                request,
  357    354   
            )
  358    355   
            .await
  359         -
            .map_err(Into::into)
  360    356   
        };
  361    357   
        use ::futures_util::future::TryFutureExt;
  362    358   
        let fut = fut.map_err(
  363    359   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  364    360   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  365    361   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  366    362   
                    e,
  367    363   
                )
  368    364   
            },
  369    365   
        );
@@ -435,431 +495,490 @@
  455    451   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  456    452   
        let fut = async move {
  457    453   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  458    454   
                request.headers(),
  459    455   
                &CONTENT_TYPE_ESCAPEDSTRINGVALUES,
  460    456   
            ) {
  461    457   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  462    458   
            }
  463    459   
            crate::protocol_serde::shape_escaped_string_values::de_escaped_string_values_http_request(request)
  464    460   
                            .await
  465         -
                            .map_err(Into::into)
  466    461   
        };
  467    462   
        use ::futures_util::future::TryFutureExt;
  468    463   
        let fut = fut.map_err(
  469    464   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  470    465   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  471    466   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  472    467   
                    e,
  473    468   
                )
  474    469   
            },
  475    470   
        );
@@ -535,530 +595,589 @@
  555    550   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  556    551   
        let fut = async move {
  557    552   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  558    553   
                request.headers(),
  559    554   
                &CONTENT_TYPE_PRIMITIVEINTOP,
  560    555   
            ) {
  561    556   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  562    557   
            }
  563    558   
            crate::protocol_serde::shape_primitive_int_op::de_primitive_int_op_http_request(request)
  564    559   
                .await
  565         -
                .map_err(Into::into)
  566    560   
        };
  567    561   
        use ::futures_util::future::TryFutureExt;
  568    562   
        let fut = fut.map_err(
  569    563   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  570    564   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  571    565   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  572    566   
                    e,
  573    567   
                )
  574    568   
            },
  575    569   
        );
@@ -642,636 +702,695 @@
  662    656   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  663    657   
                request.headers(),
  664    658   
                &CONTENT_TYPE_MAPWITHENUMKEYOP,
  665    659   
            ) {
  666    660   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  667    661   
            }
  668    662   
            crate::protocol_serde::shape_map_with_enum_key_op::de_map_with_enum_key_op_http_request(
  669    663   
                request,
  670    664   
            )
  671    665   
            .await
  672         -
            .map_err(Into::into)
  673    666   
        };
  674    667   
        use ::futures_util::future::TryFutureExt;
  675    668   
        let fut = fut.map_err(
  676    669   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  677    670   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  678    671   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  679    672   
                    e,
  680    673   
                )
  681    674   
            },
  682    675   
        );
@@ -746,739 +806,798 @@
  766    759   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  767    760   
        let fut = async move {
  768    761   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  769    762   
                request.headers(),
  770    763   
                &CONTENT_TYPE_STATUSRESPONSE,
  771    764   
            ) {
  772    765   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  773    766   
            }
  774    767   
            crate::protocol_serde::shape_status_response::de_status_response_http_request(request)
  775    768   
                .await
  776         -
                .map_err(Into::into)
  777    769   
        };
  778    770   
        use ::futures_util::future::TryFutureExt;
  779    771   
        let fut = fut.map_err(
  780    772   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  781    773   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  782    774   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  783    775   
                    e,
  784    776   
                )
  785    777   
            },
  786    778   
        );
@@ -847,839 +909,899 @@
  867    859   
    type Future = EnumQueryInputFuture;
  868    860   
  869    861   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  870    862   
        let fut = async move {
  871    863   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  872    864   
                request.headers(),
  873    865   
                &CONTENT_TYPE_ENUMQUERY,
  874    866   
            ) {
  875    867   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  876    868   
            }
  877         -
            crate::protocol_serde::shape_enum_query::de_enum_query_http_request(request)
  878         -
                .await
  879         -
                .map_err(Into::into)
         869  +
            crate::protocol_serde::shape_enum_query::de_enum_query_http_request(request).await
  880    870   
        };
  881    871   
        use ::futures_util::future::TryFutureExt;
  882    872   
        let fut = fut.map_err(
  883    873   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  884    874   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  885    875   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  886    876   
                    e,
  887    877   
                )
  888    878   
            },
  889    879   
        );
@@ -953,943 +1013,1002 @@
  973    963   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
  974    964   
                request.headers(),
  975    965   
                &CONTENT_TYPE_PRIMITIVEINTHEADER,
  976    966   
            ) {
  977    967   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
  978    968   
            }
  979    969   
            crate::protocol_serde::shape_primitive_int_header::de_primitive_int_header_http_request(
  980    970   
                request,
  981    971   
            )
  982    972   
            .await
  983         -
            .map_err(Into::into)
  984    973   
        };
  985    974   
        use ::futures_util::future::TryFutureExt;
  986    975   
        let fut = fut.map_err(
  987    976   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
  988    977   
                ::tracing::debug!(error = %e, "failed to deserialize request");
  989    978   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
  990    979   
                    e,
  991    980   
                )
  992    981   
            },
  993    982   
        );
@@ -1062,1051 +1122,1110 @@
 1082   1071   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1083   1072   
        let fut = async move {
 1084   1073   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
 1085   1074   
                request.headers(),
 1086   1075   
                &CONTENT_TYPE_STRINGPAYLOAD,
 1087   1076   
            ) {
 1088   1077   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
 1089   1078   
            }
 1090   1079   
            crate::protocol_serde::shape_string_payload::de_string_payload_http_request(request)
 1091   1080   
                .await
 1092         -
                .map_err(Into::into)
 1093   1081   
        };
 1094   1082   
        use ::futures_util::future::TryFutureExt;
 1095   1083   
        let fut = fut.map_err(
 1096   1084   
            |e: ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection| {
 1097   1085   
                ::tracing::debug!(error = %e, "failed to deserialize request");
 1098   1086   
                ::aws_smithy_http_server::protocol::rest_json_1::runtime_error::RuntimeError::from(
 1099   1087   
                    e,
 1100   1088   
                )
 1101   1089   
            },
 1102   1090   
        );

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

@@ -20,20 +82,80 @@
   40     40   
    type Future = OperationInputFuture;
   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_OPERATION,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50         -
            crate::protocol_serde::shape_operation::de_operation_http_request(request)
   51         -
                .await
   52         -
                .map_err(Into::into)
          50  +
            crate::protocol_serde::shape_operation::de_operation_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   
        );

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

@@ -22,22 +82,81 @@
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &CONTENT_TYPE_MALFORMEDUNIQUEITEMS,
   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_malformed_unique_items::de_malformed_unique_items_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   
        );