Server Test

Server Test

rev. 3c756f73b1f83a0eed4275d9d1e22df0b10b66fb

Files changed:

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

@@ -1,1 +99,99 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_list_of_enum_string_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12     12   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     13   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     14   
{
   15     15   
    Ok({
   16     16   
        #[allow(unused_mut)]
   17     17   
        let mut input = crate::input::query_params_targeting_map_of_list_of_enum_string_operation_input::Builder::default();
   18     18   
        #[allow(unused_variables)]
   19     19   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     20   
            uri, headers, body, ..
   21     21   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   22     22   
        let query_string = uri.query().unwrap_or("");
   23     23   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   24     24   
        let mut query_params: crate::unconstrained::map_of_list_of_enum_string_unconstrained::MapOfListOfEnumStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_list_of_enum_string_unconstrained::MapOfListOfEnumStringUnconstrained(
   26     26   
                ::std::collections::HashMap::new()
   27     27   
            )
   28     28   
        ;
   29     29   
        for (k, v) in pairs {
   30     30   
            let entry = query_params.0.entry(String::from(k)).or_insert_with(|| crate::unconstrained::list_of_enum_string_unconstrained::ListOfEnumStringUnconstrained(std::vec::Vec::new()));
   31     31   
            entry.0.push(String::from(v));
   32     32   
        }
   33     33   
        input = input.set_map_of_list_of_enum_string(Some(query_params));
   34     34   
        input.build()?
   35     35   
    })
   36     36   
}
   37     37   
   38     38   
#[allow(clippy::unnecessary_wraps)]
   39     39   
pub fn ser_query_params_targeting_map_of_list_of_enum_string_operation_http_response(
   40     40   
    #[allow(unused_variables)]
   41     41   
    output: crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput,
   42     42   
) -> std::result::Result<
   43     43   
    ::aws_smithy_http_server::response::Response,
   44     44   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48         -
        let mut builder = ::http::Response::builder();
          48  +
        let mut builder = ::http_1x::Response::builder();
   49     49   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51         -
            ::http::header::CONTENT_TYPE,
          51  +
            ::http_1x::header::CONTENT_TYPE,
   52     52   
            "application/json",
   53     53   
        );
   54     54   
        let http_status: u16 = 200;
   55     55   
        builder = builder.status(http_status);
   56     56   
        let payload =
   57     57   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_enum_string_operation_output::ser_query_params_targeting_map_of_list_of_enum_string_operation_output_output_output(&output)?
   58     58   
        ;
   59     59   
        let content_length = payload.len();
   60     60   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62         -
            ::http::header::CONTENT_LENGTH,
          62  +
            ::http_1x::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65     65   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   66     66   
        builder.body(body)?
   67     67   
    })
   68     68   
}
   69     69   
   70     70   
#[allow(clippy::unnecessary_wraps)]
   71     71   
pub fn ser_query_params_targeting_map_of_list_of_enum_string_operation_http_error(
   72     72   
    error: &crate::error::QueryParamsTargetingMapOfListOfEnumStringOperationError,
   73     73   
) -> std::result::Result<
   74     74   
    ::aws_smithy_http_server::response::Response,
   75     75   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   76     76   
> {
   77     77   
    Ok({
   78     78   
        match error {
   79     79   
            crate::error::QueryParamsTargetingMapOfListOfEnumStringOperationError::ValidationException(output) => {
   80     80   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   81     81   
                #[allow(unused_mut)]
   82         -
                let mut builder = ::http::Response::builder();
          82  +
                let mut builder = ::http_1x::Response::builder();
   83     83   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85         -
                                ::http::header::CONTENT_TYPE,
          85  +
                                ::http_1x::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88     88   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          90  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   91     91   
                                "ValidationException",
   92     92   
                            );
   93     93   
                let content_length = payload.len();
   94         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          94  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   95     95   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
        }
   98     98   
    })
   99     99   
}

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

@@ -1,1 +101,101 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_list_of_length_pattern_string_operation_http_request<
    4      4   
    B,
    5      5   
>(
    6         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           6  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    7      7   
) -> std::result::Result<
    8      8   
    crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
    9      9   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
   10     10   
>
   11     11   
where
   12     12   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   13     13   
    B::Data: Send,
   14     14   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   15     15   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   16     16   
{
   17     17   
    Ok({
   18     18   
        #[allow(unused_mut)]
   19     19   
        let mut input = crate::input::query_params_targeting_map_of_list_of_length_pattern_string_operation_input::Builder::default();
   20     20   
        #[allow(unused_variables)]
   21     21   
        let ::aws_smithy_runtime_api::http::RequestParts {
   22     22   
            uri, headers, body, ..
   23     23   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   24     24   
        let query_string = uri.query().unwrap_or("");
   25     25   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   26     26   
        let mut query_params: crate::unconstrained::map_of_list_of_length_pattern_string_unconstrained::MapOfListOfLengthPatternStringUnconstrained =
   27     27   
            crate::unconstrained::map_of_list_of_length_pattern_string_unconstrained::MapOfListOfLengthPatternStringUnconstrained(
   28     28   
                ::std::collections::HashMap::new()
   29     29   
            )
   30     30   
        ;
   31     31   
        for (k, v) in pairs {
   32     32   
            let entry = query_params.0.entry(String::from(k)).or_insert_with(|| crate::unconstrained::list_of_length_pattern_string_unconstrained::ListOfLengthPatternStringUnconstrained(std::vec::Vec::new()));
   33     33   
            entry.0.push(String::from(v));
   34     34   
        }
   35     35   
        input = input.set_map_of_length_pattern_string(Some(query_params));
   36     36   
        input.build()?
   37     37   
    })
   38     38   
}
   39     39   
   40     40   
#[allow(clippy::unnecessary_wraps)]
   41     41   
pub fn ser_query_params_targeting_map_of_list_of_length_pattern_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput,
   44     44   
) -> std::result::Result<
   45     45   
    ::aws_smithy_http_server::response::Response,
   46     46   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50         -
        let mut builder = ::http::Response::builder();
          50  +
        let mut builder = ::http_1x::Response::builder();
   51     51   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53         -
            ::http::header::CONTENT_TYPE,
          53  +
            ::http_1x::header::CONTENT_TYPE,
   54     54   
            "application/json",
   55     55   
        );
   56     56   
        let http_status: u16 = 200;
   57     57   
        builder = builder.status(http_status);
   58     58   
        let payload =
   59     59   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_pattern_string_operation_output::ser_query_params_targeting_map_of_list_of_length_pattern_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62     62   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64         -
            ::http::header::CONTENT_LENGTH,
          64  +
            ::http_1x::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67     67   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   68     68   
        builder.body(body)?
   69     69   
    })
   70     70   
}
   71     71   
   72     72   
#[allow(clippy::unnecessary_wraps)]
   73     73   
pub fn ser_query_params_targeting_map_of_list_of_length_pattern_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError,
   75     75   
) -> std::result::Result<
   76     76   
    ::aws_smithy_http_server::response::Response,
   77     77   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84         -
                let mut builder = ::http::Response::builder();
          84  +
                let mut builder = ::http_1x::Response::builder();
   85     85   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87         -
                                ::http::header::CONTENT_TYPE,
          87  +
                                ::http_1x::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90     90   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          92  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   93     93   
                                "ValidationException",
   94     94   
                            );
   95     95   
                let content_length = payload.len();
   96         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          96  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   97     97   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
        }
  100    100   
    })
  101    101   
}

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

@@ -1,1 +99,99 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_list_of_length_string_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12     12   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     13   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     14   
{
   15     15   
    Ok({
   16     16   
        #[allow(unused_mut)]
   17     17   
        let mut input = crate::input::query_params_targeting_map_of_list_of_length_string_operation_input::Builder::default();
   18     18   
        #[allow(unused_variables)]
   19     19   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     20   
            uri, headers, body, ..
   21     21   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   22     22   
        let query_string = uri.query().unwrap_or("");
   23     23   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   24     24   
        let mut query_params: crate::unconstrained::map_of_list_of_length_string_unconstrained::MapOfListOfLengthStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_list_of_length_string_unconstrained::MapOfListOfLengthStringUnconstrained(
   26     26   
                ::std::collections::HashMap::new()
   27     27   
            )
   28     28   
        ;
   29     29   
        for (k, v) in pairs {
   30     30   
            let entry = query_params.0.entry(String::from(k)).or_insert_with(|| crate::unconstrained::list_of_length_string_unconstrained::ListOfLengthStringUnconstrained(std::vec::Vec::new()));
   31     31   
            entry.0.push(String::from(v));
   32     32   
        }
   33     33   
        input = input.set_map_of_list_of_length_string(Some(query_params));
   34     34   
        input.build()?
   35     35   
    })
   36     36   
}
   37     37   
   38     38   
#[allow(clippy::unnecessary_wraps)]
   39     39   
pub fn ser_query_params_targeting_map_of_list_of_length_string_operation_http_response(
   40     40   
    #[allow(unused_variables)]
   41     41   
    output: crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput,
   42     42   
) -> std::result::Result<
   43     43   
    ::aws_smithy_http_server::response::Response,
   44     44   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48         -
        let mut builder = ::http::Response::builder();
          48  +
        let mut builder = ::http_1x::Response::builder();
   49     49   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51         -
            ::http::header::CONTENT_TYPE,
          51  +
            ::http_1x::header::CONTENT_TYPE,
   52     52   
            "application/json",
   53     53   
        );
   54     54   
        let http_status: u16 = 200;
   55     55   
        builder = builder.status(http_status);
   56     56   
        let payload =
   57     57   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_length_string_operation_output::ser_query_params_targeting_map_of_list_of_length_string_operation_output_output_output(&output)?
   58     58   
        ;
   59     59   
        let content_length = payload.len();
   60     60   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62         -
            ::http::header::CONTENT_LENGTH,
          62  +
            ::http_1x::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65     65   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   66     66   
        builder.body(body)?
   67     67   
    })
   68     68   
}
   69     69   
   70     70   
#[allow(clippy::unnecessary_wraps)]
   71     71   
pub fn ser_query_params_targeting_map_of_list_of_length_string_operation_http_error(
   72     72   
    error: &crate::error::QueryParamsTargetingMapOfListOfLengthStringOperationError,
   73     73   
) -> std::result::Result<
   74     74   
    ::aws_smithy_http_server::response::Response,
   75     75   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   76     76   
> {
   77     77   
    Ok({
   78     78   
        match error {
   79     79   
            crate::error::QueryParamsTargetingMapOfListOfLengthStringOperationError::ValidationException(output) => {
   80     80   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   81     81   
                #[allow(unused_mut)]
   82         -
                let mut builder = ::http::Response::builder();
          82  +
                let mut builder = ::http_1x::Response::builder();
   83     83   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85         -
                                ::http::header::CONTENT_TYPE,
          85  +
                                ::http_1x::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88     88   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          90  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   91     91   
                                "ValidationException",
   92     92   
                            );
   93     93   
                let content_length = payload.len();
   94         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          94  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   95     95   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
        }
   98     98   
    })
   99     99   
}

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

@@ -1,1 +99,99 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_list_of_pattern_string_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12     12   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     13   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     14   
{
   15     15   
    Ok({
   16     16   
        #[allow(unused_mut)]
   17     17   
        let mut input = crate::input::query_params_targeting_map_of_list_of_pattern_string_operation_input::Builder::default();
   18     18   
        #[allow(unused_variables)]
   19     19   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     20   
            uri, headers, body, ..
   21     21   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   22     22   
        let query_string = uri.query().unwrap_or("");
   23     23   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   24     24   
        let mut query_params: crate::unconstrained::map_of_list_of_pattern_string_unconstrained::MapOfListOfPatternStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_list_of_pattern_string_unconstrained::MapOfListOfPatternStringUnconstrained(
   26     26   
                ::std::collections::HashMap::new()
   27     27   
            )
   28     28   
        ;
   29     29   
        for (k, v) in pairs {
   30     30   
            let entry = query_params.0.entry(String::from(k)).or_insert_with(|| crate::unconstrained::list_of_pattern_string_unconstrained::ListOfPatternStringUnconstrained(std::vec::Vec::new()));
   31     31   
            entry.0.push(String::from(v));
   32     32   
        }
   33     33   
        input = input.set_map_of_list_of_pattern_string(Some(query_params));
   34     34   
        input.build()?
   35     35   
    })
   36     36   
}
   37     37   
   38     38   
#[allow(clippy::unnecessary_wraps)]
   39     39   
pub fn ser_query_params_targeting_map_of_list_of_pattern_string_operation_http_response(
   40     40   
    #[allow(unused_variables)]
   41     41   
    output: crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput,
   42     42   
) -> std::result::Result<
   43     43   
    ::aws_smithy_http_server::response::Response,
   44     44   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48         -
        let mut builder = ::http::Response::builder();
          48  +
        let mut builder = ::http_1x::Response::builder();
   49     49   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51         -
            ::http::header::CONTENT_TYPE,
          51  +
            ::http_1x::header::CONTENT_TYPE,
   52     52   
            "application/json",
   53     53   
        );
   54     54   
        let http_status: u16 = 200;
   55     55   
        builder = builder.status(http_status);
   56     56   
        let payload =
   57     57   
            crate::protocol_serde::shape_query_params_targeting_map_of_list_of_pattern_string_operation_output::ser_query_params_targeting_map_of_list_of_pattern_string_operation_output_output_output(&output)?
   58     58   
        ;
   59     59   
        let content_length = payload.len();
   60     60   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62         -
            ::http::header::CONTENT_LENGTH,
          62  +
            ::http_1x::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65     65   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   66     66   
        builder.body(body)?
   67     67   
    })
   68     68   
}
   69     69   
   70     70   
#[allow(clippy::unnecessary_wraps)]
   71     71   
pub fn ser_query_params_targeting_map_of_list_of_pattern_string_operation_http_error(
   72     72   
    error: &crate::error::QueryParamsTargetingMapOfListOfPatternStringOperationError,
   73     73   
) -> std::result::Result<
   74     74   
    ::aws_smithy_http_server::response::Response,
   75     75   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   76     76   
> {
   77     77   
    Ok({
   78     78   
        match error {
   79     79   
            crate::error::QueryParamsTargetingMapOfListOfPatternStringOperationError::ValidationException(output) => {
   80     80   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   81     81   
                #[allow(unused_mut)]
   82         -
                let mut builder = ::http::Response::builder();
          82  +
                let mut builder = ::http_1x::Response::builder();
   83     83   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85         -
                                ::http::header::CONTENT_TYPE,
          85  +
                                ::http_1x::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88     88   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          90  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   91     91   
                                "ValidationException",
   92     92   
                            );
   93     93   
                let content_length = payload.len();
   94         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          94  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   95     95   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
        }
   98     98   
    })
   99     99   
}

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

@@ -1,1 +101,101 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_pattern_string_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12     12   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     13   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     14   
{
   15     15   
    Ok({
   16     16   
        #[allow(unused_mut)]
   17     17   
        let mut input = crate::input::query_params_targeting_map_of_pattern_string_operation_input::Builder::default();
   18     18   
        #[allow(unused_variables)]
   19     19   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     20   
            uri, headers, body, ..
   21     21   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   22     22   
        let query_string = uri.query().unwrap_or("");
   23     23   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   24     24   
        let mut query_params: crate::unconstrained::map_of_pattern_string_unconstrained::MapOfPatternStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_pattern_string_unconstrained::MapOfPatternStringUnconstrained(
   26     26   
                ::std::collections::HashMap::new()
   27     27   
            )
   28     28   
        ;
   29     29   
        for (k, v) in pairs {
   30     30   
            query_params
   31     31   
                .0
   32     32   
                .entry(String::from(k))
   33     33   
                .or_insert_with(|| String::from(v));
   34     34   
        }
   35     35   
        input = input.set_map_of_pattern_string(Some(query_params));
   36     36   
        input.build()?
   37     37   
    })
   38     38   
}
   39     39   
   40     40   
#[allow(clippy::unnecessary_wraps)]
   41     41   
pub fn ser_query_params_targeting_map_of_pattern_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput,
   44     44   
) -> std::result::Result<
   45     45   
    ::aws_smithy_http_server::response::Response,
   46     46   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50         -
        let mut builder = ::http::Response::builder();
          50  +
        let mut builder = ::http_1x::Response::builder();
   51     51   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53         -
            ::http::header::CONTENT_TYPE,
          53  +
            ::http_1x::header::CONTENT_TYPE,
   54     54   
            "application/json",
   55     55   
        );
   56     56   
        let http_status: u16 = 200;
   57     57   
        builder = builder.status(http_status);
   58     58   
        let payload =
   59     59   
            crate::protocol_serde::shape_query_params_targeting_map_of_pattern_string_operation_output::ser_query_params_targeting_map_of_pattern_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62     62   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64         -
            ::http::header::CONTENT_LENGTH,
          64  +
            ::http_1x::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67     67   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   68     68   
        builder.body(body)?
   69     69   
    })
   70     70   
}
   71     71   
   72     72   
#[allow(clippy::unnecessary_wraps)]
   73     73   
pub fn ser_query_params_targeting_map_of_pattern_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfPatternStringOperationError,
   75     75   
) -> std::result::Result<
   76     76   
    ::aws_smithy_http_server::response::Response,
   77     77   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfPatternStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84         -
                let mut builder = ::http::Response::builder();
          84  +
                let mut builder = ::http_1x::Response::builder();
   85     85   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87         -
                                ::http::header::CONTENT_TYPE,
          87  +
                                ::http_1x::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90     90   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          92  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   93     93   
                                "ValidationException",
   94     94   
                            );
   95     95   
                let content_length = payload.len();
   96         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          96  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   97     97   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
        }
  100    100   
    })
  101    101   
}

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

@@ -1,1 +99,99 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_query_params_targeting_map_of_set_of_length_string_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12     12   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13     13   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   14     14   
{
   15     15   
    Ok({
   16     16   
        #[allow(unused_mut)]
   17     17   
        let mut input = crate::input::query_params_targeting_map_of_set_of_length_string_operation_input::Builder::default();
   18     18   
        #[allow(unused_variables)]
   19     19   
        let ::aws_smithy_runtime_api::http::RequestParts {
   20     20   
            uri, headers, body, ..
   21     21   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   22     22   
        let query_string = uri.query().unwrap_or("");
   23     23   
        let pairs = ::form_urlencoded::parse(query_string.as_bytes());
   24     24   
        let mut query_params: crate::unconstrained::map_of_set_of_length_string_unconstrained::MapOfSetOfLengthStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_set_of_length_string_unconstrained::MapOfSetOfLengthStringUnconstrained(
   26     26   
                ::std::collections::HashMap::new()
   27     27   
            )
   28     28   
        ;
   29     29   
        for (k, v) in pairs {
   30     30   
            let entry = query_params.0.entry(String::from(k)).or_insert_with(|| crate::unconstrained::set_of_length_string_unconstrained::SetOfLengthStringUnconstrained(std::vec::Vec::new()));
   31     31   
            entry.0.push(String::from(v));
   32     32   
        }
   33     33   
        input = input.set_map_of_set_of_length_string(Some(query_params));
   34     34   
        input.build()?
   35     35   
    })
   36     36   
}
   37     37   
   38     38   
#[allow(clippy::unnecessary_wraps)]
   39     39   
pub fn ser_query_params_targeting_map_of_set_of_length_string_operation_http_response(
   40     40   
    #[allow(unused_variables)]
   41     41   
    output: crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput,
   42     42   
) -> std::result::Result<
   43     43   
    ::aws_smithy_http_server::response::Response,
   44     44   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48         -
        let mut builder = ::http::Response::builder();
          48  +
        let mut builder = ::http_1x::Response::builder();
   49     49   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51         -
            ::http::header::CONTENT_TYPE,
          51  +
            ::http_1x::header::CONTENT_TYPE,
   52     52   
            "application/json",
   53     53   
        );
   54     54   
        let http_status: u16 = 200;
   55     55   
        builder = builder.status(http_status);
   56     56   
        let payload =
   57     57   
            crate::protocol_serde::shape_query_params_targeting_map_of_set_of_length_string_operation_output::ser_query_params_targeting_map_of_set_of_length_string_operation_output_output_output(&output)?
   58     58   
        ;
   59     59   
        let content_length = payload.len();
   60     60   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62         -
            ::http::header::CONTENT_LENGTH,
          62  +
            ::http_1x::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65     65   
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
   66     66   
        builder.body(body)?
   67     67   
    })
   68     68   
}
   69     69   
   70     70   
#[allow(clippy::unnecessary_wraps)]
   71     71   
pub fn ser_query_params_targeting_map_of_set_of_length_string_operation_http_error(
   72     72   
    error: &crate::error::QueryParamsTargetingMapOfSetOfLengthStringOperationError,
   73     73   
) -> std::result::Result<
   74     74   
    ::aws_smithy_http_server::response::Response,
   75     75   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   76     76   
> {
   77     77   
    Ok({
   78     78   
        match error {
   79     79   
            crate::error::QueryParamsTargetingMapOfSetOfLengthStringOperationError::ValidationException(output) => {
   80     80   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   81     81   
                #[allow(unused_mut)]
   82         -
                let mut builder = ::http::Response::builder();
          82  +
                let mut builder = ::http_1x::Response::builder();
   83     83   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85         -
                                ::http::header::CONTENT_TYPE,
          85  +
                                ::http_1x::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88     88   
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90         -
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
          90  +
                                ::http_1x::header::HeaderName::from_static("x-amzn-errortype"),
   91     91   
                                "ValidationException",
   92     92   
                            );
   93     93   
                let content_length = payload.len();
   94         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          94  +
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http_1x::header::CONTENT_LENGTH, content_length);
   95     95   
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
        }
   98     98   
    })
   99     99   
}

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

@@ -1,1 +56,61 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[allow(clippy::unnecessary_wraps)]
    3      3   
pub async fn de_streaming_blob_operation_http_request<B>(
    4         -
    #[allow(unused_variables)] request: ::http::Request<B>,
           4  +
    #[allow(unused_variables)] request: ::http_1x::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::StreamingBlobOperationInput,
    7      7   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10     10   
    B: ::aws_smithy_http_server::body::HttpBody + Send,
   11         -
    B: Into<::aws_smithy_types::byte_stream::ByteStream>,
          11  +
    B: ::http_body_1x::Body<Data = ::bytes::Bytes>
          12  +
        + ::std::marker::Send
          13  +
        + ::std::marker::Sync
          14  +
        + 'static,
          15  +
    B::Error: Into<::aws_smithy_types::body::Error> + 'static,
          16  +
   12     17   
    B::Data: Send,
   13     18   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   14     19   
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
   15     20   
{
   16     21   
    Ok({
   17     22   
        #[allow(unused_mut)]
   18     23   
        let mut input = crate::input::streaming_blob_operation_input::Builder::default();
   19     24   
        #[allow(unused_variables)]
   20     25   
        let ::aws_smithy_runtime_api::http::RequestParts {
   21     26   
            uri, headers, body, ..
   22     27   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   23     28   
        if let Some(value) = {
   24         -
            Some(crate::protocol_serde::shape_streaming_blob_operation_input::de_streaming_blob_payload(&mut body.into().into_inner())?)
          29  +
            Some(crate::protocol_serde::shape_streaming_blob_operation_input::de_streaming_blob_payload(&mut ::aws_smithy_types::body::SdkBody::from_body_1_x(body))?)
   25     30   
        } {
   26     31   
            input = input.set_streaming_blob(value)
   27     32   
        }
   28     33   
        input.build()
   29     34   
    })
   30     35   
}
   31     36   
   32     37   
#[allow(clippy::unnecessary_wraps)]
   33     38   
pub fn ser_streaming_blob_operation_http_response(
   34     39   
    #[allow(unused_variables)] output: crate::output::StreamingBlobOperationOutput,
   35     40   
) -> std::result::Result<
   36     41   
    ::aws_smithy_http_server::response::Response,
   37     42   
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   38     43   
> {
   39     44   
    Ok({
   40     45   
        #[allow(unused_mut)]
   41         -
        let mut builder = ::http::Response::builder();
          46  +
        let mut builder = ::http_1x::Response::builder();
   42     47   
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
   43     48   
            builder,
   44         -
            ::http::header::CONTENT_TYPE,
          49  +
            ::http_1x::header::CONTENT_TYPE,
   45     50   
            "application/octet-stream",
   46     51   
        );
   47     52   
        let http_status: u16 = 200;
   48     53   
        builder = builder.status(http_status);
   49         -
        let body = ::aws_smithy_http_server::body::boxed(::aws_smithy_http_server::body::Body::wrap_stream(
          54  +
        let body = ::aws_smithy_http_server::body::boxed(::aws_smithy_http_server::body::wrap_stream(
   50     55   
            ::aws_smithy_http::futures_stream_adapter::FuturesStreamCompatByteStream::new(
   51     56   
                crate::protocol_serde::shape_streaming_blob_operation_output::ser_streaming_blob_http_payload( output.streaming_blob)?
   52     57   
            )
   53     58   
        ));
   54     59   
        builder.body(body)?
   55     60   
    })
   56     61   
}

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

@@ -68,68 +129,129 @@
   88     88   
                            <
   89     89   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
   90     90   
                                as ::aws_smithy_http_server::plugin::Plugin<
   91     91   
                                    ConstraintsService<L>,
   92     92   
                                    crate::operation_shape::ConstrainedHttpBoundShapesOperation,
   93     93   
                                    ModelPl::Output
   94     94   
                                >
   95     95   
                            >::Output
   96     96   
                        >,
   97     97   
   98         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
   99         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
          98  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
          99  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  100    100   
  101    101   
                    {
  102    102   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  103    103   
        use ::aws_smithy_http_server::plugin::Plugin;
  104    104   
        let svc =
  105    105   
            crate::operation_shape::ConstrainedHttpBoundShapesOperation::from_handler(handler);
  106    106   
        let svc = self.model_plugin.apply(svc);
  107    107   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  108    108   
            .apply(svc);
  109    109   
        let svc = self.http_plugin.apply(svc);
@@ -136,136 +217,217 @@
  156    156   
                            <
  157    157   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  158    158   
                                as ::aws_smithy_http_server::plugin::Plugin<
  159    159   
                                    ConstraintsService<L>,
  160    160   
                                    crate::operation_shape::ConstrainedHttpBoundShapesOperation,
  161    161   
                                    ModelPl::Output
  162    162   
                                >
  163    163   
                            >::Output
  164    164   
                        >,
  165    165   
  166         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  167         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         166  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         167  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  168    168   
  169    169   
                    {
  170    170   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  171    171   
        use ::aws_smithy_http_server::plugin::Plugin;
  172    172   
        let svc =
  173    173   
            crate::operation_shape::ConstrainedHttpBoundShapesOperation::from_service(service);
  174    174   
        let svc = self.model_plugin.apply(svc);
  175    175   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  176    176   
            .apply(svc);
  177    177   
        let svc = self.http_plugin.apply(svc);
  178    178   
        self.constrained_http_bound_shapes_operation_custom(svc)
  179    179   
    }
  180    180   
  181    181   
    /// Sets the [`ConstrainedHttpBoundShapesOperation`](crate::operation_shape::ConstrainedHttpBoundShapesOperation) to a custom [`Service`](tower::Service).
  182    182   
    /// not constrained by the Smithy contract.
  183    183   
    fn constrained_http_bound_shapes_operation_custom<S>(mut self, svc: S) -> Self
  184    184   
    where
  185    185   
        S: ::tower::Service<
  186         -
                ::http::Request<Body>,
  187         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         186  +
                ::http_1x::Request<Body>,
         187  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  188    188   
                Error = ::std::convert::Infallible,
  189    189   
            > + Clone
  190    190   
            + Send
  191    191   
            + 'static,
  192    192   
        S::Future: Send + 'static,
  193    193   
    {
  194    194   
        self.constrained_http_bound_shapes_operation =
  195    195   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
  196    196   
        self
  197    197   
    }
@@ -221,221 +282,282 @@
  241    241   
                            <
  242    242   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  243    243   
                                as ::aws_smithy_http_server::plugin::Plugin<
  244    244   
                                    ConstraintsService<L>,
  245    245   
                                    crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  246    246   
                                    ModelPl::Output
  247    247   
                                >
  248    248   
                            >::Output
  249    249   
                        >,
  250    250   
  251         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  252         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         251  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         252  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  253    253   
  254    254   
                    {
  255    255   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  256    256   
        use ::aws_smithy_http_server::plugin::Plugin;
  257    257   
        let svc = crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation::from_handler(
  258    258   
            handler,
  259    259   
        );
  260    260   
        let svc = self.model_plugin.apply(svc);
  261    261   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  262    262   
            .apply(svc);
@@ -290,290 +372,372 @@
  310    310   
                            <
  311    311   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  312    312   
                                as ::aws_smithy_http_server::plugin::Plugin<
  313    313   
                                    ConstraintsService<L>,
  314    314   
                                    crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  315    315   
                                    ModelPl::Output
  316    316   
                                >
  317    317   
                            >::Output
  318    318   
                        >,
  319    319   
  320         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  321         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         320  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         321  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  322    322   
  323    323   
                    {
  324    324   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  325    325   
        use ::aws_smithy_http_server::plugin::Plugin;
  326    326   
        let svc = crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation::from_service(
  327    327   
            service,
  328    328   
        );
  329    329   
        let svc = self.model_plugin.apply(svc);
  330    330   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  331    331   
            .apply(svc);
  332    332   
        let svc = self.http_plugin.apply(svc);
  333    333   
        self.constrained_http_payload_bound_shape_operation_custom(svc)
  334    334   
    }
  335    335   
  336    336   
    /// Sets the [`ConstrainedHttpPayloadBoundShapeOperation`](crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation) to a custom [`Service`](tower::Service).
  337    337   
    /// not constrained by the Smithy contract.
  338    338   
    fn constrained_http_payload_bound_shape_operation_custom<S>(mut self, svc: S) -> Self
  339    339   
    where
  340    340   
        S: ::tower::Service<
  341         -
                ::http::Request<Body>,
  342         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         341  +
                ::http_1x::Request<Body>,
         342  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  343    343   
                Error = ::std::convert::Infallible,
  344    344   
            > + Clone
  345    345   
            + Send
  346    346   
            + 'static,
  347    347   
        S::Future: Send + 'static,
  348    348   
    {
  349    349   
        self.constrained_http_payload_bound_shape_operation =
  350    350   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
  351    351   
        self
  352    352   
    }
@@ -376,376 +437,437 @@
  396    396   
                            <
  397    397   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  398    398   
                                as ::aws_smithy_http_server::plugin::Plugin<
  399    399   
                                    ConstraintsService<L>,
  400    400   
                                    crate::operation_shape::ConstrainedRecursiveShapesOperation,
  401    401   
                                    ModelPl::Output
  402    402   
                                >
  403    403   
                            >::Output
  404    404   
                        >,
  405    405   
  406         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  407         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         406  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         407  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  408    408   
  409    409   
                    {
  410    410   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  411    411   
        use ::aws_smithy_http_server::plugin::Plugin;
  412    412   
        let svc =
  413    413   
            crate::operation_shape::ConstrainedRecursiveShapesOperation::from_handler(handler);
  414    414   
        let svc = self.model_plugin.apply(svc);
  415    415   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  416    416   
            .apply(svc);
  417    417   
        let svc = self.http_plugin.apply(svc);
@@ -444,444 +525,525 @@
  464    464   
                            <
  465    465   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  466    466   
                                as ::aws_smithy_http_server::plugin::Plugin<
  467    467   
                                    ConstraintsService<L>,
  468    468   
                                    crate::operation_shape::ConstrainedRecursiveShapesOperation,
  469    469   
                                    ModelPl::Output
  470    470   
                                >
  471    471   
                            >::Output
  472    472   
                        >,
  473    473   
  474         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  475         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         474  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         475  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  476    476   
  477    477   
                    {
  478    478   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  479    479   
        use ::aws_smithy_http_server::plugin::Plugin;
  480    480   
        let svc =
  481    481   
            crate::operation_shape::ConstrainedRecursiveShapesOperation::from_service(service);
  482    482   
        let svc = self.model_plugin.apply(svc);
  483    483   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  484    484   
            .apply(svc);
  485    485   
        let svc = self.http_plugin.apply(svc);
  486    486   
        self.constrained_recursive_shapes_operation_custom(svc)
  487    487   
    }
  488    488   
  489    489   
    /// Sets the [`ConstrainedRecursiveShapesOperation`](crate::operation_shape::ConstrainedRecursiveShapesOperation) to a custom [`Service`](tower::Service).
  490    490   
    /// not constrained by the Smithy contract.
  491    491   
    fn constrained_recursive_shapes_operation_custom<S>(mut self, svc: S) -> Self
  492    492   
    where
  493    493   
        S: ::tower::Service<
  494         -
                ::http::Request<Body>,
  495         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         494  +
                ::http_1x::Request<Body>,
         495  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  496    496   
                Error = ::std::convert::Infallible,
  497    497   
            > + Clone
  498    498   
            + Send
  499    499   
            + 'static,
  500    500   
        S::Future: Send + 'static,
  501    501   
    {
  502    502   
        self.constrained_recursive_shapes_operation =
  503    503   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
  504    504   
        self
  505    505   
    }
@@ -529,529 +590,590 @@
  549    549   
                            <
  550    550   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  551    551   
                                as ::aws_smithy_http_server::plugin::Plugin<
  552    552   
                                    ConstraintsService<L>,
  553    553   
                                    crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  554    554   
                                    ModelPl::Output
  555    555   
                                >
  556    556   
                            >::Output
  557    557   
                        >,
  558    558   
  559         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  560         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         559  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         560  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  561    561   
  562    562   
                    {
  563    563   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  564    564   
        use ::aws_smithy_http_server::plugin::Plugin;
  565    565   
        let svc =
  566    566   
            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation::from_handler(handler);
  567    567   
        let svc = self.model_plugin.apply(svc);
  568    568   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  569    569   
            .apply(svc);
  570    570   
        let svc = self.http_plugin.apply(svc);
@@ -597,597 +678,678 @@
  617    617   
                            <
  618    618   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  619    619   
                                as ::aws_smithy_http_server::plugin::Plugin<
  620    620   
                                    ConstraintsService<L>,
  621    621   
                                    crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  622    622   
                                    ModelPl::Output
  623    623   
                                >
  624    624   
                            >::Output
  625    625   
                        >,
  626    626   
  627         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  628         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         627  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         628  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  629    629   
  630    630   
                    {
  631    631   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  632    632   
        use ::aws_smithy_http_server::plugin::Plugin;
  633    633   
        let svc =
  634    634   
            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation::from_service(service);
  635    635   
        let svc = self.model_plugin.apply(svc);
  636    636   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  637    637   
            .apply(svc);
  638    638   
        let svc = self.http_plugin.apply(svc);
  639    639   
        self.constrained_shapes_only_in_output_operation_custom(svc)
  640    640   
    }
  641    641   
  642    642   
    /// Sets the [`ConstrainedShapesOnlyInOutputOperation`](crate::operation_shape::ConstrainedShapesOnlyInOutputOperation) to a custom [`Service`](tower::Service).
  643    643   
    /// not constrained by the Smithy contract.
  644    644   
    fn constrained_shapes_only_in_output_operation_custom<S>(mut self, svc: S) -> Self
  645    645   
    where
  646    646   
        S: ::tower::Service<
  647         -
                ::http::Request<Body>,
  648         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         647  +
                ::http_1x::Request<Body>,
         648  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  649    649   
                Error = ::std::convert::Infallible,
  650    650   
            > + Clone
  651    651   
            + Send
  652    652   
            + 'static,
  653    653   
        S::Future: Send + 'static,
  654    654   
    {
  655    655   
        self.constrained_shapes_only_in_output_operation =
  656    656   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
  657    657   
        self
  658    658   
    }
@@ -682,682 +743,743 @@
  702    702   
                            <
  703    703   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  704    704   
                                as ::aws_smithy_http_server::plugin::Plugin<
  705    705   
                                    ConstraintsService<L>,
  706    706   
                                    crate::operation_shape::ConstrainedShapesOperation,
  707    707   
                                    ModelPl::Output
  708    708   
                                >
  709    709   
                            >::Output
  710    710   
                        >,
  711    711   
  712         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  713         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         712  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         713  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  714    714   
  715    715   
                    {
  716    716   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  717    717   
        use ::aws_smithy_http_server::plugin::Plugin;
  718    718   
        let svc = crate::operation_shape::ConstrainedShapesOperation::from_handler(handler);
  719    719   
        let svc = self.model_plugin.apply(svc);
  720    720   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  721    721   
            .apply(svc);
  722    722   
        let svc = self.http_plugin.apply(svc);
  723    723   
        self.constrained_shapes_operation_custom(svc)
@@ -749,749 +829,829 @@
  769    769   
                            <
  770    770   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  771    771   
                                as ::aws_smithy_http_server::plugin::Plugin<
  772    772   
                                    ConstraintsService<L>,
  773    773   
                                    crate::operation_shape::ConstrainedShapesOperation,
  774    774   
                                    ModelPl::Output
  775    775   
                                >
  776    776   
                            >::Output
  777    777   
                        >,
  778    778   
  779         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  780         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         779  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         780  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  781    781   
  782    782   
                    {
  783    783   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  784    784   
        use ::aws_smithy_http_server::plugin::Plugin;
  785    785   
        let svc = crate::operation_shape::ConstrainedShapesOperation::from_service(service);
  786    786   
        let svc = self.model_plugin.apply(svc);
  787    787   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  788    788   
            .apply(svc);
  789    789   
        let svc = self.http_plugin.apply(svc);
  790    790   
        self.constrained_shapes_operation_custom(svc)
  791    791   
    }
  792    792   
  793    793   
    /// Sets the [`ConstrainedShapesOperation`](crate::operation_shape::ConstrainedShapesOperation) to a custom [`Service`](tower::Service).
  794    794   
    /// not constrained by the Smithy contract.
  795    795   
    fn constrained_shapes_operation_custom<S>(mut self, svc: S) -> Self
  796    796   
    where
  797    797   
        S: ::tower::Service<
  798         -
                ::http::Request<Body>,
  799         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         798  +
                ::http_1x::Request<Body>,
         799  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  800    800   
                Error = ::std::convert::Infallible,
  801    801   
            > + Clone
  802    802   
            + Send
  803    803   
            + 'static,
  804    804   
        S::Future: Send + 'static,
  805    805   
    {
  806    806   
        self.constrained_shapes_operation =
  807    807   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
  808    808   
        self
  809    809   
    }
@@ -833,833 +894,894 @@
  853    853   
                            <
  854    854   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  855    855   
                                as ::aws_smithy_http_server::plugin::Plugin<
  856    856   
                                    ConstraintsService<L>,
  857    857   
                                    crate::operation_shape::EventStreamsOperation,
  858    858   
                                    ModelPl::Output
  859    859   
                                >
  860    860   
                            >::Output
  861    861   
                        >,
  862    862   
  863         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  864         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         863  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         864  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  865    865   
  866    866   
                    {
  867    867   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  868    868   
        use ::aws_smithy_http_server::plugin::Plugin;
  869    869   
        let svc = crate::operation_shape::EventStreamsOperation::from_handler(handler);
  870    870   
        let svc = self.model_plugin.apply(svc);
  871    871   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  872    872   
            .apply(svc);
  873    873   
        let svc = self.http_plugin.apply(svc);
  874    874   
        self.event_streams_operation_custom(svc)
@@ -900,900 +980,980 @@
  920    920   
                            <
  921    921   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  922    922   
                                as ::aws_smithy_http_server::plugin::Plugin<
  923    923   
                                    ConstraintsService<L>,
  924    924   
                                    crate::operation_shape::EventStreamsOperation,
  925    925   
                                    ModelPl::Output
  926    926   
                                >
  927    927   
                            >::Output
  928    928   
                        >,
  929    929   
  930         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  931         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
         930  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         931  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
  932    932   
  933    933   
                    {
  934    934   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  935    935   
        use ::aws_smithy_http_server::plugin::Plugin;
  936    936   
        let svc = crate::operation_shape::EventStreamsOperation::from_service(service);
  937    937   
        let svc = self.model_plugin.apply(svc);
  938    938   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  939    939   
            .apply(svc);
  940    940   
        let svc = self.http_plugin.apply(svc);
  941    941   
        self.event_streams_operation_custom(svc)
  942    942   
    }
  943    943   
  944    944   
    /// Sets the [`EventStreamsOperation`](crate::operation_shape::EventStreamsOperation) to a custom [`Service`](tower::Service).
  945    945   
    /// not constrained by the Smithy contract.
  946    946   
    fn event_streams_operation_custom<S>(mut self, svc: S) -> Self
  947    947   
    where
  948    948   
        S: ::tower::Service<
  949         -
                ::http::Request<Body>,
  950         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         949  +
                ::http_1x::Request<Body>,
         950  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
  951    951   
                Error = ::std::convert::Infallible,
  952    952   
            > + Clone
  953    953   
            + Send
  954    954   
            + 'static,
  955    955   
        S::Future: Send + 'static,
  956    956   
    {
  957    957   
        self.event_streams_operation = Some(::aws_smithy_http_server::routing::Route::new(svc));
  958    958   
        self
  959    959   
    }
  960    960   
@@ -983,983 +1044,1044 @@
 1003   1003   
                            <
 1004   1004   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1005   1005   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1006   1006   
                                    ConstraintsService<L>,
 1007   1007   
                                    crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1008   1008   
                                    ModelPl::Output
 1009   1009   
                                >
 1010   1010   
                            >::Output
 1011   1011   
                        >,
 1012   1012   
 1013         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1014         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1013  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1014  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1015   1015   
 1016   1016   
                    {
 1017   1017   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1018   1018   
        use ::aws_smithy_http_server::plugin::Plugin;
 1019   1019   
        let svc =
 1020   1020   
            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation::from_handler(
 1021   1021   
                handler,
 1022   1022   
            );
 1023   1023   
        let svc = self.model_plugin.apply(svc);
 1024   1024   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
@@ -1053,1053 +1136,1136 @@
 1073   1073   
                            <
 1074   1074   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1075   1075   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1076   1076   
                                    ConstraintsService<L>,
 1077   1077   
                                    crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1078   1078   
                                    ModelPl::Output
 1079   1079   
                                >
 1080   1080   
                            >::Output
 1081   1081   
                        >,
 1082   1082   
 1083         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1084         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1083  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1084  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1085   1085   
 1086   1086   
                    {
 1087   1087   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1088   1088   
        use ::aws_smithy_http_server::plugin::Plugin;
 1089   1089   
        let svc =
 1090   1090   
            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation::from_service(
 1091   1091   
                service,
 1092   1092   
            );
 1093   1093   
        let svc = self.model_plugin.apply(svc);
 1094   1094   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1095   1095   
            .apply(svc);
 1096   1096   
        let svc = self.http_plugin.apply(svc);
 1097   1097   
        self.http_prefix_headers_targeting_length_map_operation_custom(svc)
 1098   1098   
    }
 1099   1099   
 1100   1100   
    /// Sets the [`HttpPrefixHeadersTargetingLengthMapOperation`](crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation) to a custom [`Service`](tower::Service).
 1101   1101   
    /// not constrained by the Smithy contract.
 1102   1102   
    fn http_prefix_headers_targeting_length_map_operation_custom<S>(mut self, svc: S) -> Self
 1103   1103   
    where
 1104   1104   
        S: ::tower::Service<
 1105         -
                ::http::Request<Body>,
 1106         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1105  +
                ::http_1x::Request<Body>,
        1106  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1107   1107   
                Error = ::std::convert::Infallible,
 1108   1108   
            > + Clone
 1109   1109   
            + Send
 1110   1110   
            + 'static,
 1111   1111   
        S::Future: Send + 'static,
 1112   1112   
    {
 1113   1113   
        self.http_prefix_headers_targeting_length_map_operation =
 1114   1114   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1115   1115   
        self
 1116   1116   
    }
@@ -1140,1140 +1201,1201 @@
 1160   1160   
                            <
 1161   1161   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1162   1162   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1163   1163   
                                    ConstraintsService<L>,
 1164   1164   
                                    crate::operation_shape::NonStreamingBlobOperation,
 1165   1165   
                                    ModelPl::Output
 1166   1166   
                                >
 1167   1167   
                            >::Output
 1168   1168   
                        >,
 1169   1169   
 1170         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1171         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1170  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1171  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1172   1172   
 1173   1173   
                    {
 1174   1174   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1175   1175   
        use ::aws_smithy_http_server::plugin::Plugin;
 1176   1176   
        let svc = crate::operation_shape::NonStreamingBlobOperation::from_handler(handler);
 1177   1177   
        let svc = self.model_plugin.apply(svc);
 1178   1178   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1179   1179   
            .apply(svc);
 1180   1180   
        let svc = self.http_plugin.apply(svc);
 1181   1181   
        self.non_streaming_blob_operation_custom(svc)
@@ -1207,1207 +1287,1287 @@
 1227   1227   
                            <
 1228   1228   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1229   1229   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1230   1230   
                                    ConstraintsService<L>,
 1231   1231   
                                    crate::operation_shape::NonStreamingBlobOperation,
 1232   1232   
                                    ModelPl::Output
 1233   1233   
                                >
 1234   1234   
                            >::Output
 1235   1235   
                        >,
 1236   1236   
 1237         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1238         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1237  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1238  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1239   1239   
 1240   1240   
                    {
 1241   1241   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1242   1242   
        use ::aws_smithy_http_server::plugin::Plugin;
 1243   1243   
        let svc = crate::operation_shape::NonStreamingBlobOperation::from_service(service);
 1244   1244   
        let svc = self.model_plugin.apply(svc);
 1245   1245   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1246   1246   
            .apply(svc);
 1247   1247   
        let svc = self.http_plugin.apply(svc);
 1248   1248   
        self.non_streaming_blob_operation_custom(svc)
 1249   1249   
    }
 1250   1250   
 1251   1251   
    /// Sets the [`NonStreamingBlobOperation`](crate::operation_shape::NonStreamingBlobOperation) to a custom [`Service`](tower::Service).
 1252   1252   
    /// not constrained by the Smithy contract.
 1253   1253   
    fn non_streaming_blob_operation_custom<S>(mut self, svc: S) -> Self
 1254   1254   
    where
 1255   1255   
        S: ::tower::Service<
 1256         -
                ::http::Request<Body>,
 1257         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1256  +
                ::http_1x::Request<Body>,
        1257  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1258   1258   
                Error = ::std::convert::Infallible,
 1259   1259   
            > + Clone
 1260   1260   
            + Send
 1261   1261   
            + 'static,
 1262   1262   
        S::Future: Send + 'static,
 1263   1263   
    {
 1264   1264   
        self.non_streaming_blob_operation =
 1265   1265   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1266   1266   
        self
 1267   1267   
    }
@@ -1291,1291 +1352,1352 @@
 1311   1311   
                            <
 1312   1312   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1313   1313   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1314   1314   
                                    ConstraintsService<L>,
 1315   1315   
                                    crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1316   1316   
                                    ModelPl::Output
 1317   1317   
                                >
 1318   1318   
                            >::Output
 1319   1319   
                        >,
 1320   1320   
 1321         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1322         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1321  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1322  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1323   1323   
 1324   1324   
                    {
 1325   1325   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1326   1326   
        use ::aws_smithy_http_server::plugin::Plugin;
 1327   1327   
        let svc =
 1328   1328   
            crate::operation_shape::QueryParamsTargetingLengthMapOperation::from_handler(handler);
 1329   1329   
        let svc = self.model_plugin.apply(svc);
 1330   1330   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1331   1331   
            .apply(svc);
 1332   1332   
        let svc = self.http_plugin.apply(svc);
@@ -1359,1359 +1440,1440 @@
 1379   1379   
                            <
 1380   1380   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1381   1381   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1382   1382   
                                    ConstraintsService<L>,
 1383   1383   
                                    crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1384   1384   
                                    ModelPl::Output
 1385   1385   
                                >
 1386   1386   
                            >::Output
 1387   1387   
                        >,
 1388   1388   
 1389         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1390         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1389  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1390  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1391   1391   
 1392   1392   
                    {
 1393   1393   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1394   1394   
        use ::aws_smithy_http_server::plugin::Plugin;
 1395   1395   
        let svc =
 1396   1396   
            crate::operation_shape::QueryParamsTargetingLengthMapOperation::from_service(service);
 1397   1397   
        let svc = self.model_plugin.apply(svc);
 1398   1398   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1399   1399   
            .apply(svc);
 1400   1400   
        let svc = self.http_plugin.apply(svc);
 1401   1401   
        self.query_params_targeting_length_map_operation_custom(svc)
 1402   1402   
    }
 1403   1403   
 1404   1404   
    /// Sets the [`QueryParamsTargetingLengthMapOperation`](crate::operation_shape::QueryParamsTargetingLengthMapOperation) to a custom [`Service`](tower::Service).
 1405   1405   
    /// not constrained by the Smithy contract.
 1406   1406   
    fn query_params_targeting_length_map_operation_custom<S>(mut self, svc: S) -> Self
 1407   1407   
    where
 1408   1408   
        S: ::tower::Service<
 1409         -
                ::http::Request<Body>,
 1410         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1409  +
                ::http_1x::Request<Body>,
        1410  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1411   1411   
                Error = ::std::convert::Infallible,
 1412   1412   
            > + Clone
 1413   1413   
            + Send
 1414   1414   
            + 'static,
 1415   1415   
        S::Future: Send + 'static,
 1416   1416   
    {
 1417   1417   
        self.query_params_targeting_length_map_operation =
 1418   1418   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1419   1419   
        self
 1420   1420   
    }
@@ -1444,1444 +1505,1505 @@
 1464   1464   
                            <
 1465   1465   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1466   1466   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1467   1467   
                                    ConstraintsService<L>,
 1468   1468   
                                    crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1469   1469   
                                    ModelPl::Output
 1470   1470   
                                >
 1471   1471   
                            >::Output
 1472   1472   
                        >,
 1473   1473   
 1474         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1475         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1474  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1475  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1476   1476   
 1477   1477   
                    {
 1478   1478   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1479   1479   
        use ::aws_smithy_http_server::plugin::Plugin;
 1480   1480   
        let svc =
 1481   1481   
            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation::from_handler(
 1482   1482   
                handler,
 1483   1483   
            );
 1484   1484   
        let svc = self.model_plugin.apply(svc);
 1485   1485   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
@@ -1514,1514 +1597,1597 @@
 1534   1534   
                            <
 1535   1535   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1536   1536   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1537   1537   
                                    ConstraintsService<L>,
 1538   1538   
                                    crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1539   1539   
                                    ModelPl::Output
 1540   1540   
                                >
 1541   1541   
                            >::Output
 1542   1542   
                        >,
 1543   1543   
 1544         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1545         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1544  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1545  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1546   1546   
 1547   1547   
                    {
 1548   1548   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1549   1549   
        use ::aws_smithy_http_server::plugin::Plugin;
 1550   1550   
        let svc =
 1551   1551   
            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation::from_service(
 1552   1552   
                service,
 1553   1553   
            );
 1554   1554   
        let svc = self.model_plugin.apply(svc);
 1555   1555   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1556   1556   
            .apply(svc);
 1557   1557   
        let svc = self.http_plugin.apply(svc);
 1558   1558   
        self.query_params_targeting_map_of_enum_string_operation_custom(svc)
 1559   1559   
    }
 1560   1560   
 1561   1561   
    /// Sets the [`QueryParamsTargetingMapOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation) to a custom [`Service`](tower::Service).
 1562   1562   
    /// not constrained by the Smithy contract.
 1563   1563   
    fn query_params_targeting_map_of_enum_string_operation_custom<S>(mut self, svc: S) -> Self
 1564   1564   
    where
 1565   1565   
        S: ::tower::Service<
 1566         -
                ::http::Request<Body>,
 1567         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1566  +
                ::http_1x::Request<Body>,
        1567  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1568   1568   
                Error = ::std::convert::Infallible,
 1569   1569   
            > + Clone
 1570   1570   
            + Send
 1571   1571   
            + 'static,
 1572   1572   
        S::Future: Send + 'static,
 1573   1573   
    {
 1574   1574   
        self.query_params_targeting_map_of_enum_string_operation =
 1575   1575   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1576   1576   
        self
 1577   1577   
    }
@@ -1601,1601 +1662,1662 @@
 1621   1621   
                            <
 1622   1622   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1623   1623   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1624   1624   
                                    ConstraintsService<L>,
 1625   1625   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1626   1626   
                                    ModelPl::Output
 1627   1627   
                                >
 1628   1628   
                            >::Output
 1629   1629   
                        >,
 1630   1630   
 1631         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1632         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1631  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1632  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1633   1633   
 1634   1634   
                    {
 1635   1635   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1636   1636   
        use ::aws_smithy_http_server::plugin::Plugin;
 1637   1637   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation::from_handler(handler);
 1638   1638   
        let svc = self.model_plugin.apply(svc);
 1639   1639   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1640   1640   
            .apply(svc);
 1641   1641   
        let svc = self.http_plugin.apply(svc);
 1642   1642   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation_custom(svc)
@@ -1668,1668 +1751,1751 @@
 1688   1688   
                            <
 1689   1689   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1690   1690   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1691   1691   
                                    ConstraintsService<L>,
 1692   1692   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1693   1693   
                                    ModelPl::Output
 1694   1694   
                                >
 1695   1695   
                            >::Output
 1696   1696   
                        >,
 1697   1697   
 1698         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1699         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1698  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1699  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1700   1700   
 1701   1701   
                    {
 1702   1702   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1703   1703   
        use ::aws_smithy_http_server::plugin::Plugin;
 1704   1704   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation::from_service(service);
 1705   1705   
        let svc = self.model_plugin.apply(svc);
 1706   1706   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1707   1707   
            .apply(svc);
 1708   1708   
        let svc = self.http_plugin.apply(svc);
 1709   1709   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation_custom(svc)
 1710   1710   
    }
 1711   1711   
 1712   1712   
    /// Sets the [`QueryParamsTargetingMapOfLengthListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation) to a custom [`Service`](tower::Service).
 1713   1713   
    /// not constrained by the Smithy contract.
 1714   1714   
    fn query_params_targeting_map_of_length_list_of_pattern_string_operation_custom<S>(
 1715   1715   
        mut self,
 1716   1716   
        svc: S,
 1717   1717   
    ) -> Self
 1718   1718   
    where
 1719   1719   
        S: ::tower::Service<
 1720         -
                ::http::Request<Body>,
 1721         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1720  +
                ::http_1x::Request<Body>,
        1721  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1722   1722   
                Error = ::std::convert::Infallible,
 1723   1723   
            > + Clone
 1724   1724   
            + Send
 1725   1725   
            + 'static,
 1726   1726   
        S::Future: Send + 'static,
 1727   1727   
    {
 1728   1728   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation =
 1729   1729   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1730   1730   
        self
 1731   1731   
    }
@@ -1755,1755 +1816,1816 @@
 1775   1775   
                            <
 1776   1776   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1777   1777   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1778   1778   
                                    ConstraintsService<L>,
 1779   1779   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1780   1780   
                                    ModelPl::Output
 1781   1781   
                                >
 1782   1782   
                            >::Output
 1783   1783   
                        >,
 1784   1784   
 1785         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1786         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1785  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1786  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1787   1787   
 1788   1788   
                    {
 1789   1789   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1790   1790   
        use ::aws_smithy_http_server::plugin::Plugin;
 1791   1791   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation::from_handler(handler);
 1792   1792   
        let svc = self.model_plugin.apply(svc);
 1793   1793   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1794   1794   
            .apply(svc);
 1795   1795   
        let svc = self.http_plugin.apply(svc);
 1796   1796   
        self.query_params_targeting_map_of_length_pattern_string_operation_custom(svc)
@@ -1822,1822 +1905,1905 @@
 1842   1842   
                            <
 1843   1843   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1844   1844   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1845   1845   
                                    ConstraintsService<L>,
 1846   1846   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1847   1847   
                                    ModelPl::Output
 1848   1848   
                                >
 1849   1849   
                            >::Output
 1850   1850   
                        >,
 1851   1851   
 1852         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1853         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1852  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1853  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1854   1854   
 1855   1855   
                    {
 1856   1856   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1857   1857   
        use ::aws_smithy_http_server::plugin::Plugin;
 1858   1858   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation::from_service(service);
 1859   1859   
        let svc = self.model_plugin.apply(svc);
 1860   1860   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1861   1861   
            .apply(svc);
 1862   1862   
        let svc = self.http_plugin.apply(svc);
 1863   1863   
        self.query_params_targeting_map_of_length_pattern_string_operation_custom(svc)
 1864   1864   
    }
 1865   1865   
 1866   1866   
    /// Sets the [`QueryParamsTargetingMapOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation) to a custom [`Service`](tower::Service).
 1867   1867   
    /// not constrained by the Smithy contract.
 1868   1868   
    fn query_params_targeting_map_of_length_pattern_string_operation_custom<S>(
 1869   1869   
        mut self,
 1870   1870   
        svc: S,
 1871   1871   
    ) -> Self
 1872   1872   
    where
 1873   1873   
        S: ::tower::Service<
 1874         -
                ::http::Request<Body>,
 1875         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1874  +
                ::http_1x::Request<Body>,
        1875  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 1876   1876   
                Error = ::std::convert::Infallible,
 1877   1877   
            > + Clone
 1878   1878   
            + Send
 1879   1879   
            + 'static,
 1880   1880   
        S::Future: Send + 'static,
 1881   1881   
    {
 1882   1882   
        self.query_params_targeting_map_of_length_pattern_string_operation =
 1883   1883   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 1884   1884   
        self
 1885   1885   
    }
@@ -1909,1909 +1970,1970 @@
 1929   1929   
                            <
 1930   1930   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1931   1931   
                                as ::aws_smithy_http_server::plugin::Plugin<
 1932   1932   
                                    ConstraintsService<L>,
 1933   1933   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1934   1934   
                                    ModelPl::Output
 1935   1935   
                                >
 1936   1936   
                            >::Output
 1937   1937   
                        >,
 1938   1938   
 1939         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1940         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        1939  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1940  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 1941   1941   
 1942   1942   
                    {
 1943   1943   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1944   1944   
        use ::aws_smithy_http_server::plugin::Plugin;
 1945   1945   
        let svc =
 1946   1946   
            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation::from_handler(
 1947   1947   
                handler,
 1948   1948   
            );
 1949   1949   
        let svc = self.model_plugin.apply(svc);
 1950   1950   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
@@ -1979,1979 +2062,2062 @@
 1999   1999   
                            <
 2000   2000   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2001   2001   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2002   2002   
                                    ConstraintsService<L>,
 2003   2003   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 2004   2004   
                                    ModelPl::Output
 2005   2005   
                                >
 2006   2006   
                            >::Output
 2007   2007   
                        >,
 2008   2008   
 2009         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2010         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2009  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2010  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2011   2011   
 2012   2012   
                    {
 2013   2013   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2014   2014   
        use ::aws_smithy_http_server::plugin::Plugin;
 2015   2015   
        let svc =
 2016   2016   
            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation::from_service(
 2017   2017   
                service,
 2018   2018   
            );
 2019   2019   
        let svc = self.model_plugin.apply(svc);
 2020   2020   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2021   2021   
            .apply(svc);
 2022   2022   
        let svc = self.http_plugin.apply(svc);
 2023   2023   
        self.query_params_targeting_map_of_length_string_operation_custom(svc)
 2024   2024   
    }
 2025   2025   
 2026   2026   
    /// Sets the [`QueryParamsTargetingMapOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2027   2027   
    /// not constrained by the Smithy contract.
 2028   2028   
    fn query_params_targeting_map_of_length_string_operation_custom<S>(mut self, svc: S) -> Self
 2029   2029   
    where
 2030   2030   
        S: ::tower::Service<
 2031         -
                ::http::Request<Body>,
 2032         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2031  +
                ::http_1x::Request<Body>,
        2032  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2033   2033   
                Error = ::std::convert::Infallible,
 2034   2034   
            > + Clone
 2035   2035   
            + Send
 2036   2036   
            + 'static,
 2037   2037   
        S::Future: Send + 'static,
 2038   2038   
    {
 2039   2039   
        self.query_params_targeting_map_of_length_string_operation =
 2040   2040   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2041   2041   
        self
 2042   2042   
    }
@@ -2066,2066 +2127,2127 @@
 2086   2086   
                            <
 2087   2087   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2088   2088   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2089   2089   
                                    ConstraintsService<L>,
 2090   2090   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2091   2091   
                                    ModelPl::Output
 2092   2092   
                                >
 2093   2093   
                            >::Output
 2094   2094   
                        >,
 2095   2095   
 2096         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2097         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2096  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2097  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2098   2098   
 2099   2099   
                    {
 2100   2100   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2101   2101   
        use ::aws_smithy_http_server::plugin::Plugin;
 2102   2102   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation::from_handler(handler);
 2103   2103   
        let svc = self.model_plugin.apply(svc);
 2104   2104   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2105   2105   
            .apply(svc);
 2106   2106   
        let svc = self.http_plugin.apply(svc);
 2107   2107   
        self.query_params_targeting_map_of_list_of_enum_string_operation_custom(svc)
@@ -2133,2133 +2216,2216 @@
 2153   2153   
                            <
 2154   2154   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2155   2155   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2156   2156   
                                    ConstraintsService<L>,
 2157   2157   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2158   2158   
                                    ModelPl::Output
 2159   2159   
                                >
 2160   2160   
                            >::Output
 2161   2161   
                        >,
 2162   2162   
 2163         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2164         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2163  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2164  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2165   2165   
 2166   2166   
                    {
 2167   2167   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2168   2168   
        use ::aws_smithy_http_server::plugin::Plugin;
 2169   2169   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation::from_service(service);
 2170   2170   
        let svc = self.model_plugin.apply(svc);
 2171   2171   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2172   2172   
            .apply(svc);
 2173   2173   
        let svc = self.http_plugin.apply(svc);
 2174   2174   
        self.query_params_targeting_map_of_list_of_enum_string_operation_custom(svc)
 2175   2175   
    }
 2176   2176   
 2177   2177   
    /// Sets the [`QueryParamsTargetingMapOfListOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation) to a custom [`Service`](tower::Service).
 2178   2178   
    /// not constrained by the Smithy contract.
 2179   2179   
    fn query_params_targeting_map_of_list_of_enum_string_operation_custom<S>(
 2180   2180   
        mut self,
 2181   2181   
        svc: S,
 2182   2182   
    ) -> Self
 2183   2183   
    where
 2184   2184   
        S: ::tower::Service<
 2185         -
                ::http::Request<Body>,
 2186         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2185  +
                ::http_1x::Request<Body>,
        2186  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2187   2187   
                Error = ::std::convert::Infallible,
 2188   2188   
            > + Clone
 2189   2189   
            + Send
 2190   2190   
            + 'static,
 2191   2191   
        S::Future: Send + 'static,
 2192   2192   
    {
 2193   2193   
        self.query_params_targeting_map_of_list_of_enum_string_operation =
 2194   2194   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2195   2195   
        self
 2196   2196   
    }
@@ -2220,2220 +2281,2281 @@
 2240   2240   
                            <
 2241   2241   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2242   2242   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2243   2243   
                                    ConstraintsService<L>,
 2244   2244   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2245   2245   
                                    ModelPl::Output
 2246   2246   
                                >
 2247   2247   
                            >::Output
 2248   2248   
                        >,
 2249   2249   
 2250         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2251         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2250  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2251  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2252   2252   
 2253   2253   
                    {
 2254   2254   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2255   2255   
        use ::aws_smithy_http_server::plugin::Plugin;
 2256   2256   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation::from_handler(handler);
 2257   2257   
        let svc = self.model_plugin.apply(svc);
 2258   2258   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2259   2259   
            .apply(svc);
 2260   2260   
        let svc = self.http_plugin.apply(svc);
 2261   2261   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation_custom(svc)
@@ -2287,2287 +2370,2370 @@
 2307   2307   
                            <
 2308   2308   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2309   2309   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2310   2310   
                                    ConstraintsService<L>,
 2311   2311   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2312   2312   
                                    ModelPl::Output
 2313   2313   
                                >
 2314   2314   
                            >::Output
 2315   2315   
                        >,
 2316   2316   
 2317         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2318         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2317  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2318  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2319   2319   
 2320   2320   
                    {
 2321   2321   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2322   2322   
        use ::aws_smithy_http_server::plugin::Plugin;
 2323   2323   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation::from_service(service);
 2324   2324   
        let svc = self.model_plugin.apply(svc);
 2325   2325   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2326   2326   
            .apply(svc);
 2327   2327   
        let svc = self.http_plugin.apply(svc);
 2328   2328   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation_custom(svc)
 2329   2329   
    }
 2330   2330   
 2331   2331   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation) to a custom [`Service`](tower::Service).
 2332   2332   
    /// not constrained by the Smithy contract.
 2333   2333   
    fn query_params_targeting_map_of_list_of_length_pattern_string_operation_custom<S>(
 2334   2334   
        mut self,
 2335   2335   
        svc: S,
 2336   2336   
    ) -> Self
 2337   2337   
    where
 2338   2338   
        S: ::tower::Service<
 2339         -
                ::http::Request<Body>,
 2340         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2339  +
                ::http_1x::Request<Body>,
        2340  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2341   2341   
                Error = ::std::convert::Infallible,
 2342   2342   
            > + Clone
 2343   2343   
            + Send
 2344   2344   
            + 'static,
 2345   2345   
        S::Future: Send + 'static,
 2346   2346   
    {
 2347   2347   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation =
 2348   2348   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2349   2349   
        self
 2350   2350   
    }
@@ -2374,2374 +2435,2435 @@
 2394   2394   
                            <
 2395   2395   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2396   2396   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2397   2397   
                                    ConstraintsService<L>,
 2398   2398   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2399   2399   
                                    ModelPl::Output
 2400   2400   
                                >
 2401   2401   
                            >::Output
 2402   2402   
                        >,
 2403   2403   
 2404         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2405         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2404  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2405  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2406   2406   
 2407   2407   
                    {
 2408   2408   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2409   2409   
        use ::aws_smithy_http_server::plugin::Plugin;
 2410   2410   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation::from_handler(handler);
 2411   2411   
        let svc = self.model_plugin.apply(svc);
 2412   2412   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2413   2413   
            .apply(svc);
 2414   2414   
        let svc = self.http_plugin.apply(svc);
 2415   2415   
        self.query_params_targeting_map_of_list_of_length_string_operation_custom(svc)
@@ -2441,2441 +2524,2524 @@
 2461   2461   
                            <
 2462   2462   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2463   2463   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2464   2464   
                                    ConstraintsService<L>,
 2465   2465   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2466   2466   
                                    ModelPl::Output
 2467   2467   
                                >
 2468   2468   
                            >::Output
 2469   2469   
                        >,
 2470   2470   
 2471         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2472         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2471  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2472  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2473   2473   
 2474   2474   
                    {
 2475   2475   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2476   2476   
        use ::aws_smithy_http_server::plugin::Plugin;
 2477   2477   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation::from_service(service);
 2478   2478   
        let svc = self.model_plugin.apply(svc);
 2479   2479   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2480   2480   
            .apply(svc);
 2481   2481   
        let svc = self.http_plugin.apply(svc);
 2482   2482   
        self.query_params_targeting_map_of_list_of_length_string_operation_custom(svc)
 2483   2483   
    }
 2484   2484   
 2485   2485   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2486   2486   
    /// not constrained by the Smithy contract.
 2487   2487   
    fn query_params_targeting_map_of_list_of_length_string_operation_custom<S>(
 2488   2488   
        mut self,
 2489   2489   
        svc: S,
 2490   2490   
    ) -> Self
 2491   2491   
    where
 2492   2492   
        S: ::tower::Service<
 2493         -
                ::http::Request<Body>,
 2494         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2493  +
                ::http_1x::Request<Body>,
        2494  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2495   2495   
                Error = ::std::convert::Infallible,
 2496   2496   
            > + Clone
 2497   2497   
            + Send
 2498   2498   
            + 'static,
 2499   2499   
        S::Future: Send + 'static,
 2500   2500   
    {
 2501   2501   
        self.query_params_targeting_map_of_list_of_length_string_operation =
 2502   2502   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2503   2503   
        self
 2504   2504   
    }
@@ -2528,2528 +2589,2589 @@
 2548   2548   
                            <
 2549   2549   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2550   2550   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2551   2551   
                                    ConstraintsService<L>,
 2552   2552   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2553   2553   
                                    ModelPl::Output
 2554   2554   
                                >
 2555   2555   
                            >::Output
 2556   2556   
                        >,
 2557   2557   
 2558         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2559         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2558  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2559  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2560   2560   
 2561   2561   
                    {
 2562   2562   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2563   2563   
        use ::aws_smithy_http_server::plugin::Plugin;
 2564   2564   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation::from_handler(handler);
 2565   2565   
        let svc = self.model_plugin.apply(svc);
 2566   2566   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2567   2567   
            .apply(svc);
 2568   2568   
        let svc = self.http_plugin.apply(svc);
 2569   2569   
        self.query_params_targeting_map_of_list_of_pattern_string_operation_custom(svc)
@@ -2595,2595 +2678,2678 @@
 2615   2615   
                            <
 2616   2616   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2617   2617   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2618   2618   
                                    ConstraintsService<L>,
 2619   2619   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2620   2620   
                                    ModelPl::Output
 2621   2621   
                                >
 2622   2622   
                            >::Output
 2623   2623   
                        >,
 2624   2624   
 2625         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2626         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2625  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2626  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2627   2627   
 2628   2628   
                    {
 2629   2629   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2630   2630   
        use ::aws_smithy_http_server::plugin::Plugin;
 2631   2631   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation::from_service(service);
 2632   2632   
        let svc = self.model_plugin.apply(svc);
 2633   2633   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2634   2634   
            .apply(svc);
 2635   2635   
        let svc = self.http_plugin.apply(svc);
 2636   2636   
        self.query_params_targeting_map_of_list_of_pattern_string_operation_custom(svc)
 2637   2637   
    }
 2638   2638   
 2639   2639   
    /// Sets the [`QueryParamsTargetingMapOfListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation) to a custom [`Service`](tower::Service).
 2640   2640   
    /// not constrained by the Smithy contract.
 2641   2641   
    fn query_params_targeting_map_of_list_of_pattern_string_operation_custom<S>(
 2642   2642   
        mut self,
 2643   2643   
        svc: S,
 2644   2644   
    ) -> Self
 2645   2645   
    where
 2646   2646   
        S: ::tower::Service<
 2647         -
                ::http::Request<Body>,
 2648         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2647  +
                ::http_1x::Request<Body>,
        2648  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2649   2649   
                Error = ::std::convert::Infallible,
 2650   2650   
            > + Clone
 2651   2651   
            + Send
 2652   2652   
            + 'static,
 2653   2653   
        S::Future: Send + 'static,
 2654   2654   
    {
 2655   2655   
        self.query_params_targeting_map_of_list_of_pattern_string_operation =
 2656   2656   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2657   2657   
        self
 2658   2658   
    }
@@ -2682,2682 +2743,2743 @@
 2702   2702   
                            <
 2703   2703   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2704   2704   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2705   2705   
                                    ConstraintsService<L>,
 2706   2706   
                                    crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2707   2707   
                                    ModelPl::Output
 2708   2708   
                                >
 2709   2709   
                            >::Output
 2710   2710   
                        >,
 2711   2711   
 2712         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2713         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2712  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2713  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2714   2714   
 2715   2715   
                    {
 2716   2716   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2717   2717   
        use ::aws_smithy_http_server::plugin::Plugin;
 2718   2718   
        let svc =
 2719   2719   
            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation::from_handler(
 2720   2720   
                handler,
 2721   2721   
            );
 2722   2722   
        let svc = self.model_plugin.apply(svc);
 2723   2723   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
@@ -2752,2752 +2835,2835 @@
 2772   2772   
                            <
 2773   2773   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2774   2774   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2775   2775   
                                    ConstraintsService<L>,
 2776   2776   
                                    crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2777   2777   
                                    ModelPl::Output
 2778   2778   
                                >
 2779   2779   
                            >::Output
 2780   2780   
                        >,
 2781   2781   
 2782         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2783         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2782  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2783  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2784   2784   
 2785   2785   
                    {
 2786   2786   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2787   2787   
        use ::aws_smithy_http_server::plugin::Plugin;
 2788   2788   
        let svc =
 2789   2789   
            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation::from_service(
 2790   2790   
                service,
 2791   2791   
            );
 2792   2792   
        let svc = self.model_plugin.apply(svc);
 2793   2793   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2794   2794   
            .apply(svc);
 2795   2795   
        let svc = self.http_plugin.apply(svc);
 2796   2796   
        self.query_params_targeting_map_of_pattern_string_operation_custom(svc)
 2797   2797   
    }
 2798   2798   
 2799   2799   
    /// Sets the [`QueryParamsTargetingMapOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation) to a custom [`Service`](tower::Service).
 2800   2800   
    /// not constrained by the Smithy contract.
 2801   2801   
    fn query_params_targeting_map_of_pattern_string_operation_custom<S>(mut self, svc: S) -> Self
 2802   2802   
    where
 2803   2803   
        S: ::tower::Service<
 2804         -
                ::http::Request<Body>,
 2805         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2804  +
                ::http_1x::Request<Body>,
        2805  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2806   2806   
                Error = ::std::convert::Infallible,
 2807   2807   
            > + Clone
 2808   2808   
            + Send
 2809   2809   
            + 'static,
 2810   2810   
        S::Future: Send + 'static,
 2811   2811   
    {
 2812   2812   
        self.query_params_targeting_map_of_pattern_string_operation =
 2813   2813   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2814   2814   
        self
 2815   2815   
    }
@@ -2839,2839 +2900,2900 @@
 2859   2859   
                            <
 2860   2860   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2861   2861   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2862   2862   
                                    ConstraintsService<L>,
 2863   2863   
                                    crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2864   2864   
                                    ModelPl::Output
 2865   2865   
                                >
 2866   2866   
                            >::Output
 2867   2867   
                        >,
 2868   2868   
 2869         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2870         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2869  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2870  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2871   2871   
 2872   2872   
                    {
 2873   2873   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2874   2874   
        use ::aws_smithy_http_server::plugin::Plugin;
 2875   2875   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation::from_handler(handler);
 2876   2876   
        let svc = self.model_plugin.apply(svc);
 2877   2877   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2878   2878   
            .apply(svc);
 2879   2879   
        let svc = self.http_plugin.apply(svc);
 2880   2880   
        self.query_params_targeting_map_of_set_of_length_string_operation_custom(svc)
@@ -2906,2906 +2989,2989 @@
 2926   2926   
                            <
 2927   2927   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2928   2928   
                                as ::aws_smithy_http_server::plugin::Plugin<
 2929   2929   
                                    ConstraintsService<L>,
 2930   2930   
                                    crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2931   2931   
                                    ModelPl::Output
 2932   2932   
                                >
 2933   2933   
                            >::Output
 2934   2934   
                        >,
 2935   2935   
 2936         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2937         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        2936  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2937  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 2938   2938   
 2939   2939   
                    {
 2940   2940   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2941   2941   
        use ::aws_smithy_http_server::plugin::Plugin;
 2942   2942   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation::from_service(service);
 2943   2943   
        let svc = self.model_plugin.apply(svc);
 2944   2944   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2945   2945   
            .apply(svc);
 2946   2946   
        let svc = self.http_plugin.apply(svc);
 2947   2947   
        self.query_params_targeting_map_of_set_of_length_string_operation_custom(svc)
 2948   2948   
    }
 2949   2949   
 2950   2950   
    /// Sets the [`QueryParamsTargetingMapOfSetOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2951   2951   
    /// not constrained by the Smithy contract.
 2952   2952   
    fn query_params_targeting_map_of_set_of_length_string_operation_custom<S>(
 2953   2953   
        mut self,
 2954   2954   
        svc: S,
 2955   2955   
    ) -> Self
 2956   2956   
    where
 2957   2957   
        S: ::tower::Service<
 2958         -
                ::http::Request<Body>,
 2959         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2958  +
                ::http_1x::Request<Body>,
        2959  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 2960   2960   
                Error = ::std::convert::Infallible,
 2961   2961   
            > + Clone
 2962   2962   
            + Send
 2963   2963   
            + 'static,
 2964   2964   
        S::Future: Send + 'static,
 2965   2965   
    {
 2966   2966   
        self.query_params_targeting_map_of_set_of_length_string_operation =
 2967   2967   
            Some(::aws_smithy_http_server::routing::Route::new(svc));
 2968   2968   
        self
 2969   2969   
    }
@@ -2993,2993 +3054,3054 @@
 3013   3013   
                            <
 3014   3014   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 3015   3015   
                                as ::aws_smithy_http_server::plugin::Plugin<
 3016   3016   
                                    ConstraintsService<L>,
 3017   3017   
                                    crate::operation_shape::StreamingBlobOperation,
 3018   3018   
                                    ModelPl::Output
 3019   3019   
                                >
 3020   3020   
                            >::Output
 3021   3021   
                        >,
 3022   3022   
 3023         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 3024         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        3023  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        3024  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 3025   3025   
 3026   3026   
                    {
 3027   3027   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 3028   3028   
        use ::aws_smithy_http_server::plugin::Plugin;
 3029   3029   
        let svc = crate::operation_shape::StreamingBlobOperation::from_handler(handler);
 3030   3030   
        let svc = self.model_plugin.apply(svc);
 3031   3031   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 3032   3032   
            .apply(svc);
 3033   3033   
        let svc = self.http_plugin.apply(svc);
 3034   3034   
        self.streaming_blob_operation_custom(svc)
@@ -3060,3060 +3140,3140 @@
 3080   3080   
                            <
 3081   3081   
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 3082   3082   
                                as ::aws_smithy_http_server::plugin::Plugin<
 3083   3083   
                                    ConstraintsService<L>,
 3084   3084   
                                    crate::operation_shape::StreamingBlobOperation,
 3085   3085   
                                    ModelPl::Output
 3086   3086   
                                >
 3087   3087   
                            >::Output
 3088   3088   
                        >,
 3089   3089   
 3090         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 3091         -
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
        3090  +
                        HttpPl::Output: ::tower::Service<::http_1x::Request<Body>, Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        3091  +
                        <HttpPl::Output as ::tower::Service<::http_1x::Request<Body>>>::Future: Send + 'static,
 3092   3092   
 3093   3093   
                    {
 3094   3094   
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 3095   3095   
        use ::aws_smithy_http_server::plugin::Plugin;
 3096   3096   
        let svc = crate::operation_shape::StreamingBlobOperation::from_service(service);
 3097   3097   
        let svc = self.model_plugin.apply(svc);
 3098   3098   
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 3099   3099   
            .apply(svc);
 3100   3100   
        let svc = self.http_plugin.apply(svc);
 3101   3101   
        self.streaming_blob_operation_custom(svc)
 3102   3102   
    }
 3103   3103   
 3104   3104   
    /// Sets the [`StreamingBlobOperation`](crate::operation_shape::StreamingBlobOperation) to a custom [`Service`](tower::Service).
 3105   3105   
    /// not constrained by the Smithy contract.
 3106   3106   
    fn streaming_blob_operation_custom<S>(mut self, svc: S) -> Self
 3107   3107   
    where
 3108   3108   
        S: ::tower::Service<
 3109         -
                ::http::Request<Body>,
 3110         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        3109  +
                ::http_1x::Request<Body>,
        3110  +
                Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 3111   3111   
                Error = ::std::convert::Infallible,
 3112   3112   
            > + Clone
 3113   3113   
            + Send
 3114   3114   
            + 'static,
 3115   3115   
        S::Future: Send + 'static,
 3116   3116   
    {
 3117   3117   
        self.streaming_blob_operation = Some(::aws_smithy_http_server::routing::Route::new(svc));
 3118   3118   
        self
 3119   3119   
    }
 3120   3120   
}
@@ -3492,3492 +3843,3843 @@
 3512   3512   
        Ok(())
 3513   3513   
    }
 3514   3514   
}
 3515   3515   
 3516   3516   
impl std::error::Error for MissingOperationsError {}
 3517   3517   
 3518   3518   
mod request_specs {
 3519   3519   
    pub(super) fn constrained_http_bound_shapes_operation(
 3520   3520   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3521   3521   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3522         -
                    ::http::Method::POST,
        3522  +
                    ::http_1x::Method::POST,
 3523   3523   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3524   3524   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3525   3525   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3526   3526   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-bound-shapes-operation")),
 3527   3527   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3528   3528   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3529   3529   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3530   3530   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3531   3531   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3532   3532   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3533   3533   
]),
 3534   3534   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3535   3535   
])
 3536   3536   
                        )
 3537   3537   
                    ),
 3538   3538   
                )
 3539   3539   
    }
 3540   3540   
    pub(super) fn constrained_http_payload_bound_shape_operation(
 3541   3541   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3542   3542   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3543         -
                    ::http::Method::POST,
        3543  +
                    ::http_1x::Method::POST,
 3544   3544   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3545   3545   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3546   3546   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3547   3547   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-payload-bound-shape-operation")),
 3548   3548   
]),
 3549   3549   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3550   3550   
])
 3551   3551   
                        )
 3552   3552   
                    ),
 3553   3553   
                )
 3554   3554   
    }
 3555   3555   
    pub(super) fn constrained_recursive_shapes_operation(
 3556   3556   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3557   3557   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3558         -
                    ::http::Method::POST,
        3558  +
                    ::http_1x::Method::POST,
 3559   3559   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3560   3560   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3561   3561   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3562   3562   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-recursive-shapes-operation")),
 3563   3563   
]),
 3564   3564   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3565   3565   
])
 3566   3566   
                        )
 3567   3567   
                    ),
 3568   3568   
                )
 3569   3569   
    }
 3570   3570   
    pub(super) fn constrained_shapes_only_in_output_operation(
 3571   3571   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3572   3572   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3573         -
                    ::http::Method::POST,
        3573  +
                    ::http_1x::Method::POST,
 3574   3574   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3575   3575   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3576   3576   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3577   3577   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-only-in-output-operation")),
 3578   3578   
]),
 3579   3579   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3580   3580   
])
 3581   3581   
                        )
 3582   3582   
                    ),
 3583   3583   
                )
 3584   3584   
    }
 3585   3585   
    pub(super) fn constrained_shapes_operation(
 3586   3586   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3587   3587   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3588         -
                    ::http::Method::POST,
        3588  +
                    ::http_1x::Method::POST,
 3589   3589   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3590   3590   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3591   3591   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3592   3592   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-operation")),
 3593   3593   
]),
 3594   3594   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3595   3595   
])
 3596   3596   
                        )
 3597   3597   
                    ),
 3598   3598   
                )
 3599   3599   
    }
 3600   3600   
    pub(super) fn event_streams_operation(
 3601   3601   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3602   3602   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3603         -
                    ::http::Method::POST,
        3603  +
                    ::http_1x::Method::POST,
 3604   3604   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3605   3605   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3606   3606   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3607   3607   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("event-streams-operation")),
 3608   3608   
]),
 3609   3609   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3610   3610   
])
 3611   3611   
                        )
 3612   3612   
                    ),
 3613   3613   
                )
 3614   3614   
    }
 3615   3615   
    pub(super) fn http_prefix_headers_targeting_length_map_operation(
 3616   3616   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3617   3617   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3618         -
                    ::http::Method::POST,
        3618  +
                    ::http_1x::Method::POST,
 3619   3619   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3620   3620   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3621   3621   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3622   3622   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("http-prefix-headers-targeting-length-map-operation")),
 3623   3623   
]),
 3624   3624   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3625   3625   
])
 3626   3626   
                        )
 3627   3627   
                    ),
 3628   3628   
                )
 3629   3629   
    }
 3630   3630   
    pub(super) fn non_streaming_blob_operation(
 3631   3631   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3632   3632   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3633         -
                    ::http::Method::POST,
        3633  +
                    ::http_1x::Method::POST,
 3634   3634   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3635   3635   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3636   3636   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3637   3637   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("non-streaming-blob-operation")),
 3638   3638   
]),
 3639   3639   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3640   3640   
])
 3641   3641   
                        )
 3642   3642   
                    ),
 3643   3643   
                )
 3644   3644   
    }
 3645   3645   
    pub(super) fn query_params_targeting_length_map_operation(
 3646   3646   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3647   3647   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3648         -
                    ::http::Method::POST,
        3648  +
                    ::http_1x::Method::POST,
 3649   3649   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3650   3650   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3651   3651   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3652   3652   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-length-map")),
 3653   3653   
]),
 3654   3654   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3655   3655   
])
 3656   3656   
                        )
 3657   3657   
                    ),
 3658   3658   
                )
 3659   3659   
    }
 3660   3660   
    pub(super) fn query_params_targeting_map_of_enum_string_operation(
 3661   3661   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3662   3662   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3663         -
                    ::http::Method::POST,
        3663  +
                    ::http_1x::Method::POST,
 3664   3664   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3665   3665   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3666   3666   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3667   3667   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-enum-string-operation")),
 3668   3668   
]),
 3669   3669   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3670   3670   
])
 3671   3671   
                        )
 3672   3672   
                    ),
 3673   3673   
                )
 3674   3674   
    }
 3675   3675   
    pub(super) fn query_params_targeting_map_of_length_list_of_pattern_string_operation(
 3676   3676   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3677   3677   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3678         -
                    ::http::Method::POST,
        3678  +
                    ::http_1x::Method::POST,
 3679   3679   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3680   3680   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3681   3681   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3682   3682   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-list-of-pattern-string-operation")),
 3683   3683   
]),
 3684   3684   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3685   3685   
])
 3686   3686   
                        )
 3687   3687   
                    ),
 3688   3688   
                )
 3689   3689   
    }
 3690   3690   
    pub(super) fn query_params_targeting_map_of_length_pattern_string_operation(
 3691   3691   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3692   3692   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3693         -
                    ::http::Method::POST,
        3693  +
                    ::http_1x::Method::POST,
 3694   3694   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3695   3695   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3696   3696   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3697   3697   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-pattern-string")),
 3698   3698   
]),
 3699   3699   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3700   3700   
])
 3701   3701   
                        )
 3702   3702   
                    ),
 3703   3703   
                )
 3704   3704   
    }
 3705   3705   
    pub(super) fn query_params_targeting_map_of_length_string_operation(
 3706   3706   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3707   3707   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3708         -
                    ::http::Method::POST,
        3708  +
                    ::http_1x::Method::POST,
 3709   3709   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3710   3710   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3711   3711   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3712   3712   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-string-operation")),
 3713   3713   
]),
 3714   3714   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3715   3715   
])
 3716   3716   
                        )
 3717   3717   
                    ),
 3718   3718   
                )
 3719   3719   
    }
 3720   3720   
    pub(super) fn query_params_targeting_map_of_list_of_enum_string_operation(
 3721   3721   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3722   3722   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3723         -
                    ::http::Method::POST,
        3723  +
                    ::http_1x::Method::POST,
 3724   3724   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3725   3725   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3726   3726   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3727   3727   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-enum-string-operation")),
 3728   3728   
]),
 3729   3729   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3730   3730   
])
 3731   3731   
                        )
 3732   3732   
                    ),
 3733   3733   
                )
 3734   3734   
    }
 3735   3735   
    pub(super) fn query_params_targeting_map_of_list_of_length_pattern_string_operation(
 3736   3736   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3737   3737   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3738         -
                    ::http::Method::POST,
        3738  +
                    ::http_1x::Method::POST,
 3739   3739   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3740   3740   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3741   3741   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3742   3742   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-pattern-string-operation")),
 3743   3743   
]),
 3744   3744   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3745   3745   
])
 3746   3746   
                        )
 3747   3747   
                    ),
 3748   3748   
                )
 3749   3749   
    }
 3750   3750   
    pub(super) fn query_params_targeting_map_of_list_of_length_string_operation(
 3751   3751   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3752   3752   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3753         -
                    ::http::Method::POST,
        3753  +
                    ::http_1x::Method::POST,
 3754   3754   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3755   3755   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3756   3756   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3757   3757   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-string-operation")),
 3758   3758   
]),
 3759   3759   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3760   3760   
])
 3761   3761   
                        )
 3762   3762   
                    ),
 3763   3763   
                )
 3764   3764   
    }
 3765   3765   
    pub(super) fn query_params_targeting_map_of_list_of_pattern_string_operation(
 3766   3766   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3767   3767   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3768         -
                    ::http::Method::POST,
        3768  +
                    ::http_1x::Method::POST,
 3769   3769   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3770   3770   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3771   3771   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3772   3772   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-pattern-string-operation")),
 3773   3773   
]),
 3774   3774   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3775   3775   
])
 3776   3776   
                        )
 3777   3777   
                    ),
 3778   3778   
                )
 3779   3779   
    }
 3780   3780   
    pub(super) fn query_params_targeting_map_of_pattern_string_operation(
 3781   3781   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3782   3782   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3783         -
                    ::http::Method::POST,
        3783  +
                    ::http_1x::Method::POST,
 3784   3784   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3785   3785   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3786   3786   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3787   3787   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-pattern-string-operation")),
 3788   3788   
]),
 3789   3789   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3790   3790   
])
 3791   3791   
                        )
 3792   3792   
                    ),
 3793   3793   
                )
 3794   3794   
    }
 3795   3795   
    pub(super) fn query_params_targeting_map_of_set_of_length_string_operation(
 3796   3796   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3797   3797   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3798         -
                    ::http::Method::POST,
        3798  +
                    ::http_1x::Method::POST,
 3799   3799   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3800   3800   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3801   3801   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3802   3802   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-set-of-length-string-operation")),
 3803   3803   
]),
 3804   3804   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3805   3805   
])
 3806   3806   
                        )
 3807   3807   
                    ),
 3808   3808   
                )
 3809   3809   
    }
 3810   3810   
    pub(super) fn streaming_blob_operation(
 3811   3811   
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3812   3812   
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
 3813         -
                    ::http::Method::POST,
        3813  +
                    ::http_1x::Method::POST,
 3814   3814   
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3815   3815   
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3816   3816   
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3817   3817   
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("streaming-blob-operation")),
 3818   3818   
]),
 3819   3819   
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3820   3820   
])
 3821   3821   
                        )
 3822   3822   
                    ),
 3823   3823   
                )
@@ -3978,3978 +4039,4039 @@
 3998   3998   
    ) -> ConstraintsService<
 3999   3999   
        ::aws_smithy_http_server::routing::RoutingService<
 4000   4000   
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 4001   4001   
                ::aws_smithy_http_server::routing::Route<B>,
 4002   4002   
            >,
 4003   4003   
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 4004   4004   
        >,
 4005   4005   
    >
 4006   4006   
    where
 4007   4007   
        S: ::tower::Service<
 4008         -
            ::http::Request<B>,
 4009         -
            Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        4008  +
            ::http_1x::Request<B>,
        4009  +
            Response = ::http_1x::Response<::aws_smithy_http_server::body::BoxBody>,
 4010   4010   
            Error = std::convert::Infallible,
 4011   4011   
        >,
 4012   4012   
        S: Clone + Send + 'static,
 4013   4013   
        S::Future: Send + 'static,
 4014   4014   
    {
 4015   4015   
        self.layer(&::tower::layer::layer_fn(
 4016   4016   
            ::aws_smithy_http_server::routing::Route::new,
 4017   4017   
        ))
 4018   4018   
    }
 4019   4019   
}

tmp-codegen-diff/codegen-server-test/constraints_without_public_constrained_types-http0x/rust-server-codegen/Cargo.toml

@@ -0,1 +0,57 @@
           1  +
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
[package]
           3  +
name = "constraints_without_public_constrained_types-http0x"
           4  +
version = "0.0.1"
           5  +
authors = ["protocoltest@example.com"]
           6  +
description = "test"
           7  +
edition = "2021"
           8  +
           9  +
[package.metadata.smithy]
          10  +
codegen-version = "ci"
          11  +
protocol = "aws.protocols#restJson1"
          12  +
[dependencies.aws-smithy-eventstream]
          13  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-eventstream"
          14  +
[dependencies.aws-smithy-json]
          15  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-json"
          16  +
[dependencies.aws-smithy-legacy-http]
          17  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http"
          18  +
features = ["event-stream"]
          19  +
[dependencies.aws-smithy-legacy-http-server]
          20  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http-server"
          21  +
[dependencies.aws-smithy-runtime-api]
          22  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime-api"
          23  +
features = ["http-02x"]
          24  +
[dependencies.aws-smithy-types]
          25  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
          26  +
features = ["http-body-0-4-x"]
          27  +
[dependencies.form_urlencoded]
          28  +
version = "1"
          29  +
[dependencies.futures-util]
          30  +
version = "0.3"
          31  +
[dependencies.http]
          32  +
version = "0.2.9"
          33  +
[dependencies.hyper]
          34  +
version = "0.14.26"
          35  +
[dependencies.mime]
          36  +
version = "0.3"
          37  +
[dependencies.nom]
          38  +
version = "7"
          39  +
[dependencies.percent-encoding]
          40  +
version = "2.0.0"
          41  +
[dependencies.pin-project-lite]
          42  +
version = "0.2"
          43  +
[dependencies.regex]
          44  +
version = "1.5.5"
          45  +
[dependencies.tower]
          46  +
version = "0.4"
          47  +
[dependencies.tracing]
          48  +
version = "0.1"
          49  +
[dev-dependencies.tokio]
          50  +
version = "1.23.1"
          51  +
[features]
          52  +
aws-lambda = ["aws-smithy-legacy-http-server/aws-lambda"]
          53  +
request-id = ["aws-smithy-legacy-http-server/request-id"]
          54  +
rt-tokio = ["aws-smithy-types/http-body-1-x", "aws-smithy-types/rt-tokio"]
          55  +
default = ["request-id", "rt-tokio"]
          56  +
          57  +

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

@@ -0,1 +0,719 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
pub(crate) mod map_of_enum_string_constrained {
           4  +
           5  +
    #[derive(Debug, Clone)]
           6  +
    pub(crate) struct MapOfEnumStringConstrained(
           7  +
        pub(crate) std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
           8  +
    );
           9  +
          10  +
    impl crate::constrained::Constrained for MapOfEnumStringConstrained {
          11  +
        type Unconstrained =
          12  +
            crate::unconstrained::map_of_enum_string_unconstrained::MapOfEnumStringUnconstrained;
          13  +
    }
          14  +
    impl ::std::convert::From<MapOfEnumStringConstrained>
          15  +
        for ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>
          16  +
    {
          17  +
        fn from(v: MapOfEnumStringConstrained) -> Self {
          18  +
            v.0
          19  +
        }
          20  +
    }
          21  +
}
          22  +
pub(crate) mod map_of_list_of_length_pattern_string_constrained {
          23  +
          24  +
    #[derive(Debug, Clone)]
          25  +
    pub(crate) struct MapOfListOfLengthPatternStringConstrained(pub(crate) std::collections::HashMap<crate::model::LengthPatternString, crate::constrained::list_of_length_pattern_string_constrained::ListOfLengthPatternStringConstrained>);
          26  +
          27  +
    impl crate::constrained::Constrained for MapOfListOfLengthPatternStringConstrained {
          28  +
        type Unconstrained = crate::unconstrained::map_of_list_of_length_pattern_string_unconstrained::MapOfListOfLengthPatternStringUnconstrained;
          29  +
    }
          30  +
    impl ::std::convert::From<MapOfListOfLengthPatternStringConstrained>
          31  +
        for ::std::collections::HashMap<
          32  +
            ::std::string::String,
          33  +
            ::std::vec::Vec<::std::string::String>,
          34  +
        >
          35  +
    {
          36  +
        fn from(v: MapOfListOfLengthPatternStringConstrained) -> Self {
          37  +
            v.0.into_iter()
          38  +
                .map(|(k, v)| {
          39  +
                    let k = k.into();
          40  +
                    let v = { v.into() };
          41  +
                    (k, v)
          42  +
                })
          43  +
                .collect()
          44  +
        }
          45  +
    }
          46  +
}
          47  +
pub(crate) mod list_of_length_pattern_string_constrained {
          48  +
          49  +
    #[derive(Debug, Clone)]
          50  +
    pub(crate) struct ListOfLengthPatternStringConstrained(
          51  +
        pub(crate) std::vec::Vec<crate::model::LengthPatternString>,
          52  +
    );
          53  +
          54  +
    impl crate::constrained::Constrained for ListOfLengthPatternStringConstrained {
          55  +
        type Unconstrained = crate::unconstrained::list_of_length_pattern_string_unconstrained::ListOfLengthPatternStringUnconstrained;
          56  +
    }
          57  +
    impl ::std::convert::From<ListOfLengthPatternStringConstrained>
          58  +
        for ::std::vec::Vec<::std::string::String>
          59  +
    {
          60  +
        fn from(v: ListOfLengthPatternStringConstrained) -> Self {
          61  +
            v.0.into_iter().map(|item| item.into()).collect()
          62  +
        }
          63  +
    }
          64  +
}
          65  +
pub(crate) mod map_of_length_pattern_string_constrained {
          66  +
          67  +
    #[derive(Debug, Clone)]
          68  +
    pub(crate) struct MapOfLengthPatternStringConstrained(
          69  +
        pub(crate)  std::collections::HashMap<
          70  +
            crate::model::LengthPatternString,
          71  +
            crate::model::LengthPatternString,
          72  +
        >,
          73  +
    );
          74  +
          75  +
    impl crate::constrained::Constrained for MapOfLengthPatternStringConstrained {
          76  +
        type Unconstrained = crate::unconstrained::map_of_length_pattern_string_unconstrained::MapOfLengthPatternStringUnconstrained;
          77  +
    }
          78  +
    impl ::std::convert::From<MapOfLengthPatternStringConstrained>
          79  +
        for ::std::collections::HashMap<::std::string::String, ::std::string::String>
          80  +
    {
          81  +
        fn from(v: MapOfLengthPatternStringConstrained) -> Self {
          82  +
            v.0.into_iter()
          83  +
                .map(|(k, v)| {
          84  +
                    let k = k.into();
          85  +
                    let v = { v.into() };
          86  +
                    (k, v)
          87  +
                })
          88  +
                .collect()
          89  +
        }
          90  +
    }
          91  +
}
          92  +
pub(crate) mod map_of_list_of_pattern_string_constrained {
          93  +
          94  +
    #[derive(Debug, Clone)]
          95  +
    pub(crate) struct MapOfListOfPatternStringConstrained(
          96  +
        pub(crate)  std::collections::HashMap<
          97  +
            crate::model::PatternString,
          98  +
            crate::constrained::list_of_pattern_string_constrained::ListOfPatternStringConstrained,
          99  +
        >,
         100  +
    );
         101  +
         102  +
    impl crate::constrained::Constrained for MapOfListOfPatternStringConstrained {
         103  +
        type Unconstrained = crate::unconstrained::map_of_list_of_pattern_string_unconstrained::MapOfListOfPatternStringUnconstrained;
         104  +
    }
         105  +
    impl ::std::convert::From<MapOfListOfPatternStringConstrained>
         106  +
        for ::std::collections::HashMap<
         107  +
            ::std::string::String,
         108  +
            ::std::vec::Vec<::std::string::String>,
         109  +
        >
         110  +
    {
         111  +
        fn from(v: MapOfListOfPatternStringConstrained) -> Self {
         112  +
            v.0.into_iter()
         113  +
                .map(|(k, v)| {
         114  +
                    let k = k.into();
         115  +
                    let v = { v.into() };
         116  +
                    (k, v)
         117  +
                })
         118  +
                .collect()
         119  +
        }
         120  +
    }
         121  +
}
         122  +
pub(crate) mod list_of_pattern_string_constrained {
         123  +
         124  +
    #[derive(Debug, Clone)]
         125  +
    pub(crate) struct ListOfPatternStringConstrained(
         126  +
        pub(crate) std::vec::Vec<crate::model::PatternString>,
         127  +
    );
         128  +
         129  +
    impl crate::constrained::Constrained for ListOfPatternStringConstrained {
         130  +
        type Unconstrained = crate::unconstrained::list_of_pattern_string_unconstrained::ListOfPatternStringUnconstrained;
         131  +
    }
         132  +
    impl ::std::convert::From<ListOfPatternStringConstrained>
         133  +
        for ::std::vec::Vec<::std::string::String>
         134  +
    {
         135  +
        fn from(v: ListOfPatternStringConstrained) -> Self {
         136  +
            v.0.into_iter().map(|item| item.into()).collect()
         137  +
        }
         138  +
    }
         139  +
}
         140  +
pub(crate) mod map_of_pattern_string_constrained {
         141  +
         142  +
    #[derive(Debug, Clone)]
         143  +
    pub(crate) struct MapOfPatternStringConstrained(
         144  +
        pub(crate) 
         145  +
            std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
         146  +
    );
         147  +
         148  +
    impl crate::constrained::Constrained for MapOfPatternStringConstrained {
         149  +
        type Unconstrained = crate::unconstrained::map_of_pattern_string_unconstrained::MapOfPatternStringUnconstrained;
         150  +
    }
         151  +
    impl ::std::convert::From<MapOfPatternStringConstrained>
         152  +
        for ::std::collections::HashMap<::std::string::String, ::std::string::String>
         153  +
    {
         154  +
        fn from(v: MapOfPatternStringConstrained) -> Self {
         155  +
            v.0.into_iter()
         156  +
                .map(|(k, v)| {
         157  +
                    let k = k.into();
         158  +
                    let v = { v.into() };
         159  +
                    (k, v)
         160  +
                })
         161  +
                .collect()
         162  +
        }
         163  +
    }
         164  +
}
         165  +
pub(crate) mod map_of_list_of_enum_string_constrained {
         166  +
         167  +
    #[derive(Debug, Clone)]
         168  +
    pub(crate) struct MapOfListOfEnumStringConstrained(
         169  +
        pub(crate)  std::collections::HashMap<
         170  +
            crate::model::EnumString,
         171  +
            crate::constrained::list_of_enum_string_constrained::ListOfEnumStringConstrained,
         172  +
        >,
         173  +
    );
         174  +
         175  +
    impl crate::constrained::Constrained for MapOfListOfEnumStringConstrained {
         176  +
        type Unconstrained = crate::unconstrained::map_of_list_of_enum_string_unconstrained::MapOfListOfEnumStringUnconstrained;
         177  +
    }
         178  +
    impl ::std::convert::From<MapOfListOfEnumStringConstrained>
         179  +
        for ::std::collections::HashMap<
         180  +
            crate::model::EnumString,
         181  +
            ::std::vec::Vec<crate::model::EnumString>,
         182  +
        >
         183  +
    {
         184  +
        fn from(v: MapOfListOfEnumStringConstrained) -> Self {
         185  +
            v.0.into_iter()
         186  +
                .map(|(k, v)| {
         187  +
                    let v = { v.into() };
         188  +
                    (k, v)
         189  +
                })
         190  +
                .collect()
         191  +
        }
         192  +
    }
         193  +
}
         194  +
pub(crate) mod list_of_enum_string_constrained {
         195  +
         196  +
    #[derive(Debug, Clone)]
         197  +
    pub(crate) struct ListOfEnumStringConstrained(
         198  +
        pub(crate) std::vec::Vec<crate::model::EnumString>,
         199  +
    );
         200  +
         201  +
    impl crate::constrained::Constrained for ListOfEnumStringConstrained {
         202  +
        type Unconstrained =
         203  +
            crate::unconstrained::list_of_enum_string_unconstrained::ListOfEnumStringUnconstrained;
         204  +
    }
         205  +
    impl ::std::convert::From<ListOfEnumStringConstrained>
         206  +
        for ::std::vec::Vec<crate::model::EnumString>
         207  +
    {
         208  +
        fn from(v: ListOfEnumStringConstrained) -> Self {
         209  +
            v.0
         210  +
        }
         211  +
    }
         212  +
}
         213  +
pub(crate) mod map_of_length_list_of_pattern_string_constrained {
         214  +
         215  +
    #[derive(Debug, Clone)]
         216  +
    pub(crate) struct MapOfLengthListOfPatternStringConstrained(
         217  +
        pub(crate)  std::collections::HashMap<
         218  +
            crate::model::PatternString,
         219  +
            crate::model::LengthListOfPatternString,
         220  +
        >,
         221  +
    );
         222  +
         223  +
    impl crate::constrained::Constrained for MapOfLengthListOfPatternStringConstrained {
         224  +
        type Unconstrained = crate::unconstrained::map_of_length_list_of_pattern_string_unconstrained::MapOfLengthListOfPatternStringUnconstrained;
         225  +
    }
         226  +
    impl ::std::convert::From<MapOfLengthListOfPatternStringConstrained>
         227  +
        for ::std::collections::HashMap<
         228  +
            ::std::string::String,
         229  +
            ::std::vec::Vec<::std::string::String>,
         230  +
        >
         231  +
    {
         232  +
        fn from(v: MapOfLengthListOfPatternStringConstrained) -> Self {
         233  +
            v.0.into_iter()
         234  +
                .map(|(k, v)| {
         235  +
                    let k = k.into();
         236  +
                    let v = { v.into() };
         237  +
                    (k, v)
         238  +
                })
         239  +
                .collect()
         240  +
        }
         241  +
    }
         242  +
}
         243  +
pub(crate) mod map_of_set_of_length_string_constrained {
         244  +
         245  +
    #[derive(Debug, Clone)]
         246  +
    pub(crate) struct MapOfSetOfLengthStringConstrained(
         247  +
        pub(crate) 
         248  +
            std::collections::HashMap<crate::model::LengthString, crate::model::SetOfLengthString>,
         249  +
    );
         250  +
         251  +
    impl crate::constrained::Constrained for MapOfSetOfLengthStringConstrained {
         252  +
        type Unconstrained = crate::unconstrained::map_of_set_of_length_string_unconstrained::MapOfSetOfLengthStringUnconstrained;
         253  +
    }
         254  +
    impl ::std::convert::From<MapOfSetOfLengthStringConstrained>
         255  +
        for ::std::collections::HashMap<
         256  +
            ::std::string::String,
         257  +
            ::std::vec::Vec<::std::string::String>,
         258  +
        >
         259  +
    {
         260  +
        fn from(v: MapOfSetOfLengthStringConstrained) -> Self {
         261  +
            v.0.into_iter()
         262  +
                .map(|(k, v)| {
         263  +
                    let k = k.into();
         264  +
                    let v = { v.into() };
         265  +
                    (k, v)
         266  +
                })
         267  +
                .collect()
         268  +
        }
         269  +
    }
         270  +
}
         271  +
pub(crate) mod map_of_list_of_length_string_constrained {
         272  +
         273  +
    #[derive(Debug, Clone)]
         274  +
    pub(crate) struct MapOfListOfLengthStringConstrained(
         275  +
        pub(crate)  std::collections::HashMap<
         276  +
            crate::model::LengthString,
         277  +
            crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained,
         278  +
        >,
         279  +
    );
         280  +
         281  +
    impl crate::constrained::Constrained for MapOfListOfLengthStringConstrained {
         282  +
        type Unconstrained = crate::unconstrained::map_of_list_of_length_string_unconstrained::MapOfListOfLengthStringUnconstrained;
         283  +
    }
         284  +
    impl ::std::convert::From<MapOfListOfLengthStringConstrained>
         285  +
        for ::std::collections::HashMap<
         286  +
            ::std::string::String,
         287  +
            ::std::vec::Vec<::std::string::String>,
         288  +
        >
         289  +
    {
         290  +
        fn from(v: MapOfListOfLengthStringConstrained) -> Self {
         291  +
            v.0.into_iter()
         292  +
                .map(|(k, v)| {
         293  +
                    let k = k.into();
         294  +
                    let v = { v.into() };
         295  +
                    (k, v)
         296  +
                })
         297  +
                .collect()
         298  +
        }
         299  +
    }
         300  +
}
         301  +
pub(crate) mod list_of_length_string_constrained {
         302  +
         303  +
    #[derive(Debug, Clone)]
         304  +
    pub(crate) struct ListOfLengthStringConstrained(
         305  +
        pub(crate) std::vec::Vec<crate::model::LengthString>,
         306  +
    );
         307  +
         308  +
    impl crate::constrained::Constrained for ListOfLengthStringConstrained {
         309  +
        type Unconstrained = crate::unconstrained::list_of_length_string_unconstrained::ListOfLengthStringUnconstrained;
         310  +
    }
         311  +
    impl ::std::convert::From<ListOfLengthStringConstrained>
         312  +
        for ::std::vec::Vec<::std::string::String>
         313  +
    {
         314  +
        fn from(v: ListOfLengthStringConstrained) -> Self {
         315  +
            v.0.into_iter().map(|item| item.into()).collect()
         316  +
        }
         317  +
    }
         318  +
}
         319  +
pub(crate) mod map_of_length_string_constrained {
         320  +
         321  +
    #[derive(Debug, Clone)]
         322  +
    pub(crate) struct MapOfLengthStringConstrained(
         323  +
        pub(crate) std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         324  +
    );
         325  +
         326  +
    impl crate::constrained::Constrained for MapOfLengthStringConstrained {
         327  +
        type Unconstrained = crate::unconstrained::map_of_length_string_unconstrained::MapOfLengthStringUnconstrained;
         328  +
    }
         329  +
    impl ::std::convert::From<MapOfLengthStringConstrained>
         330  +
        for ::std::collections::HashMap<::std::string::String, ::std::string::String>
         331  +
    {
         332  +
        fn from(v: MapOfLengthStringConstrained) -> Self {
         333  +
            v.0.into_iter()
         334  +
                .map(|(k, v)| {
         335  +
                    let k = k.into();
         336  +
                    let v = { v.into() };
         337  +
                    (k, v)
         338  +
                })
         339  +
                .collect()
         340  +
        }
         341  +
    }
         342  +
}
         343  +
pub(crate) mod recursive_list_constrained {
         344  +
         345  +
    #[derive(Debug, Clone)]
         346  +
    pub(crate) struct RecursiveListConstrained(
         347  +
        pub(crate) std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
         348  +
    );
         349  +
         350  +
    impl crate::constrained::Constrained for RecursiveListConstrained {
         351  +
        type Unconstrained =
         352  +
            crate::unconstrained::recursive_list_unconstrained::RecursiveListUnconstrained;
         353  +
    }
         354  +
    impl ::std::convert::From<RecursiveListConstrained>
         355  +
        for ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>
         356  +
    {
         357  +
        fn from(v: RecursiveListConstrained) -> Self {
         358  +
            v.0
         359  +
        }
         360  +
    }
         361  +
}
         362  +
pub(crate) mod map_of_range_byte_constrained {
         363  +
         364  +
    #[derive(Debug, Clone)]
         365  +
    pub(crate) struct MapOfRangeByteConstrained(
         366  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeByte>,
         367  +
    );
         368  +
         369  +
    impl crate::constrained::Constrained for MapOfRangeByteConstrained {
         370  +
        type Unconstrained =
         371  +
            crate::unconstrained::map_of_range_byte_unconstrained::MapOfRangeByteUnconstrained;
         372  +
    }
         373  +
    impl ::std::convert::From<MapOfRangeByteConstrained>
         374  +
        for ::std::collections::HashMap<::std::string::String, i8>
         375  +
    {
         376  +
        fn from(v: MapOfRangeByteConstrained) -> Self {
         377  +
            v.0.into_iter()
         378  +
                .map(|(k, v)| {
         379  +
                    let v = { v.into() };
         380  +
                    (k, v)
         381  +
                })
         382  +
                .collect()
         383  +
        }
         384  +
    }
         385  +
}
         386  +
pub(crate) mod list_of_range_byte_constrained {
         387  +
         388  +
    #[derive(Debug, Clone)]
         389  +
    pub(crate) struct ListOfRangeByteConstrained(pub(crate) std::vec::Vec<crate::model::RangeByte>);
         390  +
         391  +
    impl crate::constrained::Constrained for ListOfRangeByteConstrained {
         392  +
        type Unconstrained =
         393  +
            crate::unconstrained::list_of_range_byte_unconstrained::ListOfRangeByteUnconstrained;
         394  +
    }
         395  +
    impl ::std::convert::From<ListOfRangeByteConstrained> for ::std::vec::Vec<i8> {
         396  +
        fn from(v: ListOfRangeByteConstrained) -> Self {
         397  +
            v.0.into_iter().map(|item| item.into()).collect()
         398  +
        }
         399  +
    }
         400  +
}
         401  +
pub(crate) mod map_of_range_long_constrained {
         402  +
         403  +
    #[derive(Debug, Clone)]
         404  +
    pub(crate) struct MapOfRangeLongConstrained(
         405  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeLong>,
         406  +
    );
         407  +
         408  +
    impl crate::constrained::Constrained for MapOfRangeLongConstrained {
         409  +
        type Unconstrained =
         410  +
            crate::unconstrained::map_of_range_long_unconstrained::MapOfRangeLongUnconstrained;
         411  +
    }
         412  +
    impl ::std::convert::From<MapOfRangeLongConstrained>
         413  +
        for ::std::collections::HashMap<::std::string::String, i64>
         414  +
    {
         415  +
        fn from(v: MapOfRangeLongConstrained) -> Self {
         416  +
            v.0.into_iter()
         417  +
                .map(|(k, v)| {
         418  +
                    let v = { v.into() };
         419  +
                    (k, v)
         420  +
                })
         421  +
                .collect()
         422  +
        }
         423  +
    }
         424  +
}
         425  +
pub(crate) mod list_of_range_long_constrained {
         426  +
         427  +
    #[derive(Debug, Clone)]
         428  +
    pub(crate) struct ListOfRangeLongConstrained(pub(crate) std::vec::Vec<crate::model::RangeLong>);
         429  +
         430  +
    impl crate::constrained::Constrained for ListOfRangeLongConstrained {
         431  +
        type Unconstrained =
         432  +
            crate::unconstrained::list_of_range_long_unconstrained::ListOfRangeLongUnconstrained;
         433  +
    }
         434  +
    impl ::std::convert::From<ListOfRangeLongConstrained> for ::std::vec::Vec<i64> {
         435  +
        fn from(v: ListOfRangeLongConstrained) -> Self {
         436  +
            v.0.into_iter().map(|item| item.into()).collect()
         437  +
        }
         438  +
    }
         439  +
}
         440  +
pub(crate) mod map_of_range_short_constrained {
         441  +
         442  +
    #[derive(Debug, Clone)]
         443  +
    pub(crate) struct MapOfRangeShortConstrained(
         444  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeShort>,
         445  +
    );
         446  +
         447  +
    impl crate::constrained::Constrained for MapOfRangeShortConstrained {
         448  +
        type Unconstrained =
         449  +
            crate::unconstrained::map_of_range_short_unconstrained::MapOfRangeShortUnconstrained;
         450  +
    }
         451  +
    impl ::std::convert::From<MapOfRangeShortConstrained>
         452  +
        for ::std::collections::HashMap<::std::string::String, i16>
         453  +
    {
         454  +
        fn from(v: MapOfRangeShortConstrained) -> Self {
         455  +
            v.0.into_iter()
         456  +
                .map(|(k, v)| {
         457  +
                    let v = { v.into() };
         458  +
                    (k, v)
         459  +
                })
         460  +
                .collect()
         461  +
        }
         462  +
    }
         463  +
}
         464  +
pub(crate) mod list_of_range_short_constrained {
         465  +
         466  +
    #[derive(Debug, Clone)]
         467  +
    pub(crate) struct ListOfRangeShortConstrained(
         468  +
        pub(crate) std::vec::Vec<crate::model::RangeShort>,
         469  +
    );
         470  +
         471  +
    impl crate::constrained::Constrained for ListOfRangeShortConstrained {
         472  +
        type Unconstrained =
         473  +
            crate::unconstrained::list_of_range_short_unconstrained::ListOfRangeShortUnconstrained;
         474  +
    }
         475  +
    impl ::std::convert::From<ListOfRangeShortConstrained> for ::std::vec::Vec<i16> {
         476  +
        fn from(v: ListOfRangeShortConstrained) -> Self {
         477  +
            v.0.into_iter().map(|item| item.into()).collect()
         478  +
        }
         479  +
    }
         480  +
}
         481  +
pub(crate) mod map_of_range_integer_constrained {
         482  +
         483  +
    #[derive(Debug, Clone)]
         484  +
    pub(crate) struct MapOfRangeIntegerConstrained(
         485  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeInteger>,
         486  +
    );
         487  +
         488  +
    impl crate::constrained::Constrained for MapOfRangeIntegerConstrained {
         489  +
        type Unconstrained = crate::unconstrained::map_of_range_integer_unconstrained::MapOfRangeIntegerUnconstrained;
         490  +
    }
         491  +
    impl ::std::convert::From<MapOfRangeIntegerConstrained>
         492  +
        for ::std::collections::HashMap<::std::string::String, i32>
         493  +
    {
         494  +
        fn from(v: MapOfRangeIntegerConstrained) -> Self {
         495  +
            v.0.into_iter()
         496  +
                .map(|(k, v)| {
         497  +
                    let v = { v.into() };
         498  +
                    (k, v)
         499  +
                })
         500  +
                .collect()
         501  +
        }
         502  +
    }
         503  +
}
         504  +
pub(crate) mod list_of_range_integer_constrained {
         505  +
         506  +
    #[derive(Debug, Clone)]
         507  +
    pub(crate) struct ListOfRangeIntegerConstrained(
         508  +
        pub(crate) std::vec::Vec<crate::model::RangeInteger>,
         509  +
    );
         510  +
         511  +
    impl crate::constrained::Constrained for ListOfRangeIntegerConstrained {
         512  +
        type Unconstrained = crate::unconstrained::list_of_range_integer_unconstrained::ListOfRangeIntegerUnconstrained;
         513  +
    }
         514  +
    impl ::std::convert::From<ListOfRangeIntegerConstrained> for ::std::vec::Vec<i32> {
         515  +
        fn from(v: ListOfRangeIntegerConstrained) -> Self {
         516  +
            v.0.into_iter().map(|item| item.into()).collect()
         517  +
        }
         518  +
    }
         519  +
}
         520  +
pub(crate) mod map_of_length_blob_constrained {
         521  +
         522  +
    #[derive(Debug, Clone)]
         523  +
    pub(crate) struct MapOfLengthBlobConstrained(
         524  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::LengthBlob>,
         525  +
    );
         526  +
         527  +
    impl crate::constrained::Constrained for MapOfLengthBlobConstrained {
         528  +
        type Unconstrained =
         529  +
            crate::unconstrained::map_of_length_blob_unconstrained::MapOfLengthBlobUnconstrained;
         530  +
    }
         531  +
    impl ::std::convert::From<MapOfLengthBlobConstrained>
         532  +
        for ::std::collections::HashMap<::std::string::String, ::aws_smithy_types::Blob>
         533  +
    {
         534  +
        fn from(v: MapOfLengthBlobConstrained) -> Self {
         535  +
            v.0.into_iter()
         536  +
                .map(|(k, v)| {
         537  +
                    let v = { v.into() };
         538  +
                    (k, v)
         539  +
                })
         540  +
                .collect()
         541  +
        }
         542  +
    }
         543  +
}
         544  +
pub(crate) mod list_of_length_blob_constrained {
         545  +
         546  +
    #[derive(Debug, Clone)]
         547  +
    pub(crate) struct ListOfLengthBlobConstrained(
         548  +
        pub(crate) std::vec::Vec<crate::model::LengthBlob>,
         549  +
    );
         550  +
         551  +
    impl crate::constrained::Constrained for ListOfLengthBlobConstrained {
         552  +
        type Unconstrained =
         553  +
            crate::unconstrained::list_of_length_blob_unconstrained::ListOfLengthBlobUnconstrained;
         554  +
    }
         555  +
    impl ::std::convert::From<ListOfLengthBlobConstrained>
         556  +
        for ::std::vec::Vec<::aws_smithy_types::Blob>
         557  +
    {
         558  +
        fn from(v: ListOfLengthBlobConstrained) -> Self {
         559  +
            v.0.into_iter().map(|item| item.into()).collect()
         560  +
        }
         561  +
    }
         562  +
}
         563  +
pub(crate) mod con_b_list_constrained {
         564  +
         565  +
    #[derive(Debug, Clone)]
         566  +
    pub(crate) struct ConBListConstrained(
         567  +
        pub(crate)  std::vec::Vec<
         568  +
            crate::constrained::con_b_list_inner_constrained::ConBListInnerConstrained,
         569  +
        >,
         570  +
    );
         571  +
         572  +
    impl crate::constrained::Constrained for ConBListConstrained {
         573  +
        type Unconstrained = crate::unconstrained::con_b_list_unconstrained::ConBListUnconstrained;
         574  +
    }
         575  +
    impl ::std::convert::From<ConBListConstrained>
         576  +
        for ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>
         577  +
    {
         578  +
        fn from(v: ConBListConstrained) -> Self {
         579  +
            v.0.into_iter().map(|item| item.into()).collect()
         580  +
        }
         581  +
    }
         582  +
}
         583  +
pub(crate) mod con_b_list_inner_constrained {
         584  +
         585  +
    #[derive(Debug, Clone)]
         586  +
    pub(crate) struct ConBListInnerConstrained(pub(crate) std::vec::Vec<crate::model::ConB>);
         587  +
         588  +
    impl crate::constrained::Constrained for ConBListInnerConstrained {
         589  +
        type Unconstrained =
         590  +
            crate::unconstrained::con_b_list_inner_unconstrained::ConBListInnerUnconstrained;
         591  +
    }
         592  +
    impl ::std::convert::From<ConBListInnerConstrained> for ::std::vec::Vec<crate::model::ConB> {
         593  +
        fn from(v: ConBListInnerConstrained) -> Self {
         594  +
            v.0
         595  +
        }
         596  +
    }
         597  +
}
         598  +
pub(crate) mod sparse_list_constrained {
         599  +
         600  +
    #[derive(Debug, Clone)]
         601  +
    pub(crate) struct SparseListConstrained(
         602  +
        pub(crate) std::vec::Vec<::std::option::Option<crate::model::LengthString>>,
         603  +
    );
         604  +
         605  +
    impl crate::constrained::Constrained for SparseListConstrained {
         606  +
        type Unconstrained =
         607  +
            crate::unconstrained::sparse_list_unconstrained::SparseListUnconstrained;
         608  +
    }
         609  +
    impl ::std::convert::From<SparseListConstrained>
         610  +
        for ::std::vec::Vec<::std::option::Option<::std::string::String>>
         611  +
    {
         612  +
        fn from(v: SparseListConstrained) -> Self {
         613  +
            v.0.into_iter()
         614  +
                .map(|item| item.map(|item| item.into()))
         615  +
                .collect()
         616  +
        }
         617  +
    }
         618  +
}
         619  +
pub(crate) mod sparse_map_constrained {
         620  +
         621  +
    #[derive(Debug, Clone)]
         622  +
    pub(crate) struct SparseMapConstrained(
         623  +
        pub(crate)  std::collections::HashMap<
         624  +
            ::std::string::String,
         625  +
            ::std::option::Option<crate::model::UniqueItemsList>,
         626  +
        >,
         627  +
    );
         628  +
         629  +
    impl crate::constrained::Constrained for SparseMapConstrained {
         630  +
        type Unconstrained = crate::unconstrained::sparse_map_unconstrained::SparseMapUnconstrained;
         631  +
    }
         632  +
    impl ::std::convert::From<SparseMapConstrained>
         633  +
        for ::std::collections::HashMap<
         634  +
            ::std::string::String,
         635  +
            ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         636  +
        >
         637  +
    {
         638  +
        fn from(v: SparseMapConstrained) -> Self {
         639  +
            v.0.into_iter()
         640  +
                .map(|(k, v)| {
         641  +
                    let v = { v.map(|v| v.into()) };
         642  +
                    (k, v)
         643  +
                })
         644  +
                .collect()
         645  +
        }
         646  +
    }
         647  +
}
         648  +
pub(crate) mod map_of_map_of_list_of_list_of_con_b_constrained {
         649  +
         650  +
    #[derive(Debug, Clone)]
         651  +
    pub(crate) struct MapOfMapOfListOfListOfConBConstrained(pub(crate) std::collections::HashMap<::std::string::String, crate::constrained::map_of_list_of_list_of_con_b_constrained::MapOfListOfListOfConBConstrained>);
         652  +
         653  +
    impl crate::constrained::Constrained for MapOfMapOfListOfListOfConBConstrained {
         654  +
        type Unconstrained = crate::unconstrained::map_of_map_of_list_of_list_of_con_b_unconstrained::MapOfMapOfListOfListOfConBUnconstrained;
         655  +
    }
         656  +
    impl ::std::convert::From<MapOfMapOfListOfListOfConBConstrained>
         657  +
        for ::std::collections::HashMap<
         658  +
            ::std::string::String,
         659  +
            ::std::collections::HashMap<
         660  +
                ::std::string::String,
         661  +
                ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         662  +
            >,
         663  +
        >
         664  +
    {
         665  +
        fn from(v: MapOfMapOfListOfListOfConBConstrained) -> Self {
         666  +
            v.0.into_iter()
         667  +
                .map(|(k, v)| {
         668  +
                    let v = { v.into() };
         669  +
                    (k, v)
         670  +
                })
         671  +
                .collect()
         672  +
        }
         673  +
    }
         674  +
}
         675  +
pub(crate) mod map_of_list_of_list_of_con_b_constrained {
         676  +
         677  +
    #[derive(Debug, Clone)]
         678  +
    pub(crate) struct MapOfListOfListOfConBConstrained(
         679  +
        pub(crate)  std::collections::HashMap<
         680  +
            ::std::string::String,
         681  +
            crate::constrained::con_b_list_constrained::ConBListConstrained,
         682  +
        >,
         683  +
    );
         684  +
         685  +
    impl crate::constrained::Constrained for MapOfListOfListOfConBConstrained {
         686  +
        type Unconstrained = crate::unconstrained::map_of_list_of_list_of_con_b_unconstrained::MapOfListOfListOfConBUnconstrained;
         687  +
    }
         688  +
    impl ::std::convert::From<MapOfListOfListOfConBConstrained>
         689  +
        for ::std::collections::HashMap<
         690  +
            ::std::string::String,
         691  +
            ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         692  +
        >
         693  +
    {
         694  +
        fn from(v: MapOfListOfListOfConBConstrained) -> Self {
         695  +
            v.0.into_iter()
         696  +
                .map(|(k, v)| {
         697  +
                    let v = { v.into() };
         698  +
                    (k, v)
         699  +
                })
         700  +
                .collect()
         701  +
        }
         702  +
    }
         703  +
}
         704  +
         705  +
/*
         706  +
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
         707  +
 * SPDX-License-Identifier: Apache-2.0
         708  +
 */
         709  +
         710  +
pub(crate) trait Constrained {
         711  +
    type Unconstrained;
         712  +
}
         713  +
         714  +
#[derive(Debug, Clone)]
         715  +
#[allow(dead_code)]
         716  +
pub(crate) enum MaybeConstrained<T: Constrained> {
         717  +
    Constrained(T),
         718  +
    Unconstrained(T::Unconstrained),
         719  +
}