Server Test Python

Server Test Python

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

@@ -1,1 +1764,1764 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
::pin_project_lite::pin_project! {
    3      3   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
    4         -
    /// [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput) using modelled bindings.
    5         -
    pub struct ContentTypeParametersInputFuture {
    6         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::ContentTypeParametersInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
           4  +
    /// [`EmptyOperationInput`](crate::input::EmptyOperationInput) using modelled bindings.
           5  +
    pub struct EmptyOperationInputFuture {
           6  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EmptyOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
    7      7   
    }
    8      8   
}
    9      9   
   10         -
impl std::future::Future for ContentTypeParametersInputFuture {
          10  +
impl std::future::Future for EmptyOperationInputFuture {
   11     11   
    type Output = Result<
   12         -
        crate::input::ContentTypeParametersInput,
          12  +
        crate::input::EmptyOperationInput,
   13     13   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
   14     14   
    >;
   15     15   
   16     16   
    fn poll(
   17     17   
        self: std::pin::Pin<&mut Self>,
   18     18   
        cx: &mut std::task::Context<'_>,
   19     19   
    ) -> std::task::Poll<Self::Output> {
   20     20   
        let this = self.project();
   21     21   
        this.inner.as_mut().poll(cx)
   22     22   
    }
   23     23   
}
   24     24   
   25     25   
impl<B>
   26     26   
    ::aws_smithy_legacy_http_server::request::FromRequest<
   27     27   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   28     28   
        B,
   29         -
    > for crate::input::ContentTypeParametersInput
          29  +
    > for crate::input::EmptyOperationInput
   30     30   
where
   31     31   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   32     32   
    B: 'static,
   33     33   
   34     34   
    B::Data: Send,
   35     35   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
   36     36   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
   37     37   
{
   38     38   
    type Rejection =
   39     39   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
   40         -
    type Future = ContentTypeParametersInputFuture;
          40  +
    type Future = EmptyOperationInputFuture;
   41     41   
   42     42   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
   43     43   
        let fut = async move {
   44     44   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
   45     45   
                request.headers(),
   46     46   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
   47     47   
            ) {
   48     48   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
   49     49   
            }
   50         -
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
   51         -
                            .await
          50  +
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
          51  +
                .await
   52     52   
        };
   53     53   
        use ::futures_util::future::TryFutureExt;
   54     54   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
   55     55   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
   56     56   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
   57     57   
                    });
   58         -
        ContentTypeParametersInputFuture {
          58  +
        EmptyOperationInputFuture {
   59     59   
            inner: Box::pin(fut),
   60     60   
        }
   61     61   
    }
   62     62   
}
   63     63   
impl
   64     64   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
   65     65   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   66         -
    > for crate::output::ContentTypeParametersOutput
          66  +
    > for crate::output::EmptyOperationOutput
   67     67   
{
   68     68   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
   69         -
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_response(self) {
   70         -
                        Ok(response) => response,
   71         -
                        Err(e) => {
   72         -
                            ::tracing::error!(error = %e, "failed to serialize response");
   73         -
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
   74         -
                        }
   75         -
                    }
          69  +
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_response(self)
          70  +
        {
          71  +
            Ok(response) => response,
          72  +
            Err(e) => {
          73  +
                ::tracing::error!(error = %e, "failed to serialize response");
          74  +
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
          75  +
            }
          76  +
        }
   76     77   
    }
   77     78   
}
   78     79   
impl
   79     80   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
   80     81   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
   81         -
    > for crate::error::ContentTypeParametersError
          82  +
    > for crate::error::EmptyOperationError
   82     83   
{
   83     84   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
   84         -
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_error(&self) {
          85  +
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_error(&self) {
   85     86   
            Ok(mut response) => {
   86         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
          87  +
                response.extensions_mut().insert(
          88  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
          89  +
                        self.name(),
          90  +
                    ),
          91  +
                );
   87     92   
                response
   88         -
            },
          93  +
            }
   89     94   
            Err(e) => {
   90     95   
                ::tracing::error!(error = %e, "failed to serialize response");
   91     96   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
   92     97   
            }
   93     98   
        }
   94     99   
    }
   95    100   
}
   96    101   
   97    102   
::pin_project_lite::pin_project! {
   98    103   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
   99         -
    /// [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput) using modelled bindings.
  100         -
    pub struct PutWithContentEncodingInputFuture {
  101         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutWithContentEncodingInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         104  +
    /// [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput) using modelled bindings.
         105  +
    pub struct KitchenSinkOperationInputFuture {
         106  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::KitchenSinkOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  102    107   
    }
  103    108   
}
  104    109   
  105         -
impl std::future::Future for PutWithContentEncodingInputFuture {
         110  +
impl std::future::Future for KitchenSinkOperationInputFuture {
  106    111   
    type Output = Result<
  107         -
        crate::input::PutWithContentEncodingInput,
         112  +
        crate::input::KitchenSinkOperationInput,
  108    113   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  109    114   
    >;
  110    115   
  111    116   
    fn poll(
  112    117   
        self: std::pin::Pin<&mut Self>,
  113    118   
        cx: &mut std::task::Context<'_>,
  114    119   
    ) -> std::task::Poll<Self::Output> {
  115    120   
        let this = self.project();
  116    121   
        this.inner.as_mut().poll(cx)
  117    122   
    }
  118    123   
}
  119    124   
  120    125   
impl<B>
  121    126   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  122    127   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  123    128   
        B,
  124         -
    > for crate::input::PutWithContentEncodingInput
         129  +
    > for crate::input::KitchenSinkOperationInput
  125    130   
where
  126    131   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  127    132   
    B: 'static,
  128    133   
  129    134   
    B::Data: Send,
  130    135   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  131    136   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  132    137   
{
  133    138   
    type Rejection =
  134    139   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  135         -
    type Future = PutWithContentEncodingInputFuture;
         140  +
    type Future = KitchenSinkOperationInputFuture;
  136    141   
  137    142   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  138    143   
        let fut = async move {
  139    144   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  140    145   
                request.headers(),
  141    146   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  142    147   
            ) {
  143    148   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  144    149   
            }
  145         -
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
         150  +
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
  146    151   
                            .await
  147    152   
        };
  148    153   
        use ::futures_util::future::TryFutureExt;
  149    154   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  150    155   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  151    156   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  152    157   
                    });
  153         -
        PutWithContentEncodingInputFuture {
         158  +
        KitchenSinkOperationInputFuture {
  154    159   
            inner: Box::pin(fut),
  155    160   
        }
  156    161   
    }
  157    162   
}
  158    163   
impl
  159    164   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  160    165   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  161         -
    > for crate::output::PutWithContentEncodingOutput
         166  +
    > for crate::output::KitchenSinkOperationOutput
  162    167   
{
  163    168   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  164         -
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_response(self) {
         169  +
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_response(self) {
  165    170   
                        Ok(response) => response,
  166    171   
                        Err(e) => {
  167    172   
                            ::tracing::error!(error = %e, "failed to serialize response");
  168    173   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  169    174   
                        }
  170    175   
                    }
  171    176   
    }
  172    177   
}
  173    178   
impl
  174    179   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  175    180   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  176         -
    > for crate::error::PutWithContentEncodingError
         181  +
    > for crate::error::KitchenSinkOperationError
  177    182   
{
  178    183   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  179         -
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_error(&self) {
         184  +
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_error(&self) {
  180    185   
            Ok(mut response) => {
  181    186   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  182    187   
                response
  183    188   
            },
  184    189   
            Err(e) => {
  185    190   
                ::tracing::error!(error = %e, "failed to serialize response");
  186    191   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  187    192   
            }
  188    193   
        }
  189    194   
    }
  190    195   
}
  191    196   
  192    197   
::pin_project_lite::pin_project! {
  193    198   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  194         -
    /// [`FractionalSecondsInput`](crate::input::FractionalSecondsInput) using modelled bindings.
  195         -
    pub struct FractionalSecondsInputFuture {
  196         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::FractionalSecondsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         199  +
    /// [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput) using modelled bindings.
         200  +
    pub struct SimpleScalarPropertiesInputFuture {
         201  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SimpleScalarPropertiesInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  197    202   
    }
  198    203   
}
  199    204   
  200         -
impl std::future::Future for FractionalSecondsInputFuture {
         205  +
impl std::future::Future for SimpleScalarPropertiesInputFuture {
  201    206   
    type Output = Result<
  202         -
        crate::input::FractionalSecondsInput,
         207  +
        crate::input::SimpleScalarPropertiesInput,
  203    208   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  204    209   
    >;
  205    210   
  206    211   
    fn poll(
  207    212   
        self: std::pin::Pin<&mut Self>,
  208    213   
        cx: &mut std::task::Context<'_>,
  209    214   
    ) -> std::task::Poll<Self::Output> {
  210    215   
        let this = self.project();
  211    216   
        this.inner.as_mut().poll(cx)
  212    217   
    }
  213    218   
}
  214    219   
  215    220   
impl<B>
  216    221   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  217    222   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  218    223   
        B,
  219         -
    > for crate::input::FractionalSecondsInput
         224  +
    > for crate::input::SimpleScalarPropertiesInput
  220    225   
where
  221    226   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  222    227   
    B: 'static,
  223    228   
  224    229   
    B::Data: Send,
  225    230   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  226    231   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  227    232   
{
  228    233   
    type Rejection =
  229    234   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  230         -
    type Future = FractionalSecondsInputFuture;
         235  +
    type Future = SimpleScalarPropertiesInputFuture;
  231    236   
  232    237   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  233    238   
        let fut = async move {
  234    239   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  235    240   
                request.headers(),
  236    241   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  237    242   
            ) {
  238    243   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  239    244   
            }
  240         -
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
  241         -
                request,
  242         -
            )
  243         -
            .await
         245  +
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
         246  +
                            .await
  244    247   
        };
  245    248   
        use ::futures_util::future::TryFutureExt;
  246    249   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  247    250   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  248    251   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  249    252   
                    });
  250         -
        FractionalSecondsInputFuture {
         253  +
        SimpleScalarPropertiesInputFuture {
  251    254   
            inner: Box::pin(fut),
  252    255   
        }
  253    256   
    }
  254    257   
}
  255    258   
impl
  256    259   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  257    260   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  258         -
    > for crate::output::FractionalSecondsOutput
         261  +
    > for crate::output::SimpleScalarPropertiesOutput
  259    262   
{
  260    263   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  261         -
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_response(
  262         -
            self,
  263         -
        ) {
  264         -
            Ok(response) => response,
  265         -
            Err(e) => {
  266         -
                ::tracing::error!(error = %e, "failed to serialize response");
  267         -
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  268         -
            }
  269         -
        }
         264  +
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_response(self) {
         265  +
                        Ok(response) => response,
         266  +
                        Err(e) => {
         267  +
                            ::tracing::error!(error = %e, "failed to serialize response");
         268  +
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
         269  +
                        }
         270  +
                    }
  270    271   
    }
  271    272   
}
  272    273   
impl
  273    274   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  274    275   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  275         -
    > for crate::error::FractionalSecondsError
         276  +
    > for crate::error::SimpleScalarPropertiesError
  276    277   
{
  277    278   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  278         -
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_error(
  279         -
            &self,
  280         -
        ) {
         279  +
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_error(&self) {
  281    280   
            Ok(mut response) => {
  282         -
                response.extensions_mut().insert(
  283         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  284         -
                        self.name(),
  285         -
                    ),
  286         -
                );
         281  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  287    282   
                response
  288         -
            }
         283  +
            },
  289    284   
            Err(e) => {
  290    285   
                ::tracing::error!(error = %e, "failed to serialize response");
  291    286   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  292    287   
            }
  293    288   
        }
  294    289   
    }
  295    290   
}
  296    291   
  297    292   
::pin_project_lite::pin_project! {
  298    293   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  299         -
    /// [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput) using modelled bindings.
  300         -
    pub struct DatetimeOffsetsInputFuture {
  301         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DatetimeOffsetsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         294  +
    /// [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput) using modelled bindings.
         295  +
    pub struct OperationWithOptionalInputOutputInputFuture {
         296  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::OperationWithOptionalInputOutputInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  302    297   
    }
  303    298   
}
  304    299   
  305         -
impl std::future::Future for DatetimeOffsetsInputFuture {
         300  +
impl std::future::Future for OperationWithOptionalInputOutputInputFuture {
  306    301   
    type Output = Result<
  307         -
        crate::input::DatetimeOffsetsInput,
         302  +
        crate::input::OperationWithOptionalInputOutputInput,
  308    303   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  309    304   
    >;
  310    305   
  311    306   
    fn poll(
  312    307   
        self: std::pin::Pin<&mut Self>,
  313    308   
        cx: &mut std::task::Context<'_>,
  314    309   
    ) -> std::task::Poll<Self::Output> {
  315    310   
        let this = self.project();
  316    311   
        this.inner.as_mut().poll(cx)
  317    312   
    }
  318    313   
}
  319    314   
  320    315   
impl<B>
  321    316   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  322    317   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  323    318   
        B,
  324         -
    > for crate::input::DatetimeOffsetsInput
         319  +
    > for crate::input::OperationWithOptionalInputOutputInput
  325    320   
where
  326    321   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  327    322   
    B: 'static,
  328    323   
  329    324   
    B::Data: Send,
  330    325   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  331    326   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  332    327   
{
  333    328   
    type Rejection =
  334    329   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  335         -
    type Future = DatetimeOffsetsInputFuture;
         330  +
    type Future = OperationWithOptionalInputOutputInputFuture;
  336    331   
  337    332   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  338    333   
        let fut = async move {
  339    334   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  340    335   
                request.headers(),
  341    336   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  342    337   
            ) {
  343    338   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  344    339   
            }
  345         -
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
  346         -
                .await
         340  +
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
         341  +
                            .await
  347    342   
        };
  348    343   
        use ::futures_util::future::TryFutureExt;
  349    344   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  350    345   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  351    346   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  352    347   
                    });
  353         -
        DatetimeOffsetsInputFuture {
         348  +
        OperationWithOptionalInputOutputInputFuture {
  354    349   
            inner: Box::pin(fut),
  355    350   
        }
  356    351   
    }
  357    352   
}
  358    353   
impl
  359    354   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  360    355   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  361         -
    > for crate::output::DatetimeOffsetsOutput
         356  +
    > for crate::output::OperationWithOptionalInputOutputOutput
  362    357   
{
  363    358   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  364         -
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_response(
  365         -
            self,
  366         -
        ) {
  367         -
            Ok(response) => response,
  368         -
            Err(e) => {
  369         -
                ::tracing::error!(error = %e, "failed to serialize response");
  370         -
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  371         -
            }
  372         -
        }
         359  +
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_response(self) {
         360  +
                        Ok(response) => response,
         361  +
                        Err(e) => {
         362  +
                            ::tracing::error!(error = %e, "failed to serialize response");
         363  +
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
         364  +
                        }
         365  +
                    }
  373    366   
    }
  374    367   
}
  375    368   
impl
  376    369   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  377    370   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  378         -
    > for crate::error::DatetimeOffsetsError
         371  +
    > for crate::error::OperationWithOptionalInputOutputError
  379    372   
{
  380    373   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  381         -
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_error(&self)
  382         -
        {
         374  +
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_error(&self) {
  383    375   
            Ok(mut response) => {
  384         -
                response.extensions_mut().insert(
  385         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  386         -
                        self.name(),
  387         -
                    ),
  388         -
                );
         376  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  389    377   
                response
  390         -
            }
         378  +
            },
  391    379   
            Err(e) => {
  392    380   
                ::tracing::error!(error = %e, "failed to serialize response");
  393    381   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  394    382   
            }
  395    383   
        }
  396    384   
    }
  397    385   
}
  398    386   
  399    387   
::pin_project_lite::pin_project! {
  400    388   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  401         -
    /// [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput) using modelled bindings.
  402         -
    pub struct HostWithPathOperationInputFuture {
  403         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::HostWithPathOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         389  +
    /// [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput) using modelled bindings.
         390  +
    pub struct PutAndGetInlineDocumentsInputFuture {
         391  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutAndGetInlineDocumentsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  404    392   
    }
  405    393   
}
  406    394   
  407         -
impl std::future::Future for HostWithPathOperationInputFuture {
         395  +
impl std::future::Future for PutAndGetInlineDocumentsInputFuture {
  408    396   
    type Output = Result<
  409         -
        crate::input::HostWithPathOperationInput,
         397  +
        crate::input::PutAndGetInlineDocumentsInput,
  410    398   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  411    399   
    >;
  412    400   
  413    401   
    fn poll(
  414    402   
        self: std::pin::Pin<&mut Self>,
  415    403   
        cx: &mut std::task::Context<'_>,
  416    404   
    ) -> std::task::Poll<Self::Output> {
  417    405   
        let this = self.project();
  418    406   
        this.inner.as_mut().poll(cx)
  419    407   
    }
  420    408   
}
  421    409   
  422    410   
impl<B>
  423    411   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  424    412   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  425    413   
        B,
  426         -
    > for crate::input::HostWithPathOperationInput
         414  +
    > for crate::input::PutAndGetInlineDocumentsInput
  427    415   
where
  428    416   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  429    417   
    B: 'static,
  430    418   
  431    419   
    B::Data: Send,
  432    420   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  433    421   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  434    422   
{
  435    423   
    type Rejection =
  436    424   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  437         -
    type Future = HostWithPathOperationInputFuture;
         425  +
    type Future = PutAndGetInlineDocumentsInputFuture;
  438    426   
  439    427   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  440    428   
        let fut = async move {
  441    429   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  442    430   
                request.headers(),
  443    431   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  444    432   
            ) {
  445    433   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  446    434   
            }
  447         -
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
         435  +
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
  448    436   
                            .await
  449    437   
        };
  450    438   
        use ::futures_util::future::TryFutureExt;
  451    439   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  452    440   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  453    441   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  454    442   
                    });
  455         -
        HostWithPathOperationInputFuture {
         443  +
        PutAndGetInlineDocumentsInputFuture {
  456    444   
            inner: Box::pin(fut),
  457    445   
        }
  458    446   
    }
  459    447   
}
  460    448   
impl
  461    449   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  462    450   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  463         -
    > for crate::output::HostWithPathOperationOutput
         451  +
    > for crate::output::PutAndGetInlineDocumentsOutput
  464    452   
{
  465    453   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  466         -
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_response(self) {
         454  +
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_response(self) {
  467    455   
                        Ok(response) => response,
  468    456   
                        Err(e) => {
  469    457   
                            ::tracing::error!(error = %e, "failed to serialize response");
  470    458   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  471    459   
                        }
  472    460   
                    }
  473    461   
    }
  474    462   
}
  475    463   
impl
  476    464   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  477    465   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  478         -
    > for crate::error::HostWithPathOperationError
         466  +
    > for crate::error::PutAndGetInlineDocumentsError
  479    467   
{
  480    468   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  481         -
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_error(&self) {
         469  +
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_error(&self) {
  482    470   
            Ok(mut response) => {
  483    471   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  484    472   
                response
  485    473   
            },
  486    474   
            Err(e) => {
  487    475   
                ::tracing::error!(error = %e, "failed to serialize response");
  488    476   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  489    477   
            }
  490    478   
        }
  491    479   
    }
  492    480   
}
  493    481   
  494    482   
::pin_project_lite::pin_project! {
  495    483   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  496         -
    /// [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) using modelled bindings.
  497         -
    pub struct EndpointWithHostLabelOperationInputFuture {
  498         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointWithHostLabelOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         484  +
    /// [`JsonEnumsInput`](crate::input::JsonEnumsInput) using modelled bindings.
         485  +
    pub struct JsonEnumsInputFuture {
         486  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  499    487   
    }
  500    488   
}
  501    489   
  502         -
impl std::future::Future for EndpointWithHostLabelOperationInputFuture {
         490  +
impl std::future::Future for JsonEnumsInputFuture {
  503    491   
    type Output = Result<
  504         -
        crate::input::EndpointWithHostLabelOperationInput,
         492  +
        crate::input::JsonEnumsInput,
  505    493   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  506    494   
    >;
  507    495   
  508    496   
    fn poll(
  509    497   
        self: std::pin::Pin<&mut Self>,
  510    498   
        cx: &mut std::task::Context<'_>,
  511    499   
    ) -> std::task::Poll<Self::Output> {
  512    500   
        let this = self.project();
  513    501   
        this.inner.as_mut().poll(cx)
  514    502   
    }
  515    503   
}
  516    504   
  517    505   
impl<B>
  518    506   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  519    507   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  520    508   
        B,
  521         -
    > for crate::input::EndpointWithHostLabelOperationInput
         509  +
    > for crate::input::JsonEnumsInput
  522    510   
where
  523    511   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  524    512   
    B: 'static,
  525    513   
  526    514   
    B::Data: Send,
  527    515   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  528    516   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  529    517   
{
  530    518   
    type Rejection =
  531    519   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  532         -
    type Future = EndpointWithHostLabelOperationInputFuture;
         520  +
    type Future = JsonEnumsInputFuture;
  533    521   
  534    522   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  535    523   
        let fut = async move {
  536    524   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  537    525   
                request.headers(),
  538    526   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  539    527   
            ) {
  540    528   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  541    529   
            }
  542         -
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
  543         -
                            .await
         530  +
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
  544    531   
        };
  545    532   
        use ::futures_util::future::TryFutureExt;
  546    533   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  547    534   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  548    535   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  549    536   
                    });
  550         -
        EndpointWithHostLabelOperationInputFuture {
         537  +
        JsonEnumsInputFuture {
  551    538   
            inner: Box::pin(fut),
  552    539   
        }
  553    540   
    }
  554    541   
}
  555    542   
impl
  556    543   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  557    544   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  558         -
    > for crate::output::EndpointWithHostLabelOperationOutput
         545  +
    > for crate::output::JsonEnumsOutput
  559    546   
{
  560    547   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  561         -
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_response(self) {
  562         -
                        Ok(response) => response,
  563         -
                        Err(e) => {
  564         -
                            ::tracing::error!(error = %e, "failed to serialize response");
  565         -
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  566         -
                        }
  567         -
                    }
         548  +
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_response(self) {
         549  +
            Ok(response) => response,
         550  +
            Err(e) => {
         551  +
                ::tracing::error!(error = %e, "failed to serialize response");
         552  +
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
         553  +
            }
         554  +
        }
  568    555   
    }
  569    556   
}
  570    557   
impl
  571    558   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  572    559   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  573         -
    > for crate::error::EndpointWithHostLabelOperationError
         560  +
    > for crate::error::JsonEnumsError
  574    561   
{
  575    562   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  576         -
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_error(&self) {
         563  +
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_error(&self) {
  577    564   
            Ok(mut response) => {
  578         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
         565  +
                response.extensions_mut().insert(
         566  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
         567  +
                        self.name(),
         568  +
                    ),
         569  +
                );
  579    570   
                response
  580         -
            },
         571  +
            }
  581    572   
            Err(e) => {
  582    573   
                ::tracing::error!(error = %e, "failed to serialize response");
  583    574   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  584    575   
            }
  585    576   
        }
  586    577   
    }
  587    578   
}
  588    579   
  589    580   
::pin_project_lite::pin_project! {
  590    581   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  591         -
    /// [`EndpointOperationInput`](crate::input::EndpointOperationInput) using modelled bindings.
  592         -
    pub struct EndpointOperationInputFuture {
  593         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         582  +
    /// [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) using modelled bindings.
         583  +
    pub struct JsonIntEnumsInputFuture {
         584  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonIntEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  594    585   
    }
  595    586   
}
  596    587   
  597         -
impl std::future::Future for EndpointOperationInputFuture {
         588  +
impl std::future::Future for JsonIntEnumsInputFuture {
  598    589   
    type Output = Result<
  599         -
        crate::input::EndpointOperationInput,
         590  +
        crate::input::JsonIntEnumsInput,
  600    591   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  601    592   
    >;
  602    593   
  603    594   
    fn poll(
  604    595   
        self: std::pin::Pin<&mut Self>,
  605    596   
        cx: &mut std::task::Context<'_>,
  606    597   
    ) -> std::task::Poll<Self::Output> {
  607    598   
        let this = self.project();
  608    599   
        this.inner.as_mut().poll(cx)
  609    600   
    }
  610    601   
}
  611    602   
  612    603   
impl<B>
  613    604   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  614    605   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  615    606   
        B,
  616         -
    > for crate::input::EndpointOperationInput
         607  +
    > for crate::input::JsonIntEnumsInput
  617    608   
where
  618    609   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  619    610   
    B: 'static,
  620    611   
  621    612   
    B::Data: Send,
  622    613   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  623    614   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  624    615   
{
  625    616   
    type Rejection =
  626    617   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  627         -
    type Future = EndpointOperationInputFuture;
         618  +
    type Future = JsonIntEnumsInputFuture;
  628    619   
  629    620   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  630    621   
        let fut = async move {
  631    622   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  632    623   
                request.headers(),
  633    624   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  634    625   
            ) {
  635    626   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  636    627   
            }
  637         -
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
  638         -
                request,
  639         -
            )
  640         -
            .await
         628  +
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
         629  +
                .await
  641    630   
        };
  642    631   
        use ::futures_util::future::TryFutureExt;
  643    632   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  644    633   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  645    634   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  646    635   
                    });
  647         -
        EndpointOperationInputFuture {
         636  +
        JsonIntEnumsInputFuture {
  648    637   
            inner: Box::pin(fut),
  649    638   
        }
  650    639   
    }
  651    640   
}
  652    641   
impl
  653    642   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  654    643   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  655         -
    > for crate::output::EndpointOperationOutput
         644  +
    > for crate::output::JsonIntEnumsOutput
  656    645   
{
  657    646   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  658         -
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_response(
  659         -
            self,
  660         -
        ) {
         647  +
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_response(self) {
  661    648   
            Ok(response) => response,
  662    649   
            Err(e) => {
  663    650   
                ::tracing::error!(error = %e, "failed to serialize response");
  664    651   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  665    652   
            }
  666    653   
        }
  667    654   
    }
  668    655   
}
  669    656   
impl
  670    657   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  671    658   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  672         -
    > for crate::error::EndpointOperationError
         659  +
    > for crate::error::JsonIntEnumsError
  673    660   
{
  674    661   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  675         -
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_error(
  676         -
            &self,
  677         -
        ) {
         662  +
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_error(&self) {
  678    663   
            Ok(mut response) => {
  679    664   
                response.extensions_mut().insert(
  680    665   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  681    666   
                        self.name(),
  682    667   
                    ),
  683    668   
                );
  684    669   
                response
  685    670   
            }
  686    671   
            Err(e) => {
  687    672   
                ::tracing::error!(error = %e, "failed to serialize response");
  688    673   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  689    674   
            }
  690    675   
        }
  691    676   
    }
  692    677   
}
  693    678   
  694    679   
::pin_project_lite::pin_project! {
  695    680   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  696         -
    /// [`JsonUnionsInput`](crate::input::JsonUnionsInput) using modelled bindings.
  697         -
    pub struct JsonUnionsInputFuture {
  698         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonUnionsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         681  +
    /// [`NullOperationInput`](crate::input::NullOperationInput) using modelled bindings.
         682  +
    pub struct NullOperationInputFuture {
         683  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::NullOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  699    684   
    }
  700    685   
}
  701    686   
  702         -
impl std::future::Future for JsonUnionsInputFuture {
         687  +
impl std::future::Future for NullOperationInputFuture {
  703    688   
    type Output = Result<
  704         -
        crate::input::JsonUnionsInput,
         689  +
        crate::input::NullOperationInput,
  705    690   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  706    691   
    >;
  707    692   
  708    693   
    fn poll(
  709    694   
        self: std::pin::Pin<&mut Self>,
  710    695   
        cx: &mut std::task::Context<'_>,
  711    696   
    ) -> std::task::Poll<Self::Output> {
  712    697   
        let this = self.project();
  713    698   
        this.inner.as_mut().poll(cx)
  714    699   
    }
  715    700   
}
  716    701   
  717    702   
impl<B>
  718    703   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  719    704   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  720    705   
        B,
  721         -
    > for crate::input::JsonUnionsInput
         706  +
    > for crate::input::NullOperationInput
  722    707   
where
  723    708   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  724    709   
    B: 'static,
  725    710   
  726    711   
    B::Data: Send,
  727    712   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  728    713   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  729    714   
{
  730    715   
    type Rejection =
  731    716   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  732         -
    type Future = JsonUnionsInputFuture;
         717  +
    type Future = NullOperationInputFuture;
  733    718   
  734    719   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  735    720   
        let fut = async move {
  736    721   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  737    722   
                request.headers(),
  738    723   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  739    724   
            ) {
  740    725   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  741    726   
            }
  742         -
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
         727  +
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
         728  +
                .await
  743    729   
        };
  744    730   
        use ::futures_util::future::TryFutureExt;
  745    731   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  746    732   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  747    733   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  748    734   
                    });
  749         -
        JsonUnionsInputFuture {
         735  +
        NullOperationInputFuture {
  750    736   
            inner: Box::pin(fut),
  751    737   
        }
  752    738   
    }
  753    739   
}
  754    740   
impl
  755    741   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  756    742   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  757         -
    > for crate::output::JsonUnionsOutput
         743  +
    > for crate::output::NullOperationOutput
  758    744   
{
  759    745   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  760         -
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_response(self) {
         746  +
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_response(self) {
  761    747   
            Ok(response) => response,
  762    748   
            Err(e) => {
  763    749   
                ::tracing::error!(error = %e, "failed to serialize response");
  764    750   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  765    751   
            }
  766    752   
        }
  767    753   
    }
  768    754   
}
  769    755   
impl
  770    756   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  771    757   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  772         -
    > for crate::error::JsonUnionsError
         758  +
    > for crate::error::NullOperationError
  773    759   
{
  774    760   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  775         -
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_error(&self) {
         761  +
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_error(&self) {
  776    762   
            Ok(mut response) => {
  777    763   
                response.extensions_mut().insert(
  778    764   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  779    765   
                        self.name(),
  780    766   
                    ),
  781    767   
                );
  782    768   
                response
  783    769   
            }
  784    770   
            Err(e) => {
  785    771   
                ::tracing::error!(error = %e, "failed to serialize response");
  786    772   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  787    773   
            }
  788    774   
        }
  789    775   
    }
  790    776   
}
  791    777   
  792    778   
::pin_project_lite::pin_project! {
  793    779   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  794         -
    /// [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput) using modelled bindings.
  795         -
    pub struct GreetingWithErrorsInputFuture {
  796         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GreetingWithErrorsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         780  +
    /// [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput) using modelled bindings.
         781  +
    pub struct SparseNullsOperationInputFuture {
         782  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SparseNullsOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  797    783   
    }
  798    784   
}
  799    785   
  800         -
impl std::future::Future for GreetingWithErrorsInputFuture {
         786  +
impl std::future::Future for SparseNullsOperationInputFuture {
  801    787   
    type Output = Result<
  802         -
        crate::input::GreetingWithErrorsInput,
         788  +
        crate::input::SparseNullsOperationInput,
  803    789   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  804    790   
    >;
  805    791   
  806    792   
    fn poll(
  807    793   
        self: std::pin::Pin<&mut Self>,
  808    794   
        cx: &mut std::task::Context<'_>,
  809    795   
    ) -> std::task::Poll<Self::Output> {
  810    796   
        let this = self.project();
  811    797   
        this.inner.as_mut().poll(cx)
  812    798   
    }
  813    799   
}
  814    800   
  815    801   
impl<B>
  816    802   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  817    803   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  818    804   
        B,
  819         -
    > for crate::input::GreetingWithErrorsInput
         805  +
    > for crate::input::SparseNullsOperationInput
  820    806   
where
  821    807   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  822    808   
    B: 'static,
  823    809   
  824    810   
    B::Data: Send,
  825    811   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  826    812   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  827    813   
{
  828    814   
    type Rejection =
  829    815   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  830         -
    type Future = GreetingWithErrorsInputFuture;
         816  +
    type Future = SparseNullsOperationInputFuture;
  831    817   
  832    818   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  833    819   
        let fut = async move {
  834    820   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  835    821   
                request.headers(),
  836    822   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  837    823   
            ) {
  838    824   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  839    825   
            }
  840         -
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
  841         -
                request,
  842         -
            )
  843         -
            .await
         826  +
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
         827  +
                            .await
  844    828   
        };
  845    829   
        use ::futures_util::future::TryFutureExt;
  846    830   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  847    831   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  848    832   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  849    833   
                    });
  850         -
        GreetingWithErrorsInputFuture {
         834  +
        SparseNullsOperationInputFuture {
  851    835   
            inner: Box::pin(fut),
  852    836   
        }
  853    837   
    }
  854    838   
}
  855    839   
impl
  856    840   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  857    841   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  858         -
    > for crate::output::GreetingWithErrorsOutput
         842  +
    > for crate::output::SparseNullsOperationOutput
  859    843   
{
  860    844   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  861         -
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_response(self) {
         845  +
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_response(self) {
  862    846   
                        Ok(response) => response,
  863    847   
                        Err(e) => {
  864    848   
                            ::tracing::error!(error = %e, "failed to serialize response");
  865    849   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  866    850   
                        }
  867    851   
                    }
  868    852   
    }
  869    853   
}
  870    854   
impl
  871    855   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  872    856   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  873         -
    > for crate::error::GreetingWithErrorsError
         857  +
    > for crate::error::SparseNullsOperationError
  874    858   
{
  875    859   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  876         -
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_error(
  877         -
            &self,
  878         -
        ) {
         860  +
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_error(&self) {
  879    861   
            Ok(mut response) => {
  880         -
                response.extensions_mut().insert(
  881         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
  882         -
                        self.name(),
  883         -
                    ),
  884         -
                );
         862  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
  885    863   
                response
  886         -
            }
         864  +
            },
  887    865   
            Err(e) => {
  888    866   
                ::tracing::error!(error = %e, "failed to serialize response");
  889    867   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  890    868   
            }
  891    869   
        }
  892    870   
    }
  893    871   
}
  894    872   
  895    873   
::pin_project_lite::pin_project! {
  896    874   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  897         -
    /// [`SparseNullsOperationInput`](crate::input::SparseNullsOperationInput) using modelled bindings.
  898         -
    pub struct SparseNullsOperationInputFuture {
  899         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SparseNullsOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         875  +
    /// [`GreetingWithErrorsInput`](crate::input::GreetingWithErrorsInput) using modelled bindings.
         876  +
    pub struct GreetingWithErrorsInputFuture {
         877  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::GreetingWithErrorsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  900    878   
    }
  901    879   
}
  902    880   
  903         -
impl std::future::Future for SparseNullsOperationInputFuture {
         881  +
impl std::future::Future for GreetingWithErrorsInputFuture {
  904    882   
    type Output = Result<
  905         -
        crate::input::SparseNullsOperationInput,
         883  +
        crate::input::GreetingWithErrorsInput,
  906    884   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
  907    885   
    >;
  908    886   
  909    887   
    fn poll(
  910    888   
        self: std::pin::Pin<&mut Self>,
  911    889   
        cx: &mut std::task::Context<'_>,
  912    890   
    ) -> std::task::Poll<Self::Output> {
  913    891   
        let this = self.project();
  914    892   
        this.inner.as_mut().poll(cx)
  915    893   
    }
  916    894   
}
  917    895   
  918    896   
impl<B>
  919    897   
    ::aws_smithy_legacy_http_server::request::FromRequest<
  920    898   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  921    899   
        B,
  922         -
    > for crate::input::SparseNullsOperationInput
         900  +
    > for crate::input::GreetingWithErrorsInput
  923    901   
where
  924    902   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
  925    903   
    B: 'static,
  926    904   
  927    905   
    B::Data: Send,
  928    906   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
  929    907   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
  930    908   
{
  931    909   
    type Rejection =
  932    910   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
  933         -
    type Future = SparseNullsOperationInputFuture;
         911  +
    type Future = GreetingWithErrorsInputFuture;
  934    912   
  935    913   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
  936    914   
        let fut = async move {
  937    915   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
  938    916   
                request.headers(),
  939    917   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
  940    918   
            ) {
  941    919   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
  942    920   
            }
  943         -
            crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation_http_request(request)
  944         -
                            .await
         921  +
            crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors_http_request(
         922  +
                request,
         923  +
            )
         924  +
            .await
  945    925   
        };
  946    926   
        use ::futures_util::future::TryFutureExt;
  947    927   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
  948    928   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
  949    929   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
  950    930   
                    });
  951         -
        SparseNullsOperationInputFuture {
         931  +
        GreetingWithErrorsInputFuture {
  952    932   
            inner: Box::pin(fut),
  953    933   
        }
  954    934   
    }
  955    935   
}
  956    936   
impl
  957    937   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  958    938   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  959         -
    > for crate::output::SparseNullsOperationOutput
         939  +
    > for crate::output::GreetingWithErrorsOutput
  960    940   
{
  961    941   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  962         -
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_response(self) {
         942  +
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_response(self) {
  963    943   
                        Ok(response) => response,
  964    944   
                        Err(e) => {
  965    945   
                            ::tracing::error!(error = %e, "failed to serialize response");
  966    946   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  967    947   
                        }
  968    948   
                    }
  969    949   
    }
  970    950   
}
  971    951   
impl
  972    952   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
  973    953   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
  974         -
    > for crate::error::SparseNullsOperationError
         954  +
    > for crate::error::GreetingWithErrorsError
  975    955   
{
  976    956   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
  977         -
        match crate::protocol_serde::shape_sparse_nulls_operation::ser_sparse_nulls_operation_http_error(&self) {
         957  +
        match crate::protocol_serde::shape_greeting_with_errors::ser_greeting_with_errors_http_error(
         958  +
            &self,
         959  +
        ) {
  978    960   
            Ok(mut response) => {
  979         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
         961  +
                response.extensions_mut().insert(
         962  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
         963  +
                        self.name(),
         964  +
                    ),
         965  +
                );
  980    966   
                response
  981         -
            },
         967  +
            }
  982    968   
            Err(e) => {
  983    969   
                ::tracing::error!(error = %e, "failed to serialize response");
  984    970   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
  985    971   
            }
  986    972   
        }
  987    973   
    }
  988    974   
}
  989    975   
  990    976   
::pin_project_lite::pin_project! {
  991    977   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
  992         -
    /// [`NullOperationInput`](crate::input::NullOperationInput) using modelled bindings.
  993         -
    pub struct NullOperationInputFuture {
  994         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::NullOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
         978  +
    /// [`JsonUnionsInput`](crate::input::JsonUnionsInput) using modelled bindings.
         979  +
    pub struct JsonUnionsInputFuture {
         980  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonUnionsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
  995    981   
    }
  996    982   
}
  997    983   
  998         -
impl std::future::Future for NullOperationInputFuture {
         984  +
impl std::future::Future for JsonUnionsInputFuture {
  999    985   
    type Output = Result<
 1000         -
        crate::input::NullOperationInput,
         986  +
        crate::input::JsonUnionsInput,
 1001    987   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1002    988   
    >;
 1003    989   
 1004    990   
    fn poll(
 1005    991   
        self: std::pin::Pin<&mut Self>,
 1006    992   
        cx: &mut std::task::Context<'_>,
 1007    993   
    ) -> std::task::Poll<Self::Output> {
 1008    994   
        let this = self.project();
 1009    995   
        this.inner.as_mut().poll(cx)
 1010    996   
    }
 1011    997   
}
 1012    998   
 1013    999   
impl<B>
 1014   1000   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1015   1001   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1016   1002   
        B,
 1017         -
    > for crate::input::NullOperationInput
        1003  +
    > for crate::input::JsonUnionsInput
 1018   1004   
where
 1019   1005   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1020   1006   
    B: 'static,
 1021   1007   
 1022   1008   
    B::Data: Send,
 1023   1009   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1024   1010   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1025   1011   
{
 1026   1012   
    type Rejection =
 1027   1013   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1028         -
    type Future = NullOperationInputFuture;
        1014  +
    type Future = JsonUnionsInputFuture;
 1029   1015   
 1030   1016   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1031   1017   
        let fut = async move {
 1032   1018   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1033   1019   
                request.headers(),
 1034   1020   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1035   1021   
            ) {
 1036   1022   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1037   1023   
            }
 1038         -
            crate::protocol_serde::shape_null_operation::de_null_operation_http_request(request)
 1039         -
                .await
        1024  +
            crate::protocol_serde::shape_json_unions::de_json_unions_http_request(request).await
 1040   1025   
        };
 1041   1026   
        use ::futures_util::future::TryFutureExt;
 1042   1027   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1043   1028   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1044   1029   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1045   1030   
                    });
 1046         -
        NullOperationInputFuture {
        1031  +
        JsonUnionsInputFuture {
 1047   1032   
            inner: Box::pin(fut),
 1048   1033   
        }
 1049   1034   
    }
 1050   1035   
}
 1051   1036   
impl
 1052   1037   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1053   1038   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1054         -
    > for crate::output::NullOperationOutput
        1039  +
    > for crate::output::JsonUnionsOutput
 1055   1040   
{
 1056   1041   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1057         -
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_response(self) {
        1042  +
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_response(self) {
 1058   1043   
            Ok(response) => response,
 1059   1044   
            Err(e) => {
 1060   1045   
                ::tracing::error!(error = %e, "failed to serialize response");
 1061   1046   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1062   1047   
            }
 1063   1048   
        }
 1064   1049   
    }
 1065   1050   
}
 1066   1051   
impl
 1067   1052   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1068   1053   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1069         -
    > for crate::error::NullOperationError
        1054  +
    > for crate::error::JsonUnionsError
 1070   1055   
{
 1071   1056   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1072         -
        match crate::protocol_serde::shape_null_operation::ser_null_operation_http_error(&self) {
        1057  +
        match crate::protocol_serde::shape_json_unions::ser_json_unions_http_error(&self) {
 1073   1058   
            Ok(mut response) => {
 1074   1059   
                response.extensions_mut().insert(
 1075   1060   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1076   1061   
                        self.name(),
 1077   1062   
                    ),
 1078   1063   
                );
 1079   1064   
                response
 1080   1065   
            }
 1081   1066   
            Err(e) => {
 1082   1067   
                ::tracing::error!(error = %e, "failed to serialize response");
 1083   1068   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1084   1069   
            }
 1085   1070   
        }
 1086   1071   
    }
 1087   1072   
}
 1088   1073   
 1089   1074   
::pin_project_lite::pin_project! {
 1090   1075   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1091         -
    /// [`JsonIntEnumsInput`](crate::input::JsonIntEnumsInput) using modelled bindings.
 1092         -
    pub struct JsonIntEnumsInputFuture {
 1093         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonIntEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1076  +
    /// [`EndpointOperationInput`](crate::input::EndpointOperationInput) using modelled bindings.
        1077  +
    pub struct EndpointOperationInputFuture {
        1078  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1094   1079   
    }
 1095   1080   
}
 1096   1081   
 1097         -
impl std::future::Future for JsonIntEnumsInputFuture {
        1082  +
impl std::future::Future for EndpointOperationInputFuture {
 1098   1083   
    type Output = Result<
 1099         -
        crate::input::JsonIntEnumsInput,
        1084  +
        crate::input::EndpointOperationInput,
 1100   1085   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1101   1086   
    >;
 1102   1087   
 1103   1088   
    fn poll(
 1104   1089   
        self: std::pin::Pin<&mut Self>,
 1105   1090   
        cx: &mut std::task::Context<'_>,
 1106   1091   
    ) -> std::task::Poll<Self::Output> {
 1107   1092   
        let this = self.project();
 1108   1093   
        this.inner.as_mut().poll(cx)
 1109   1094   
    }
 1110   1095   
}
 1111   1096   
 1112   1097   
impl<B>
 1113   1098   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1114   1099   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1115   1100   
        B,
 1116         -
    > for crate::input::JsonIntEnumsInput
        1101  +
    > for crate::input::EndpointOperationInput
 1117   1102   
where
 1118   1103   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1119   1104   
    B: 'static,
 1120   1105   
 1121   1106   
    B::Data: Send,
 1122   1107   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1123   1108   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1124   1109   
{
 1125   1110   
    type Rejection =
 1126   1111   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1127         -
    type Future = JsonIntEnumsInputFuture;
        1112  +
    type Future = EndpointOperationInputFuture;
 1128   1113   
 1129   1114   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1130   1115   
        let fut = async move {
 1131   1116   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1132   1117   
                request.headers(),
 1133   1118   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1134   1119   
            ) {
 1135   1120   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1136   1121   
            }
 1137         -
            crate::protocol_serde::shape_json_int_enums::de_json_int_enums_http_request(request)
 1138         -
                .await
        1122  +
            crate::protocol_serde::shape_endpoint_operation::de_endpoint_operation_http_request(
        1123  +
                request,
        1124  +
            )
        1125  +
            .await
 1139   1126   
        };
 1140   1127   
        use ::futures_util::future::TryFutureExt;
 1141   1128   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1142   1129   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1143   1130   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1144   1131   
                    });
 1145         -
        JsonIntEnumsInputFuture {
        1132  +
        EndpointOperationInputFuture {
 1146   1133   
            inner: Box::pin(fut),
 1147   1134   
        }
 1148   1135   
    }
 1149   1136   
}
 1150   1137   
impl
 1151   1138   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1152   1139   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1153         -
    > for crate::output::JsonIntEnumsOutput
        1140  +
    > for crate::output::EndpointOperationOutput
 1154   1141   
{
 1155   1142   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1156         -
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_response(self) {
        1143  +
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_response(
        1144  +
            self,
        1145  +
        ) {
 1157   1146   
            Ok(response) => response,
 1158   1147   
            Err(e) => {
 1159   1148   
                ::tracing::error!(error = %e, "failed to serialize response");
 1160   1149   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1161   1150   
            }
 1162   1151   
        }
 1163   1152   
    }
 1164   1153   
}
 1165   1154   
impl
 1166   1155   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1167   1156   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1168         -
    > for crate::error::JsonIntEnumsError
        1157  +
    > for crate::error::EndpointOperationError
 1169   1158   
{
 1170   1159   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1171         -
        match crate::protocol_serde::shape_json_int_enums::ser_json_int_enums_http_error(&self) {
        1160  +
        match crate::protocol_serde::shape_endpoint_operation::ser_endpoint_operation_http_error(
        1161  +
            &self,
        1162  +
        ) {
 1172   1163   
            Ok(mut response) => {
 1173   1164   
                response.extensions_mut().insert(
 1174   1165   
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1175   1166   
                        self.name(),
 1176   1167   
                    ),
 1177   1168   
                );
 1178   1169   
                response
 1179   1170   
            }
 1180   1171   
            Err(e) => {
 1181   1172   
                ::tracing::error!(error = %e, "failed to serialize response");
 1182   1173   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1183   1174   
            }
 1184   1175   
        }
 1185   1176   
    }
 1186   1177   
}
 1187   1178   
 1188   1179   
::pin_project_lite::pin_project! {
 1189   1180   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1190         -
    /// [`JsonEnumsInput`](crate::input::JsonEnumsInput) using modelled bindings.
 1191         -
    pub struct JsonEnumsInputFuture {
 1192         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::JsonEnumsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1181  +
    /// [`EndpointWithHostLabelOperationInput`](crate::input::EndpointWithHostLabelOperationInput) using modelled bindings.
        1182  +
    pub struct EndpointWithHostLabelOperationInputFuture {
        1183  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EndpointWithHostLabelOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1193   1184   
    }
 1194   1185   
}
 1195   1186   
 1196         -
impl std::future::Future for JsonEnumsInputFuture {
        1187  +
impl std::future::Future for EndpointWithHostLabelOperationInputFuture {
 1197   1188   
    type Output = Result<
 1198         -
        crate::input::JsonEnumsInput,
        1189  +
        crate::input::EndpointWithHostLabelOperationInput,
 1199   1190   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1200   1191   
    >;
 1201   1192   
 1202   1193   
    fn poll(
 1203   1194   
        self: std::pin::Pin<&mut Self>,
 1204   1195   
        cx: &mut std::task::Context<'_>,
 1205   1196   
    ) -> std::task::Poll<Self::Output> {
 1206   1197   
        let this = self.project();
 1207   1198   
        this.inner.as_mut().poll(cx)
 1208   1199   
    }
 1209   1200   
}
 1210   1201   
 1211   1202   
impl<B>
 1212   1203   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1213   1204   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1214   1205   
        B,
 1215         -
    > for crate::input::JsonEnumsInput
        1206  +
    > for crate::input::EndpointWithHostLabelOperationInput
 1216   1207   
where
 1217   1208   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1218   1209   
    B: 'static,
 1219   1210   
 1220   1211   
    B::Data: Send,
 1221   1212   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1222   1213   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1223   1214   
{
 1224   1215   
    type Rejection =
 1225   1216   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1226         -
    type Future = JsonEnumsInputFuture;
        1217  +
    type Future = EndpointWithHostLabelOperationInputFuture;
 1227   1218   
 1228   1219   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1229   1220   
        let fut = async move {
 1230   1221   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1231   1222   
                request.headers(),
 1232   1223   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1233   1224   
            ) {
 1234   1225   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1235   1226   
            }
 1236         -
            crate::protocol_serde::shape_json_enums::de_json_enums_http_request(request).await
        1227  +
            crate::protocol_serde::shape_endpoint_with_host_label_operation::de_endpoint_with_host_label_operation_http_request(request)
        1228  +
                            .await
 1237   1229   
        };
 1238   1230   
        use ::futures_util::future::TryFutureExt;
 1239   1231   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1240   1232   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1241   1233   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1242   1234   
                    });
 1243         -
        JsonEnumsInputFuture {
        1235  +
        EndpointWithHostLabelOperationInputFuture {
 1244   1236   
            inner: Box::pin(fut),
 1245   1237   
        }
 1246   1238   
    }
 1247   1239   
}
 1248   1240   
impl
 1249   1241   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1250   1242   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1251         -
    > for crate::output::JsonEnumsOutput
        1243  +
    > for crate::output::EndpointWithHostLabelOperationOutput
 1252   1244   
{
 1253   1245   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1254         -
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_response(self) {
 1255         -
            Ok(response) => response,
 1256         -
            Err(e) => {
 1257         -
                ::tracing::error!(error = %e, "failed to serialize response");
 1258         -
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1259         -
            }
 1260         -
        }
        1246  +
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_response(self) {
        1247  +
                        Ok(response) => response,
        1248  +
                        Err(e) => {
        1249  +
                            ::tracing::error!(error = %e, "failed to serialize response");
        1250  +
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
        1251  +
                        }
        1252  +
                    }
 1261   1253   
    }
 1262   1254   
}
 1263   1255   
impl
 1264   1256   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1265   1257   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1266         -
    > for crate::error::JsonEnumsError
        1258  +
    > for crate::error::EndpointWithHostLabelOperationError
 1267   1259   
{
 1268   1260   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1269         -
        match crate::protocol_serde::shape_json_enums::ser_json_enums_http_error(&self) {
        1261  +
        match crate::protocol_serde::shape_endpoint_with_host_label_operation::ser_endpoint_with_host_label_operation_http_error(&self) {
 1270   1262   
            Ok(mut response) => {
 1271         -
                response.extensions_mut().insert(
 1272         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1273         -
                        self.name(),
 1274         -
                    ),
 1275         -
                );
        1263  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1276   1264   
                response
 1277         -
            }
        1265  +
            },
 1278   1266   
            Err(e) => {
 1279   1267   
                ::tracing::error!(error = %e, "failed to serialize response");
 1280   1268   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1281   1269   
            }
 1282   1270   
        }
 1283   1271   
    }
 1284   1272   
}
 1285   1273   
 1286   1274   
::pin_project_lite::pin_project! {
 1287   1275   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1288         -
    /// [`PutAndGetInlineDocumentsInput`](crate::input::PutAndGetInlineDocumentsInput) using modelled bindings.
 1289         -
    pub struct PutAndGetInlineDocumentsInputFuture {
 1290         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutAndGetInlineDocumentsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1276  +
    /// [`HostWithPathOperationInput`](crate::input::HostWithPathOperationInput) using modelled bindings.
        1277  +
    pub struct HostWithPathOperationInputFuture {
        1278  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::HostWithPathOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1291   1279   
    }
 1292   1280   
}
 1293   1281   
 1294         -
impl std::future::Future for PutAndGetInlineDocumentsInputFuture {
        1282  +
impl std::future::Future for HostWithPathOperationInputFuture {
 1295   1283   
    type Output = Result<
 1296         -
        crate::input::PutAndGetInlineDocumentsInput,
        1284  +
        crate::input::HostWithPathOperationInput,
 1297   1285   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1298   1286   
    >;
 1299   1287   
 1300   1288   
    fn poll(
 1301   1289   
        self: std::pin::Pin<&mut Self>,
 1302   1290   
        cx: &mut std::task::Context<'_>,
 1303   1291   
    ) -> std::task::Poll<Self::Output> {
 1304   1292   
        let this = self.project();
 1305   1293   
        this.inner.as_mut().poll(cx)
 1306   1294   
    }
 1307   1295   
}
 1308   1296   
 1309   1297   
impl<B>
 1310   1298   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1311   1299   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1312   1300   
        B,
 1313         -
    > for crate::input::PutAndGetInlineDocumentsInput
        1301  +
    > for crate::input::HostWithPathOperationInput
 1314   1302   
where
 1315   1303   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1316   1304   
    B: 'static,
 1317   1305   
 1318   1306   
    B::Data: Send,
 1319   1307   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1320   1308   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1321   1309   
{
 1322   1310   
    type Rejection =
 1323   1311   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1324         -
    type Future = PutAndGetInlineDocumentsInputFuture;
        1312  +
    type Future = HostWithPathOperationInputFuture;
 1325   1313   
 1326   1314   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1327   1315   
        let fut = async move {
 1328   1316   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1329   1317   
                request.headers(),
 1330   1318   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1331   1319   
            ) {
 1332   1320   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1333   1321   
            }
 1334         -
            crate::protocol_serde::shape_put_and_get_inline_documents::de_put_and_get_inline_documents_http_request(request)
        1322  +
            crate::protocol_serde::shape_host_with_path_operation::de_host_with_path_operation_http_request(request)
 1335   1323   
                            .await
 1336   1324   
        };
 1337   1325   
        use ::futures_util::future::TryFutureExt;
 1338   1326   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1339   1327   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1340   1328   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1341   1329   
                    });
 1342         -
        PutAndGetInlineDocumentsInputFuture {
        1330  +
        HostWithPathOperationInputFuture {
 1343   1331   
            inner: Box::pin(fut),
 1344   1332   
        }
 1345   1333   
    }
 1346   1334   
}
 1347   1335   
impl
 1348   1336   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1349   1337   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1350         -
    > for crate::output::PutAndGetInlineDocumentsOutput
        1338  +
    > for crate::output::HostWithPathOperationOutput
 1351   1339   
{
 1352   1340   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1353         -
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_response(self) {
        1341  +
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_response(self) {
 1354   1342   
                        Ok(response) => response,
 1355   1343   
                        Err(e) => {
 1356   1344   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1357   1345   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1358   1346   
                        }
 1359   1347   
                    }
 1360   1348   
    }
 1361   1349   
}
 1362   1350   
impl
 1363   1351   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1364   1352   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1365         -
    > for crate::error::PutAndGetInlineDocumentsError
        1353  +
    > for crate::error::HostWithPathOperationError
 1366   1354   
{
 1367   1355   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1368         -
        match crate::protocol_serde::shape_put_and_get_inline_documents::ser_put_and_get_inline_documents_http_error(&self) {
        1356  +
        match crate::protocol_serde::shape_host_with_path_operation::ser_host_with_path_operation_http_error(&self) {
 1369   1357   
            Ok(mut response) => {
 1370   1358   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1371   1359   
                response
 1372   1360   
            },
 1373   1361   
            Err(e) => {
 1374   1362   
                ::tracing::error!(error = %e, "failed to serialize response");
 1375   1363   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1376   1364   
            }
 1377   1365   
        }
 1378   1366   
    }
 1379   1367   
}
 1380   1368   
 1381   1369   
::pin_project_lite::pin_project! {
 1382   1370   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1383         -
    /// [`OperationWithOptionalInputOutputInput`](crate::input::OperationWithOptionalInputOutputInput) using modelled bindings.
 1384         -
    pub struct OperationWithOptionalInputOutputInputFuture {
 1385         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::OperationWithOptionalInputOutputInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1371  +
    /// [`DatetimeOffsetsInput`](crate::input::DatetimeOffsetsInput) using modelled bindings.
        1372  +
    pub struct DatetimeOffsetsInputFuture {
        1373  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::DatetimeOffsetsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1386   1374   
    }
 1387   1375   
}
 1388   1376   
 1389         -
impl std::future::Future for OperationWithOptionalInputOutputInputFuture {
        1377  +
impl std::future::Future for DatetimeOffsetsInputFuture {
 1390   1378   
    type Output = Result<
 1391         -
        crate::input::OperationWithOptionalInputOutputInput,
        1379  +
        crate::input::DatetimeOffsetsInput,
 1392   1380   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1393   1381   
    >;
 1394   1382   
 1395   1383   
    fn poll(
 1396   1384   
        self: std::pin::Pin<&mut Self>,
 1397   1385   
        cx: &mut std::task::Context<'_>,
 1398   1386   
    ) -> std::task::Poll<Self::Output> {
 1399   1387   
        let this = self.project();
 1400   1388   
        this.inner.as_mut().poll(cx)
 1401   1389   
    }
 1402   1390   
}
 1403   1391   
 1404   1392   
impl<B>
 1405   1393   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1406   1394   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1407   1395   
        B,
 1408         -
    > for crate::input::OperationWithOptionalInputOutputInput
        1396  +
    > for crate::input::DatetimeOffsetsInput
 1409   1397   
where
 1410   1398   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1411   1399   
    B: 'static,
 1412   1400   
 1413   1401   
    B::Data: Send,
 1414   1402   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1415   1403   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1416   1404   
{
 1417   1405   
    type Rejection =
 1418   1406   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1419         -
    type Future = OperationWithOptionalInputOutputInputFuture;
        1407  +
    type Future = DatetimeOffsetsInputFuture;
 1420   1408   
 1421   1409   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1422   1410   
        let fut = async move {
 1423   1411   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1424   1412   
                request.headers(),
 1425   1413   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1426   1414   
            ) {
 1427   1415   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1428   1416   
            }
 1429         -
            crate::protocol_serde::shape_operation_with_optional_input_output::de_operation_with_optional_input_output_http_request(request)
 1430         -
                            .await
        1417  +
            crate::protocol_serde::shape_datetime_offsets::de_datetime_offsets_http_request(request)
        1418  +
                .await
 1431   1419   
        };
 1432   1420   
        use ::futures_util::future::TryFutureExt;
 1433   1421   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1434   1422   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1435   1423   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1436   1424   
                    });
 1437         -
        OperationWithOptionalInputOutputInputFuture {
        1425  +
        DatetimeOffsetsInputFuture {
 1438   1426   
            inner: Box::pin(fut),
 1439   1427   
        }
 1440   1428   
    }
 1441   1429   
}
 1442   1430   
impl
 1443   1431   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1444   1432   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1445         -
    > for crate::output::OperationWithOptionalInputOutputOutput
        1433  +
    > for crate::output::DatetimeOffsetsOutput
 1446   1434   
{
 1447   1435   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1448         -
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_response(self) {
 1449         -
                        Ok(response) => response,
 1450         -
                        Err(e) => {
 1451         -
                            ::tracing::error!(error = %e, "failed to serialize response");
 1452         -
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1453         -
                        }
 1454         -
                    }
        1436  +
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_response(
        1437  +
            self,
        1438  +
        ) {
        1439  +
            Ok(response) => response,
        1440  +
            Err(e) => {
        1441  +
                ::tracing::error!(error = %e, "failed to serialize response");
        1442  +
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
        1443  +
            }
        1444  +
        }
 1455   1445   
    }
 1456   1446   
}
 1457   1447   
impl
 1458   1448   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1459   1449   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1460         -
    > for crate::error::OperationWithOptionalInputOutputError
        1450  +
    > for crate::error::DatetimeOffsetsError
 1461   1451   
{
 1462   1452   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1463         -
        match crate::protocol_serde::shape_operation_with_optional_input_output::ser_operation_with_optional_input_output_http_error(&self) {
        1453  +
        match crate::protocol_serde::shape_datetime_offsets::ser_datetime_offsets_http_error(&self)
        1454  +
        {
 1464   1455   
            Ok(mut response) => {
 1465         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
        1456  +
                response.extensions_mut().insert(
        1457  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
        1458  +
                        self.name(),
        1459  +
                    ),
        1460  +
                );
 1466   1461   
                response
 1467         -
            },
        1462  +
            }
 1468   1463   
            Err(e) => {
 1469   1464   
                ::tracing::error!(error = %e, "failed to serialize response");
 1470   1465   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1471   1466   
            }
 1472   1467   
        }
 1473   1468   
    }
 1474   1469   
}
 1475   1470   
 1476   1471   
::pin_project_lite::pin_project! {
 1477   1472   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1478         -
    /// [`SimpleScalarPropertiesInput`](crate::input::SimpleScalarPropertiesInput) using modelled bindings.
 1479         -
    pub struct SimpleScalarPropertiesInputFuture {
 1480         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::SimpleScalarPropertiesInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1473  +
    /// [`FractionalSecondsInput`](crate::input::FractionalSecondsInput) using modelled bindings.
        1474  +
    pub struct FractionalSecondsInputFuture {
        1475  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::FractionalSecondsInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1481   1476   
    }
 1482   1477   
}
 1483   1478   
 1484         -
impl std::future::Future for SimpleScalarPropertiesInputFuture {
        1479  +
impl std::future::Future for FractionalSecondsInputFuture {
 1485   1480   
    type Output = Result<
 1486         -
        crate::input::SimpleScalarPropertiesInput,
        1481  +
        crate::input::FractionalSecondsInput,
 1487   1482   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1488   1483   
    >;
 1489   1484   
 1490   1485   
    fn poll(
 1491   1486   
        self: std::pin::Pin<&mut Self>,
 1492   1487   
        cx: &mut std::task::Context<'_>,
 1493   1488   
    ) -> std::task::Poll<Self::Output> {
 1494   1489   
        let this = self.project();
 1495   1490   
        this.inner.as_mut().poll(cx)
 1496   1491   
    }
 1497   1492   
}
 1498   1493   
 1499   1494   
impl<B>
 1500   1495   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1501   1496   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1502   1497   
        B,
 1503         -
    > for crate::input::SimpleScalarPropertiesInput
        1498  +
    > for crate::input::FractionalSecondsInput
 1504   1499   
where
 1505   1500   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1506   1501   
    B: 'static,
 1507   1502   
 1508   1503   
    B::Data: Send,
 1509   1504   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1510   1505   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1511   1506   
{
 1512   1507   
    type Rejection =
 1513   1508   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1514         -
    type Future = SimpleScalarPropertiesInputFuture;
        1509  +
    type Future = FractionalSecondsInputFuture;
 1515   1510   
 1516   1511   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1517   1512   
        let fut = async move {
 1518   1513   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1519   1514   
                request.headers(),
 1520   1515   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1521   1516   
            ) {
 1522   1517   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1523   1518   
            }
 1524         -
            crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties_http_request(request)
 1525         -
                            .await
        1519  +
            crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds_http_request(
        1520  +
                request,
        1521  +
            )
        1522  +
            .await
 1526   1523   
        };
 1527   1524   
        use ::futures_util::future::TryFutureExt;
 1528   1525   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1529   1526   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1530   1527   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1531   1528   
                    });
 1532         -
        SimpleScalarPropertiesInputFuture {
        1529  +
        FractionalSecondsInputFuture {
 1533   1530   
            inner: Box::pin(fut),
 1534   1531   
        }
 1535   1532   
    }
 1536   1533   
}
 1537   1534   
impl
 1538   1535   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1539   1536   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1540         -
    > for crate::output::SimpleScalarPropertiesOutput
        1537  +
    > for crate::output::FractionalSecondsOutput
 1541   1538   
{
 1542   1539   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1543         -
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_response(self) {
 1544         -
                        Ok(response) => response,
 1545         -
                        Err(e) => {
 1546         -
                            ::tracing::error!(error = %e, "failed to serialize response");
 1547         -
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1548         -
                        }
 1549         -
                    }
        1540  +
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_response(
        1541  +
            self,
        1542  +
        ) {
        1543  +
            Ok(response) => response,
        1544  +
            Err(e) => {
        1545  +
                ::tracing::error!(error = %e, "failed to serialize response");
        1546  +
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
        1547  +
            }
        1548  +
        }
 1550   1549   
    }
 1551   1550   
}
 1552   1551   
impl
 1553   1552   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1554   1553   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1555         -
    > for crate::error::SimpleScalarPropertiesError
        1554  +
    > for crate::error::FractionalSecondsError
 1556   1555   
{
 1557   1556   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1558         -
        match crate::protocol_serde::shape_simple_scalar_properties::ser_simple_scalar_properties_http_error(&self) {
        1557  +
        match crate::protocol_serde::shape_fractional_seconds::ser_fractional_seconds_http_error(
        1558  +
            &self,
        1559  +
        ) {
 1559   1560   
            Ok(mut response) => {
 1560         -
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
        1561  +
                response.extensions_mut().insert(
        1562  +
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
        1563  +
                        self.name(),
        1564  +
                    ),
        1565  +
                );
 1561   1566   
                response
 1562         -
            },
        1567  +
            }
 1563   1568   
            Err(e) => {
 1564   1569   
                ::tracing::error!(error = %e, "failed to serialize response");
 1565   1570   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1566   1571   
            }
 1567   1572   
        }
 1568   1573   
    }
 1569   1574   
}
 1570   1575   
 1571   1576   
::pin_project_lite::pin_project! {
 1572   1577   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1573         -
    /// [`KitchenSinkOperationInput`](crate::input::KitchenSinkOperationInput) using modelled bindings.
 1574         -
    pub struct KitchenSinkOperationInputFuture {
 1575         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::KitchenSinkOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1578  +
    /// [`PutWithContentEncodingInput`](crate::input::PutWithContentEncodingInput) using modelled bindings.
        1579  +
    pub struct PutWithContentEncodingInputFuture {
        1580  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::PutWithContentEncodingInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1576   1581   
    }
 1577   1582   
}
 1578   1583   
 1579         -
impl std::future::Future for KitchenSinkOperationInputFuture {
        1584  +
impl std::future::Future for PutWithContentEncodingInputFuture {
 1580   1585   
    type Output = Result<
 1581         -
        crate::input::KitchenSinkOperationInput,
        1586  +
        crate::input::PutWithContentEncodingInput,
 1582   1587   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1583   1588   
    >;
 1584   1589   
 1585   1590   
    fn poll(
 1586   1591   
        self: std::pin::Pin<&mut Self>,
 1587   1592   
        cx: &mut std::task::Context<'_>,
 1588   1593   
    ) -> std::task::Poll<Self::Output> {
 1589   1594   
        let this = self.project();
 1590   1595   
        this.inner.as_mut().poll(cx)
 1591   1596   
    }
 1592   1597   
}
 1593   1598   
 1594   1599   
impl<B>
 1595   1600   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1596   1601   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1597   1602   
        B,
 1598         -
    > for crate::input::KitchenSinkOperationInput
        1603  +
    > for crate::input::PutWithContentEncodingInput
 1599   1604   
where
 1600   1605   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1601   1606   
    B: 'static,
 1602   1607   
 1603   1608   
    B::Data: Send,
 1604   1609   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1605   1610   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1606   1611   
{
 1607   1612   
    type Rejection =
 1608   1613   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1609         -
    type Future = KitchenSinkOperationInputFuture;
        1614  +
    type Future = PutWithContentEncodingInputFuture;
 1610   1615   
 1611   1616   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1612   1617   
        let fut = async move {
 1613   1618   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1614   1619   
                request.headers(),
 1615   1620   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1616   1621   
            ) {
 1617   1622   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1618   1623   
            }
 1619         -
            crate::protocol_serde::shape_kitchen_sink_operation::de_kitchen_sink_operation_http_request(request)
        1624  +
            crate::protocol_serde::shape_put_with_content_encoding::de_put_with_content_encoding_http_request(request)
 1620   1625   
                            .await
 1621   1626   
        };
 1622   1627   
        use ::futures_util::future::TryFutureExt;
 1623   1628   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1624   1629   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1625   1630   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1626   1631   
                    });
 1627         -
        KitchenSinkOperationInputFuture {
        1632  +
        PutWithContentEncodingInputFuture {
 1628   1633   
            inner: Box::pin(fut),
 1629   1634   
        }
 1630   1635   
    }
 1631   1636   
}
 1632   1637   
impl
 1633   1638   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1634   1639   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1635         -
    > for crate::output::KitchenSinkOperationOutput
        1640  +
    > for crate::output::PutWithContentEncodingOutput
 1636   1641   
{
 1637   1642   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1638         -
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_response(self) {
        1643  +
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_response(self) {
 1639   1644   
                        Ok(response) => response,
 1640   1645   
                        Err(e) => {
 1641   1646   
                            ::tracing::error!(error = %e, "failed to serialize response");
 1642   1647   
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1643   1648   
                        }
 1644   1649   
                    }
 1645   1650   
    }
 1646   1651   
}
 1647   1652   
impl
 1648   1653   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1649   1654   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1650         -
    > for crate::error::KitchenSinkOperationError
        1655  +
    > for crate::error::PutWithContentEncodingError
 1651   1656   
{
 1652   1657   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1653         -
        match crate::protocol_serde::shape_kitchen_sink_operation::ser_kitchen_sink_operation_http_error(&self) {
        1658  +
        match crate::protocol_serde::shape_put_with_content_encoding::ser_put_with_content_encoding_http_error(&self) {
 1654   1659   
            Ok(mut response) => {
 1655   1660   
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1656   1661   
                response
 1657   1662   
            },
 1658   1663   
            Err(e) => {
 1659   1664   
                ::tracing::error!(error = %e, "failed to serialize response");
 1660   1665   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1661   1666   
            }
 1662   1667   
        }
 1663   1668   
    }
 1664   1669   
}
 1665   1670   
 1666   1671   
::pin_project_lite::pin_project! {
 1667   1672   
    /// A [`Future`](std::future::Future) aggregating the body bytes of a [`Request`] and constructing the
 1668         -
    /// [`EmptyOperationInput`](crate::input::EmptyOperationInput) using modelled bindings.
 1669         -
    pub struct EmptyOperationInputFuture {
 1670         -
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::EmptyOperationInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
        1673  +
    /// [`ContentTypeParametersInput`](crate::input::ContentTypeParametersInput) using modelled bindings.
        1674  +
    pub struct ContentTypeParametersInputFuture {
        1675  +
        inner: std::pin::Pin<Box<dyn std::future::Future<Output = Result<crate::input::ContentTypeParametersInput, ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError>> + Send>>
 1671   1676   
    }
 1672   1677   
}
 1673   1678   
 1674         -
impl std::future::Future for EmptyOperationInputFuture {
        1679  +
impl std::future::Future for ContentTypeParametersInputFuture {
 1675   1680   
    type Output = Result<
 1676         -
        crate::input::EmptyOperationInput,
        1681  +
        crate::input::ContentTypeParametersInput,
 1677   1682   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError,
 1678   1683   
    >;
 1679   1684   
 1680   1685   
    fn poll(
 1681   1686   
        self: std::pin::Pin<&mut Self>,
 1682   1687   
        cx: &mut std::task::Context<'_>,
 1683   1688   
    ) -> std::task::Poll<Self::Output> {
 1684   1689   
        let this = self.project();
 1685   1690   
        this.inner.as_mut().poll(cx)
 1686   1691   
    }
 1687   1692   
}
 1688   1693   
 1689   1694   
impl<B>
 1690   1695   
    ::aws_smithy_legacy_http_server::request::FromRequest<
 1691   1696   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1692   1697   
        B,
 1693         -
    > for crate::input::EmptyOperationInput
        1698  +
    > for crate::input::ContentTypeParametersInput
 1694   1699   
where
 1695   1700   
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
 1696   1701   
    B: 'static,
 1697   1702   
 1698   1703   
    B::Data: Send,
 1699   1704   
    ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection:
 1700   1705   
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
 1701   1706   
{
 1702   1707   
    type Rejection =
 1703   1708   
        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError;
 1704         -
    type Future = EmptyOperationInputFuture;
        1709  +
    type Future = ContentTypeParametersInputFuture;
 1705   1710   
 1706   1711   
    fn from_request(request: ::http::Request<B>) -> Self::Future {
 1707   1712   
        let fut = async move {
 1708   1713   
            if !::aws_smithy_legacy_http_server::protocol::accept_header_classifier(
 1709   1714   
                request.headers(),
 1710   1715   
                &crate::mimes::CONTENT_TYPE_APPLICATION_X_AMZ_JSON_1_1,
 1711   1716   
            ) {
 1712   1717   
                return Err(::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection::NotAcceptable);
 1713   1718   
            }
 1714         -
            crate::protocol_serde::shape_empty_operation::de_empty_operation_http_request(request)
 1715         -
                .await
        1719  +
            crate::protocol_serde::shape_content_type_parameters::de_content_type_parameters_http_request(request)
        1720  +
                            .await
 1716   1721   
        };
 1717   1722   
        use ::futures_util::future::TryFutureExt;
 1718   1723   
        let fut = fut.map_err(|e: ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection| {
 1719   1724   
                        ::tracing::debug!(error = %e, "failed to deserialize request");
 1720   1725   
                        ::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e)
 1721   1726   
                    });
 1722         -
        EmptyOperationInputFuture {
        1727  +
        ContentTypeParametersInputFuture {
 1723   1728   
            inner: Box::pin(fut),
 1724   1729   
        }
 1725   1730   
    }
 1726   1731   
}
 1727   1732   
impl
 1728   1733   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1729   1734   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1730         -
    > for crate::output::EmptyOperationOutput
        1735  +
    > for crate::output::ContentTypeParametersOutput
 1731   1736   
{
 1732   1737   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1733         -
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_response(self)
 1734         -
        {
 1735         -
            Ok(response) => response,
 1736         -
            Err(e) => {
 1737         -
                ::tracing::error!(error = %e, "failed to serialize response");
 1738         -
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1739         -
            }
 1740         -
        }
        1738  +
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_response(self) {
        1739  +
                        Ok(response) => response,
        1740  +
                        Err(e) => {
        1741  +
                            ::tracing::error!(error = %e, "failed to serialize response");
        1742  +
                            ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
        1743  +
                        }
        1744  +
                    }
 1741   1745   
    }
 1742   1746   
}
 1743   1747   
impl
 1744   1748   
    ::aws_smithy_legacy_http_server::response::IntoResponse<
 1745   1749   
        ::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1,
 1746         -
    > for crate::error::EmptyOperationError
        1750  +
    > for crate::error::ContentTypeParametersError
 1747   1751   
{
 1748   1752   
    fn into_response(self) -> ::aws_smithy_legacy_http_server::response::Response {
 1749         -
        match crate::protocol_serde::shape_empty_operation::ser_empty_operation_http_error(&self) {
        1753  +
        match crate::protocol_serde::shape_content_type_parameters::ser_content_type_parameters_http_error(&self) {
 1750   1754   
            Ok(mut response) => {
 1751         -
                response.extensions_mut().insert(
 1752         -
                    ::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(
 1753         -
                        self.name(),
 1754         -
                    ),
 1755         -
                );
        1755  +
                response.extensions_mut().insert(::aws_smithy_legacy_http_server::extension::ModeledErrorExtension::new(self.name()));
 1756   1756   
                response
 1757         -
            }
        1757  +
            },
 1758   1758   
            Err(e) => {
 1759   1759   
                ::tracing::error!(error = %e, "failed to serialize response");
 1760   1760   
                ::aws_smithy_legacy_http_server::response::IntoResponse::<::aws_smithy_legacy_http_server::protocol::aws_json_11::AwsJson1_1>::into_response(::aws_smithy_legacy_http_server::protocol::aws_json::runtime_error::RuntimeError::from(e))
 1761   1761   
            }
 1762   1762   
        }
 1763   1763   
    }
 1764   1764   
}

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

@@ -1,1 +587,586 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
#[allow(missing_docs)] // documentation missing in model
           3  +
pub struct EmptyOperation;
    2      4   
    3         -
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
    4         -
pub struct ContentTypeParameters;
    5         -
    6         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
           5  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyOperation {
    7      6   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
    8      7   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
    9         -
            "aws.protocoltests.json#ContentTypeParameters",
           8  +
            "aws.protocoltests.json#EmptyOperation",
   10      9   
            "aws.protocoltests.json",
   11         -
            "ContentTypeParameters",
          10  +
            "EmptyOperation",
   12     11   
        );
   13     12   
   14         -
    type Input = crate::input::ContentTypeParametersInput;
   15         -
    type Output = crate::output::ContentTypeParametersOutput;
   16         -
    type Error = crate::error::ContentTypeParametersError;
          13  +
    type Input = crate::input::EmptyOperationInput;
          14  +
    type Output = crate::output::EmptyOperationOutput;
          15  +
    type Error = crate::error::EmptyOperationError;
   17     16   
}
   18     17   
   19         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   20         -
    for ContentTypeParameters
   21         -
{
          18  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for EmptyOperation {
   22     19   
    type RequestFmt =
   23     20   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   24     21   
    type ResponseFmt =
   25     22   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   26     23   
   27     24   
    fn request_fmt() -> Self::RequestFmt {
   28     25   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   29     26   
    }
   30     27   
   31     28   
    fn response_fmt() -> Self::ResponseFmt {
   32     29   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   33     30   
    }
   34     31   
}
   35     32   
   36     33   
#[allow(missing_docs)] // documentation missing in model
   37         -
pub struct PutWithContentEncoding;
          34  +
pub struct KitchenSinkOperation;
   38     35   
   39         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
          36  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for KitchenSinkOperation {
   40     37   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   41     38   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   42         -
            "aws.protocoltests.json#PutWithContentEncoding",
          39  +
            "aws.protocoltests.json#KitchenSinkOperation",
   43     40   
            "aws.protocoltests.json",
   44         -
            "PutWithContentEncoding",
          41  +
            "KitchenSinkOperation",
   45     42   
        );
   46     43   
   47         -
    type Input = crate::input::PutWithContentEncodingInput;
   48         -
    type Output = crate::output::PutWithContentEncodingOutput;
   49         -
    type Error = crate::error::PutWithContentEncodingError;
          44  +
    type Input = crate::input::KitchenSinkOperationInput;
          45  +
    type Output = crate::output::KitchenSinkOperationOutput;
          46  +
    type Error = crate::error::KitchenSinkOperationError;
   50     47   
}
   51     48   
   52     49   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   53         -
    for PutWithContentEncoding
          50  +
    for KitchenSinkOperation
   54     51   
{
   55     52   
    type RequestFmt =
   56     53   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   57     54   
    type ResponseFmt =
   58     55   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   59     56   
   60     57   
    fn request_fmt() -> Self::RequestFmt {
   61     58   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   62     59   
    }
   63     60   
   64     61   
    fn response_fmt() -> Self::ResponseFmt {
   65     62   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   66     63   
    }
   67     64   
}
   68     65   
   69     66   
#[allow(missing_docs)] // documentation missing in model
   70         -
pub struct FractionalSeconds;
          67  +
pub struct SimpleScalarProperties;
   71     68   
   72         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
          69  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
   73     70   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   74     71   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   75         -
            "aws.protocoltests.json#FractionalSeconds",
          72  +
            "aws.protocoltests.json#SimpleScalarProperties",
   76     73   
            "aws.protocoltests.json",
   77         -
            "FractionalSeconds",
          74  +
            "SimpleScalarProperties",
   78     75   
        );
   79     76   
   80         -
    type Input = crate::input::FractionalSecondsInput;
   81         -
    type Output = crate::output::FractionalSecondsOutput;
   82         -
    type Error = crate::error::FractionalSecondsError;
          77  +
    type Input = crate::input::SimpleScalarPropertiesInput;
          78  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
          79  +
    type Error = crate::error::SimpleScalarPropertiesError;
   83     80   
}
   84     81   
   85     82   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   86         -
    for FractionalSeconds
          83  +
    for SimpleScalarProperties
   87     84   
{
   88     85   
    type RequestFmt =
   89     86   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
   90     87   
    type ResponseFmt =
   91     88   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
   92     89   
   93     90   
    fn request_fmt() -> Self::RequestFmt {
   94     91   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   95     92   
    }
   96     93   
   97     94   
    fn response_fmt() -> Self::ResponseFmt {
   98     95   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   99     96   
    }
  100     97   
}
  101     98   
  102     99   
#[allow(missing_docs)] // documentation missing in model
  103         -
pub struct DatetimeOffsets;
         100  +
pub struct OperationWithOptionalInputOutput;
  104    101   
  105         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
         102  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         103  +
    for OperationWithOptionalInputOutput
         104  +
{
  106    105   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  107    106   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  108         -
            "aws.protocoltests.json#DatetimeOffsets",
         107  +
            "aws.protocoltests.json#OperationWithOptionalInputOutput",
  109    108   
            "aws.protocoltests.json",
  110         -
            "DatetimeOffsets",
         109  +
            "OperationWithOptionalInputOutput",
  111    110   
        );
  112    111   
  113         -
    type Input = crate::input::DatetimeOffsetsInput;
  114         -
    type Output = crate::output::DatetimeOffsetsOutput;
  115         -
    type Error = crate::error::DatetimeOffsetsError;
         112  +
    type Input = crate::input::OperationWithOptionalInputOutputInput;
         113  +
    type Output = crate::output::OperationWithOptionalInputOutputOutput;
         114  +
    type Error = crate::error::OperationWithOptionalInputOutputError;
  116    115   
}
  117    116   
  118    117   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  119         -
    for DatetimeOffsets
         118  +
    for OperationWithOptionalInputOutput
  120    119   
{
  121    120   
    type RequestFmt =
  122    121   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  123    122   
    type ResponseFmt =
  124    123   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  125    124   
  126    125   
    fn request_fmt() -> Self::RequestFmt {
  127    126   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  128    127   
    }
  129    128   
  130    129   
    fn response_fmt() -> Self::ResponseFmt {
  131    130   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  132    131   
    }
  133    132   
}
  134    133   
  135         -
#[allow(missing_docs)] // documentation missing in model
  136         -
pub struct HostWithPathOperation;
         134  +
/// This example serializes an inline document as part of the payload.
         135  +
pub struct PutAndGetInlineDocuments;
  137    136   
  138         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
         137  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutAndGetInlineDocuments {
  139    138   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  140    139   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  141         -
            "aws.protocoltests.json#HostWithPathOperation",
         140  +
            "aws.protocoltests.json#PutAndGetInlineDocuments",
  142    141   
            "aws.protocoltests.json",
  143         -
            "HostWithPathOperation",
         142  +
            "PutAndGetInlineDocuments",
  144    143   
        );
  145    144   
  146         -
    type Input = crate::input::HostWithPathOperationInput;
  147         -
    type Output = crate::output::HostWithPathOperationOutput;
  148         -
    type Error = crate::error::HostWithPathOperationError;
         145  +
    type Input = crate::input::PutAndGetInlineDocumentsInput;
         146  +
    type Output = crate::output::PutAndGetInlineDocumentsOutput;
         147  +
    type Error = crate::error::PutAndGetInlineDocumentsError;
  149    148   
}
  150    149   
  151    150   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  152         -
    for HostWithPathOperation
         151  +
    for PutAndGetInlineDocuments
  153    152   
{
  154    153   
    type RequestFmt =
  155    154   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  156    155   
    type ResponseFmt =
  157    156   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  158    157   
  159    158   
    fn request_fmt() -> Self::RequestFmt {
  160    159   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  161    160   
    }
  162    161   
  163    162   
    fn response_fmt() -> Self::ResponseFmt {
  164    163   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  165    164   
    }
  166    165   
}
  167    166   
  168         -
#[allow(missing_docs)] // documentation missing in model
  169         -
pub struct EndpointWithHostLabelOperation;
         167  +
/// This example serializes enums as top level properties, in lists, sets, and maps.
         168  +
pub struct JsonEnums;
  170    169   
  171         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
         170  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
  172    171   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  173    172   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  174         -
            "aws.protocoltests.json#EndpointWithHostLabelOperation",
         173  +
            "aws.protocoltests.json#JsonEnums",
  175    174   
            "aws.protocoltests.json",
  176         -
            "EndpointWithHostLabelOperation",
         175  +
            "JsonEnums",
  177    176   
        );
  178    177   
  179         -
    type Input = crate::input::EndpointWithHostLabelOperationInput;
  180         -
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
  181         -
    type Error = crate::error::EndpointWithHostLabelOperationError;
         178  +
    type Input = crate::input::JsonEnumsInput;
         179  +
    type Output = crate::output::JsonEnumsOutput;
         180  +
    type Error = crate::error::JsonEnumsError;
  182    181   
}
  183    182   
  184         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  185         -
    for EndpointWithHostLabelOperation
  186         -
{
         183  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
  187    184   
    type RequestFmt =
  188    185   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  189    186   
    type ResponseFmt =
  190    187   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  191    188   
  192    189   
    fn request_fmt() -> Self::RequestFmt {
  193    190   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  194    191   
    }
  195    192   
  196    193   
    fn response_fmt() -> Self::ResponseFmt {
  197    194   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  198    195   
    }
  199    196   
}
  200    197   
  201         -
#[allow(missing_docs)] // documentation missing in model
  202         -
pub struct EndpointOperation;
         198  +
/// This example serializes intEnums as top level properties, in lists, sets, and maps.
         199  +
pub struct JsonIntEnums;
  203    200   
  204         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
         201  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
  205    202   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  206    203   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  207         -
            "aws.protocoltests.json#EndpointOperation",
         204  +
            "aws.protocoltests.json#JsonIntEnums",
  208    205   
            "aws.protocoltests.json",
  209         -
            "EndpointOperation",
         206  +
            "JsonIntEnums",
  210    207   
        );
  211    208   
  212         -
    type Input = crate::input::EndpointOperationInput;
  213         -
    type Output = crate::output::EndpointOperationOutput;
  214         -
    type Error = crate::error::EndpointOperationError;
         209  +
    type Input = crate::input::JsonIntEnumsInput;
         210  +
    type Output = crate::output::JsonIntEnumsOutput;
         211  +
    type Error = crate::error::JsonIntEnumsError;
  215    212   
}
  216    213   
  217         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  218         -
    for EndpointOperation
  219         -
{
         214  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
  220    215   
    type RequestFmt =
  221    216   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  222    217   
    type ResponseFmt =
  223    218   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  224    219   
  225    220   
    fn request_fmt() -> Self::RequestFmt {
  226    221   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  227    222   
    }
  228    223   
  229    224   
    fn response_fmt() -> Self::ResponseFmt {
  230    225   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  231    226   
    }
  232    227   
}
  233    228   
  234         -
/// This operation uses unions for inputs and outputs.
  235         -
pub struct JsonUnions;
         229  +
#[allow(missing_docs)] // documentation missing in model
         230  +
pub struct NullOperation;
  236    231   
  237         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
         232  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullOperation {
  238    233   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  239    234   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  240         -
            "aws.protocoltests.json#JsonUnions",
         235  +
            "aws.protocoltests.json#NullOperation",
  241    236   
            "aws.protocoltests.json",
  242         -
            "JsonUnions",
         237  +
            "NullOperation",
  243    238   
        );
  244    239   
  245         -
    type Input = crate::input::JsonUnionsInput;
  246         -
    type Output = crate::output::JsonUnionsOutput;
  247         -
    type Error = crate::error::JsonUnionsError;
         240  +
    type Input = crate::input::NullOperationInput;
         241  +
    type Output = crate::output::NullOperationOutput;
         242  +
    type Error = crate::error::NullOperationError;
  248    243   
}
  249    244   
  250         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
         245  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for NullOperation {
  251    246   
    type RequestFmt =
  252    247   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  253    248   
    type ResponseFmt =
  254    249   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  255    250   
  256    251   
    fn request_fmt() -> Self::RequestFmt {
  257    252   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  258    253   
    }
  259    254   
  260    255   
    fn response_fmt() -> Self::ResponseFmt {
  261    256   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  262    257   
    }
  263    258   
}
  264    259   
  265         -
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
  266         -
pub struct GreetingWithErrors;
         260  +
#[allow(missing_docs)] // documentation missing in model
         261  +
pub struct SparseNullsOperation;
  267    262   
  268         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
         263  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseNullsOperation {
  269    264   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  270    265   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  271         -
            "aws.protocoltests.json#GreetingWithErrors",
         266  +
            "aws.protocoltests.json#SparseNullsOperation",
  272    267   
            "aws.protocoltests.json",
  273         -
            "GreetingWithErrors",
         268  +
            "SparseNullsOperation",
  274    269   
        );
  275    270   
  276         -
    type Input = crate::input::GreetingWithErrorsInput;
  277         -
    type Output = crate::output::GreetingWithErrorsOutput;
  278         -
    type Error = crate::error::GreetingWithErrorsError;
         271  +
    type Input = crate::input::SparseNullsOperationInput;
         272  +
    type Output = crate::output::SparseNullsOperationOutput;
         273  +
    type Error = crate::error::SparseNullsOperationError;
  279    274   
}
  280    275   
  281    276   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  282         -
    for GreetingWithErrors
         277  +
    for SparseNullsOperation
  283    278   
{
  284    279   
    type RequestFmt =
  285    280   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  286    281   
    type ResponseFmt =
  287    282   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  288    283   
  289    284   
    fn request_fmt() -> Self::RequestFmt {
  290    285   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  291    286   
    }
  292    287   
  293    288   
    fn response_fmt() -> Self::ResponseFmt {
  294    289   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  295    290   
    }
  296    291   
}
  297    292   
  298         -
#[allow(missing_docs)] // documentation missing in model
  299         -
pub struct SparseNullsOperation;
         293  +
/// This operation has three possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A ComplexError error. Implementations must be able to successfully take a response and properly deserialize successful and error responses.
         294  +
pub struct GreetingWithErrors;
  300    295   
  301         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseNullsOperation {
         296  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
  302    297   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  303    298   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  304         -
            "aws.protocoltests.json#SparseNullsOperation",
         299  +
            "aws.protocoltests.json#GreetingWithErrors",
  305    300   
            "aws.protocoltests.json",
  306         -
            "SparseNullsOperation",
         301  +
            "GreetingWithErrors",
  307    302   
        );
  308    303   
  309         -
    type Input = crate::input::SparseNullsOperationInput;
  310         -
    type Output = crate::output::SparseNullsOperationOutput;
  311         -
    type Error = crate::error::SparseNullsOperationError;
         304  +
    type Input = crate::input::GreetingWithErrorsInput;
         305  +
    type Output = crate::output::GreetingWithErrorsOutput;
         306  +
    type Error = crate::error::GreetingWithErrorsError;
  312    307   
}
  313    308   
  314    309   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  315         -
    for SparseNullsOperation
         310  +
    for GreetingWithErrors
  316    311   
{
  317    312   
    type RequestFmt =
  318    313   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  319    314   
    type ResponseFmt =
  320    315   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  321    316   
  322    317   
    fn request_fmt() -> Self::RequestFmt {
  323    318   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  324    319   
    }
  325    320   
  326    321   
    fn response_fmt() -> Self::ResponseFmt {
  327    322   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  328    323   
    }
  329    324   
}
  330    325   
  331         -
#[allow(missing_docs)] // documentation missing in model
  332         -
pub struct NullOperation;
         326  +
/// This operation uses unions for inputs and outputs.
         327  +
pub struct JsonUnions;
  333    328   
  334         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullOperation {
         329  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonUnions {
  335    330   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  336    331   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  337         -
            "aws.protocoltests.json#NullOperation",
         332  +
            "aws.protocoltests.json#JsonUnions",
  338    333   
            "aws.protocoltests.json",
  339         -
            "NullOperation",
         334  +
            "JsonUnions",
  340    335   
        );
  341    336   
  342         -
    type Input = crate::input::NullOperationInput;
  343         -
    type Output = crate::output::NullOperationOutput;
  344         -
    type Error = crate::error::NullOperationError;
         337  +
    type Input = crate::input::JsonUnionsInput;
         338  +
    type Output = crate::output::JsonUnionsOutput;
         339  +
    type Error = crate::error::JsonUnionsError;
  345    340   
}
  346    341   
  347         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for NullOperation {
         342  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonUnions {
  348    343   
    type RequestFmt =
  349    344   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  350    345   
    type ResponseFmt =
  351    346   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  352    347   
  353    348   
    fn request_fmt() -> Self::RequestFmt {
  354    349   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  355    350   
    }
  356    351   
  357    352   
    fn response_fmt() -> Self::ResponseFmt {
  358    353   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  359    354   
    }
  360    355   
}
  361    356   
  362         -
/// This example serializes intEnums as top level properties, in lists, sets, and maps.
  363         -
pub struct JsonIntEnums;
         357  +
#[allow(missing_docs)] // documentation missing in model
         358  +
pub struct EndpointOperation;
  364    359   
  365         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
         360  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
  366    361   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  367    362   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  368         -
            "aws.protocoltests.json#JsonIntEnums",
         363  +
            "aws.protocoltests.json#EndpointOperation",
  369    364   
            "aws.protocoltests.json",
  370         -
            "JsonIntEnums",
         365  +
            "EndpointOperation",
  371    366   
        );
  372    367   
  373         -
    type Input = crate::input::JsonIntEnumsInput;
  374         -
    type Output = crate::output::JsonIntEnumsOutput;
  375         -
    type Error = crate::error::JsonIntEnumsError;
         368  +
    type Input = crate::input::EndpointOperationInput;
         369  +
    type Output = crate::output::EndpointOperationOutput;
         370  +
    type Error = crate::error::EndpointOperationError;
  376    371   
}
  377    372   
  378         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
         373  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         374  +
    for EndpointOperation
         375  +
{
  379    376   
    type RequestFmt =
  380    377   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  381    378   
    type ResponseFmt =
  382    379   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  383    380   
  384    381   
    fn request_fmt() -> Self::RequestFmt {
  385    382   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  386    383   
    }
  387    384   
  388    385   
    fn response_fmt() -> Self::ResponseFmt {
  389    386   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  390    387   
    }
  391    388   
}
  392    389   
  393         -
/// This example serializes enums as top level properties, in lists, sets, and maps.
  394         -
pub struct JsonEnums;
         390  +
#[allow(missing_docs)] // documentation missing in model
         391  +
pub struct EndpointWithHostLabelOperation;
  395    392   
  396         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
         393  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
  397    394   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  398    395   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  399         -
            "aws.protocoltests.json#JsonEnums",
         396  +
            "aws.protocoltests.json#EndpointWithHostLabelOperation",
  400    397   
            "aws.protocoltests.json",
  401         -
            "JsonEnums",
         398  +
            "EndpointWithHostLabelOperation",
  402    399   
        );
  403    400   
  404         -
    type Input = crate::input::JsonEnumsInput;
  405         -
    type Output = crate::output::JsonEnumsOutput;
  406         -
    type Error = crate::error::JsonEnumsError;
         401  +
    type Input = crate::input::EndpointWithHostLabelOperationInput;
         402  +
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
         403  +
    type Error = crate::error::EndpointWithHostLabelOperationError;
  407    404   
}
  408    405   
  409         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
         406  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         407  +
    for EndpointWithHostLabelOperation
         408  +
{
  410    409   
    type RequestFmt =
  411    410   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  412    411   
    type ResponseFmt =
  413    412   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  414    413   
  415    414   
    fn request_fmt() -> Self::RequestFmt {
  416    415   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  417    416   
    }
  418    417   
  419    418   
    fn response_fmt() -> Self::ResponseFmt {
  420    419   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  421    420   
    }
  422    421   
}
  423    422   
  424         -
/// This example serializes an inline document as part of the payload.
  425         -
pub struct PutAndGetInlineDocuments;
         423  +
#[allow(missing_docs)] // documentation missing in model
         424  +
pub struct HostWithPathOperation;
  426    425   
  427         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutAndGetInlineDocuments {
         426  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
  428    427   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  429    428   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  430         -
            "aws.protocoltests.json#PutAndGetInlineDocuments",
         429  +
            "aws.protocoltests.json#HostWithPathOperation",
  431    430   
            "aws.protocoltests.json",
  432         -
            "PutAndGetInlineDocuments",
         431  +
            "HostWithPathOperation",
  433    432   
        );
  434    433   
  435         -
    type Input = crate::input::PutAndGetInlineDocumentsInput;
  436         -
    type Output = crate::output::PutAndGetInlineDocumentsOutput;
  437         -
    type Error = crate::error::PutAndGetInlineDocumentsError;
         434  +
    type Input = crate::input::HostWithPathOperationInput;
         435  +
    type Output = crate::output::HostWithPathOperationOutput;
         436  +
    type Error = crate::error::HostWithPathOperationError;
  438    437   
}
  439    438   
  440    439   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  441         -
    for PutAndGetInlineDocuments
         440  +
    for HostWithPathOperation
  442    441   
{
  443    442   
    type RequestFmt =
  444    443   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  445    444   
    type ResponseFmt =
  446    445   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  447    446   
  448    447   
    fn request_fmt() -> Self::RequestFmt {
  449    448   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  450    449   
    }
  451    450   
  452    451   
    fn response_fmt() -> Self::ResponseFmt {
  453    452   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  454    453   
    }
  455    454   
}
  456    455   
  457    456   
#[allow(missing_docs)] // documentation missing in model
  458         -
pub struct OperationWithOptionalInputOutput;
         457  +
pub struct DatetimeOffsets;
  459    458   
  460         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  461         -
    for OperationWithOptionalInputOutput
  462         -
{
         459  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
  463    460   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  464    461   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  465         -
            "aws.protocoltests.json#OperationWithOptionalInputOutput",
         462  +
            "aws.protocoltests.json#DatetimeOffsets",
  466    463   
            "aws.protocoltests.json",
  467         -
            "OperationWithOptionalInputOutput",
         464  +
            "DatetimeOffsets",
  468    465   
        );
  469    466   
  470         -
    type Input = crate::input::OperationWithOptionalInputOutputInput;
  471         -
    type Output = crate::output::OperationWithOptionalInputOutputOutput;
  472         -
    type Error = crate::error::OperationWithOptionalInputOutputError;
         467  +
    type Input = crate::input::DatetimeOffsetsInput;
         468  +
    type Output = crate::output::DatetimeOffsetsOutput;
         469  +
    type Error = crate::error::DatetimeOffsetsError;
  473    470   
}
  474    471   
  475    472   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  476         -
    for OperationWithOptionalInputOutput
         473  +
    for DatetimeOffsets
  477    474   
{
  478    475   
    type RequestFmt =
  479    476   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  480    477   
    type ResponseFmt =
  481    478   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  482    479   
  483    480   
    fn request_fmt() -> Self::RequestFmt {
  484    481   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  485    482   
    }
  486    483   
  487    484   
    fn response_fmt() -> Self::ResponseFmt {
  488    485   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  489    486   
    }
  490    487   
}
  491    488   
  492    489   
#[allow(missing_docs)] // documentation missing in model
  493         -
pub struct SimpleScalarProperties;
         490  +
pub struct FractionalSeconds;
  494    491   
  495         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
         492  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
  496    493   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  497    494   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  498         -
            "aws.protocoltests.json#SimpleScalarProperties",
         495  +
            "aws.protocoltests.json#FractionalSeconds",
  499    496   
            "aws.protocoltests.json",
  500         -
            "SimpleScalarProperties",
         497  +
            "FractionalSeconds",
  501    498   
        );
  502    499   
  503         -
    type Input = crate::input::SimpleScalarPropertiesInput;
  504         -
    type Output = crate::output::SimpleScalarPropertiesOutput;
  505         -
    type Error = crate::error::SimpleScalarPropertiesError;
         500  +
    type Input = crate::input::FractionalSecondsInput;
         501  +
    type Output = crate::output::FractionalSecondsOutput;
         502  +
    type Error = crate::error::FractionalSecondsError;
  506    503   
}
  507    504   
  508    505   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  509         -
    for SimpleScalarProperties
         506  +
    for FractionalSeconds
  510    507   
{
  511    508   
    type RequestFmt =
  512    509   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  513    510   
    type ResponseFmt =
  514    511   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  515    512   
  516    513   
    fn request_fmt() -> Self::RequestFmt {
  517    514   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  518    515   
    }
  519    516   
  520    517   
    fn response_fmt() -> Self::ResponseFmt {
  521    518   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  522    519   
    }
  523    520   
}
  524    521   
  525    522   
#[allow(missing_docs)] // documentation missing in model
  526         -
pub struct KitchenSinkOperation;
         523  +
pub struct PutWithContentEncoding;
  527    524   
  528         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for KitchenSinkOperation {
         525  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
  529    526   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  530    527   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  531         -
            "aws.protocoltests.json#KitchenSinkOperation",
         528  +
            "aws.protocoltests.json#PutWithContentEncoding",
  532    529   
            "aws.protocoltests.json",
  533         -
            "KitchenSinkOperation",
         530  +
            "PutWithContentEncoding",
  534    531   
        );
  535    532   
  536         -
    type Input = crate::input::KitchenSinkOperationInput;
  537         -
    type Output = crate::output::KitchenSinkOperationOutput;
  538         -
    type Error = crate::error::KitchenSinkOperationError;
         533  +
    type Input = crate::input::PutWithContentEncodingInput;
         534  +
    type Output = crate::output::PutWithContentEncodingOutput;
         535  +
    type Error = crate::error::PutWithContentEncodingError;
  539    536   
}
  540    537   
  541    538   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  542         -
    for KitchenSinkOperation
         539  +
    for PutWithContentEncoding
  543    540   
{
  544    541   
    type RequestFmt =
  545    542   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  546    543   
    type ResponseFmt =
  547    544   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  548    545   
  549    546   
    fn request_fmt() -> Self::RequestFmt {
  550    547   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  551    548   
    }
  552    549   
  553    550   
    fn response_fmt() -> Self::ResponseFmt {
  554    551   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  555    552   
    }
  556    553   
}
  557    554   
  558         -
#[allow(missing_docs)] // documentation missing in model
  559         -
pub struct EmptyOperation;
         555  +
/// The example tests how servers must support requests containing a `Content-Type` header with parameters.
         556  +
pub struct ContentTypeParameters;
  560    557   
  561         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyOperation {
         558  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
  562    559   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  563    560   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  564         -
            "aws.protocoltests.json#EmptyOperation",
         561  +
            "aws.protocoltests.json#ContentTypeParameters",
  565    562   
            "aws.protocoltests.json",
  566         -
            "EmptyOperation",
         563  +
            "ContentTypeParameters",
  567    564   
        );
  568    565   
  569         -
    type Input = crate::input::EmptyOperationInput;
  570         -
    type Output = crate::output::EmptyOperationOutput;
  571         -
    type Error = crate::error::EmptyOperationError;
         566  +
    type Input = crate::input::ContentTypeParametersInput;
         567  +
    type Output = crate::output::ContentTypeParametersOutput;
         568  +
    type Error = crate::error::ContentTypeParametersError;
  572    569   
}
  573    570   
  574         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for EmptyOperation {
         571  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
         572  +
    for ContentTypeParameters
         573  +
{
  575    574   
    type RequestFmt =
  576    575   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultRequestFmt;
  577    576   
    type ResponseFmt =
  578    577   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::DefaultResponseFmt;
  579    578   
  580    579   
    fn request_fmt() -> Self::RequestFmt {
  581    580   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  582    581   
    }
  583    582   
  584    583   
    fn response_fmt() -> Self::ResponseFmt {