Server Test

Server Test

rev. ee474c7509d7728618c23068f3741e8e5b339ef9

Files changed:

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

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