Server Test Python

Server Test Python

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5 (ignoring whitespace)

Files changed:

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

@@ -1,1 +133,133 @@
    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_length_map_operation_http_request<B>(
    4      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingLengthMapOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_length_map_operation_input_internal::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::con_b_map_unconstrained::ConBMapUnconstrained =
   25     25   
            crate::unconstrained::con_b_map_unconstrained::ConBMapUnconstrained(
   26     26   
                ::std::collections::HashMap::new(),
   27     27   
            );
   28     28   
        for (k, v) in pairs {
   29     29   
            query_params
   30     30   
                .0
   31     31   
                .entry(String::from(k))
   32     32   
                .or_insert_with(|| String::from(v));
   33     33   
        }
   34     34   
        input = input.set_length_map(Some(query_params));
   35     35   
        input.build()?
   36     36   
    })
   37     37   
}
   38     38   
   39     39   
#[allow(clippy::unnecessary_wraps)]
   40     40   
pub fn ser_query_params_targeting_length_map_operation_http_response(
   41     41   
    #[allow(unused_variables)] output: crate::output::QueryParamsTargetingLengthMapOperationOutput,
   42     42   
) -> std::result::Result<
   43         -
    ::aws_smithy_http_server::response::Response,
   44         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          43  +
    ::aws_smithy_legacy_http_server::response::Response,
          44  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48     48   
        let mut builder = ::http::Response::builder();
   49         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          49  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51     51   
            ::http::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_length_map_operation_output::ser_query_params_targeting_length_map_operation_output_output_output(&output)?
   58     58   
        ;
   59     59   
        let content_length = payload.len();
   60         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          60  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62     62   
            ::http::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          65  +
        let body = ::aws_smithy_legacy_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_length_map_operation_http_error(
   72     72   
    error: &crate::error::QueryParamsTargetingLengthMapOperationError,
   73     73   
) -> std::result::Result<
   74         -
    ::aws_smithy_http_server::response::Response,
   75         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          74  +
    ::aws_smithy_legacy_http_server::response::Response,
          75  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   76     76   
> {
   77     77   
    Ok({
   78     78   
        match error {
   79     79   
            crate::error::QueryParamsTargetingLengthMapOperationError::ValidationException(
   80     80   
                output,
   81     81   
            ) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                    builder,
   87     87   
                    ::http::header::CONTENT_TYPE,
   88     88   
                    "application/json",
   89     89   
                );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                    builder,
   92     92   
                    ::http::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(
          96  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   97     97   
                    builder,
   98     98   
                    ::http::header::CONTENT_LENGTH,
   99     99   
                    content_length,
  100    100   
                );
  101    101   
                builder
  102    102   
                    .status(400)
  103         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         103  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  104    104   
            }
  105    105   
            crate::error::QueryParamsTargetingLengthMapOperationError::InternalServerError(
  106    106   
                output,
  107    107   
            ) => {
  108    108   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  109    109   
                #[allow(unused_mut)]
  110    110   
                let mut builder = ::http::Response::builder();
  111         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         111  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  112    112   
                    builder,
  113    113   
                    ::http::header::CONTENT_TYPE,
  114    114   
                    "application/json",
  115    115   
                );
  116         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         116  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  117    117   
                    builder,
  118    118   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  119    119   
                    "InternalServerError",
  120    120   
                );
  121    121   
                let content_length = payload.len();
  122         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         122  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  123    123   
                    builder,
  124    124   
                    ::http::header::CONTENT_LENGTH,
  125    125   
                    content_length,
  126    126   
                );
  127    127   
                builder
  128    128   
                    .status(500)
  129         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         129  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  130    130   
            }
  131    131   
        }
  132    132   
    })
  133    133   
}

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

@@ -1,1 +119,119 @@
    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_enum_string_operation_http_request<B>(
    4      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfEnumStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_enum_string_operation_input_internal::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_enum_string_unconstrained::MapOfEnumStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_enum_string_unconstrained::MapOfEnumStringUnconstrained(
   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_enum_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_enum_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput,
   44     44   
) -> std::result::Result<
   45         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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_enum_string_operation_output::ser_query_params_targeting_map_of_enum_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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_enum_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfEnumStringOperationError,
   75     75   
) -> std::result::Result<
   76         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfEnumStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfEnumStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +119,119 @@
    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_length_list_of_pattern_string_operation_http_request<
    4      4   
    B,
    5      5   
>(
    6      6   
    #[allow(unused_variables)] request: ::http::Request<B>,
    7      7   
) -> std::result::Result<
    8      8   
    crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput,
    9         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           9  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
   10     10   
>
   11     11   
where
   12         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          12  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   13     13   
    B::Data: Send,
   14         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   15         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          14  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          15  +
        From<<B as ::aws_smithy_legacy_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_length_list_of_pattern_string_operation_input_internal::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_length_list_of_pattern_string_unconstrained::MapOfLengthListOfPatternStringUnconstrained =
   27     27   
            crate::unconstrained::map_of_length_list_of_pattern_string_unconstrained::MapOfLengthListOfPatternStringUnconstrained(
   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::length_list_of_pattern_string_unconstrained::LengthListOfPatternStringUnconstrained(std::vec::Vec::new()));
   33     33   
            entry.0.push(String::from(v));
   34     34   
        }
   35     35   
        input = input.set_map_of_length_list_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_length_list_of_pattern_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput,
   44     44   
) -> std::result::Result<
   45         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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_length_list_of_pattern_string_operation_output::ser_query_params_targeting_map_of_length_list_of_pattern_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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_length_list_of_pattern_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError,
   75     75   
) -> std::result::Result<
   76         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +119,119 @@
    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_length_pattern_string_operation_http_request<B>(
    4      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_length_pattern_string_operation_input_internal::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_length_pattern_string_unconstrained::MapOfLengthPatternStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_length_pattern_string_unconstrained::MapOfLengthPatternStringUnconstrained(
   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_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_length_pattern_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput,
   44     44   
) -> std::result::Result<
   45         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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_length_pattern_string_operation_output::ser_query_params_targeting_map_of_length_pattern_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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_length_pattern_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfLengthPatternStringOperationError,
   75     75   
) -> std::result::Result<
   76         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfLengthPatternStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfLengthPatternStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +119,119 @@
    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_length_string_operation_http_request<B>(
    4      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfLengthStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_length_string_operation_input_internal::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_length_string_unconstrained::MapOfLengthStringUnconstrained =
   25     25   
            crate::unconstrained::map_of_length_string_unconstrained::MapOfLengthStringUnconstrained(
   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_length_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_length_string_operation_http_response(
   42     42   
    #[allow(unused_variables)]
   43     43   
    output: crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput,
   44     44   
) -> std::result::Result<
   45         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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_length_string_operation_output::ser_query_params_targeting_map_of_length_string_operation_output_output_output(&output)?
   60     60   
        ;
   61     61   
        let content_length = payload.len();
   62         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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_length_string_operation_http_error(
   74     74   
    error: &crate::error::QueryParamsTargetingMapOfLengthStringOperationError,
   75     75   
) -> std::result::Result<
   76         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   78     78   
> {
   79     79   
    Ok({
   80     80   
        match error {
   81     81   
            crate::error::QueryParamsTargetingMapOfLengthStringOperationError::ValidationException(output) => {
   82     82   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
   83     83   
                #[allow(unused_mut)]
   84     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfLengthStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +117,117 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   44         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          43  +
    ::aws_smithy_legacy_http_server::response::Response,
          44  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48     48   
        let mut builder = ::http::Response::builder();
   49         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          49  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51     51   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          60  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62     62   
            ::http::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          65  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   75         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          74  +
    ::aws_smithy_legacy_http_server::response::Response,
          75  +
    ::aws_smithy_legacy_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     82   
                let mut builder = ::http::Response::builder();
   83         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          83  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85     85   
                                ::http::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          88  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90     90   
                                ::http::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);
   95         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          94  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          95  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
            crate::error::QueryParamsTargetingMapOfListOfEnumStringOperationError::InternalServerError(output) => {
   98     98   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
   99     99   
                #[allow(unused_mut)]
  100    100   
                let mut builder = ::http::Response::builder();
  101         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         101  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  102    102   
                                builder,
  103    103   
                                ::http::header::CONTENT_TYPE,
  104    104   
                                "application/json",
  105    105   
                            );
  106         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         106  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  107    107   
                                builder,
  108    108   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  109    109   
                                "InternalServerError",
  110    110   
                            );
  111    111   
                let content_length = payload.len();
  112         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  113         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         112  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         113  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  114    114   
            }
  115    115   
        }
  116    116   
    })
  117    117   
}

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

@@ -1,1 +119,119 @@
    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      6   
    #[allow(unused_variables)] request: ::http::Request<B>,
    7      7   
) -> std::result::Result<
    8      8   
    crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
    9         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           9  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
   10     10   
>
   11     11   
where
   12         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          12  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   13     13   
    B::Data: Send,
   14         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   15         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          14  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          15  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_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     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +117,117 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   44         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          43  +
    ::aws_smithy_legacy_http_server::response::Response,
          44  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48     48   
        let mut builder = ::http::Response::builder();
   49         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          49  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51     51   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          60  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62     62   
            ::http::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          65  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   75         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          74  +
    ::aws_smithy_legacy_http_server::response::Response,
          75  +
    ::aws_smithy_legacy_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     82   
                let mut builder = ::http::Response::builder();
   83         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          83  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85     85   
                                ::http::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          88  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90     90   
                                ::http::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);
   95         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          94  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          95  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
            crate::error::QueryParamsTargetingMapOfListOfLengthStringOperationError::InternalServerError(output) => {
   98     98   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
   99     99   
                #[allow(unused_mut)]
  100    100   
                let mut builder = ::http::Response::builder();
  101         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         101  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  102    102   
                                builder,
  103    103   
                                ::http::header::CONTENT_TYPE,
  104    104   
                                "application/json",
  105    105   
                            );
  106         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         106  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  107    107   
                                builder,
  108    108   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  109    109   
                                "InternalServerError",
  110    110   
                            );
  111    111   
                let content_length = payload.len();
  112         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  113         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         112  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         113  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  114    114   
            }
  115    115   
        }
  116    116   
    })
  117    117   
}

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

@@ -1,1 +117,117 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   44         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          43  +
    ::aws_smithy_legacy_http_server::response::Response,
          44  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48     48   
        let mut builder = ::http::Response::builder();
   49         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          49  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51     51   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          60  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62     62   
            ::http::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          65  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   75         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          74  +
    ::aws_smithy_legacy_http_server::response::Response,
          75  +
    ::aws_smithy_legacy_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     82   
                let mut builder = ::http::Response::builder();
   83         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          83  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85     85   
                                ::http::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          88  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90     90   
                                ::http::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);
   95         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          94  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          95  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
            crate::error::QueryParamsTargetingMapOfListOfPatternStringOperationError::InternalServerError(output) => {
   98     98   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
   99     99   
                #[allow(unused_mut)]
  100    100   
                let mut builder = ::http::Response::builder();
  101         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         101  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  102    102   
                                builder,
  103    103   
                                ::http::header::CONTENT_TYPE,
  104    104   
                                "application/json",
  105    105   
                            );
  106         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         106  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  107    107   
                                builder,
  108    108   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  109    109   
                                "InternalServerError",
  110    110   
                            );
  111    111   
                let content_length = payload.len();
  112         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  113         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         112  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         113  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  114    114   
            }
  115    115   
        }
  116    116   
    })
  117    117   
}

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

@@ -1,1 +119,119 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   46         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          45  +
    ::aws_smithy_legacy_http_server::response::Response,
          46  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   47     47   
> {
   48     48   
    Ok({
   49     49   
        #[allow(unused_mut)]
   50     50   
        let mut builder = ::http::Response::builder();
   51         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          51  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   52     52   
            builder,
   53     53   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          62  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   63     63   
            builder,
   64     64   
            ::http::header::CONTENT_LENGTH,
   65     65   
            content_length,
   66     66   
        );
   67         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          67  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   77         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          76  +
    ::aws_smithy_legacy_http_server::response::Response,
          77  +
    ::aws_smithy_legacy_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     84   
                let mut builder = ::http::Response::builder();
   85         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          85  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   86     86   
                                builder,
   87     87   
                                ::http::header::CONTENT_TYPE,
   88     88   
                                "application/json",
   89     89   
                            );
   90         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          90  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   91     91   
                                builder,
   92     92   
                                ::http::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);
   97         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          96  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          97  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   98     98   
            }
   99     99   
            crate::error::QueryParamsTargetingMapOfPatternStringOperationError::InternalServerError(output) => {
  100    100   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  101    101   
                #[allow(unused_mut)]
  102    102   
                let mut builder = ::http::Response::builder();
  103         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         103  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  104    104   
                                builder,
  105    105   
                                ::http::header::CONTENT_TYPE,
  106    106   
                                "application/json",
  107    107   
                            );
  108         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         108  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  109    109   
                                builder,
  110    110   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  111    111   
                                "InternalServerError",
  112    112   
                            );
  113    113   
                let content_length = payload.len();
  114         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  115         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         114  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         115  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  116    116   
            }
  117    117   
        }
  118    118   
    })
  119    119   
}

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

@@ -1,1 +117,117 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B::Data: Send,
   12         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   13         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          12  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          13  +
        From<<B as ::aws_smithy_legacy_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_internal::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         -
    ::aws_smithy_http_server::response::Response,
   44         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          43  +
    ::aws_smithy_legacy_http_server::response::Response,
          44  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   45     45   
> {
   46     46   
    Ok({
   47     47   
        #[allow(unused_mut)]
   48     48   
        let mut builder = ::http::Response::builder();
   49         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          49  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   50     50   
            builder,
   51     51   
            ::http::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         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          60  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   61     61   
            builder,
   62     62   
            ::http::header::CONTENT_LENGTH,
   63     63   
            content_length,
   64     64   
        );
   65         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          65  +
        let body = ::aws_smithy_legacy_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         -
    ::aws_smithy_http_server::response::Response,
   75         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          74  +
    ::aws_smithy_legacy_http_server::response::Response,
          75  +
    ::aws_smithy_legacy_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     82   
                let mut builder = ::http::Response::builder();
   83         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          83  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   84     84   
                                builder,
   85     85   
                                ::http::header::CONTENT_TYPE,
   86     86   
                                "application/json",
   87     87   
                            );
   88         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          88  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   89     89   
                                builder,
   90     90   
                                ::http::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);
   95         -
                builder.status(400).body(::aws_smithy_http_server::body::to_boxed(payload))?
          94  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
          95  +
                builder.status(400).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   96     96   
            }
   97     97   
            crate::error::QueryParamsTargetingMapOfSetOfLengthStringOperationError::InternalServerError(output) => {
   98     98   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
   99     99   
                #[allow(unused_mut)]
  100    100   
                let mut builder = ::http::Response::builder();
  101         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         101  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  102    102   
                                builder,
  103    103   
                                ::http::header::CONTENT_TYPE,
  104    104   
                                "application/json",
  105    105   
                            );
  106         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         106  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  107    107   
                                builder,
  108    108   
                                ::http::header::HeaderName::from_static("x-amzn-errortype"),
  109    109   
                                "InternalServerError",
  110    110   
                            );
  111    111   
                let content_length = payload.len();
  112         -
                            builder = ::aws_smithy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
  113         -
                builder.status(500).body(::aws_smithy_http_server::body::to_boxed(payload))?
         112  +
                            builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(builder, ::http::header::CONTENT_LENGTH, content_length);
         113  +
                builder.status(500).body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  114    114   
            }
  115    115   
        }
  116    116   
    })
  117    117   
}

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

@@ -1,1 +91,91 @@
    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      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::StreamingBlobOperationInput,
    7         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection,
           7  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection,
    8      8   
>
    9      9   
where
   10         -
    B: ::aws_smithy_http_server::body::HttpBody + Send,
          10  +
    B: ::aws_smithy_legacy_http_server::body::HttpBody + Send,
   11     11   
    B: Into<::aws_smithy_types::byte_stream::ByteStream>,
   12     12   
    B::Data: Send,
   13         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::RequestRejection:
   14         -
        From<<B as ::aws_smithy_http_server::body::HttpBody>::Error>,
          13  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::RequestRejection:
          14  +
        From<<B as ::aws_smithy_legacy_http_server::body::HttpBody>::Error>,
   15     15   
{
   16     16   
    Ok({
   17     17   
        #[allow(unused_mut)]
   18     18   
        let mut input = crate::input::streaming_blob_operation_input_internal::Builder::default();
   19     19   
        #[allow(unused_variables)]
   20     20   
        let ::aws_smithy_runtime_api::http::RequestParts {
   21     21   
            uri, headers, body, ..
   22     22   
        } = ::aws_smithy_runtime_api::http::Request::try_from(request)?.into_parts();
   23     23   
        if let Some(value) = {
   24     24   
            Some(crate::protocol_serde::shape_streaming_blob_operation_input::de_streaming_blob_payload(&mut body.into().into_inner())?)
   25     25   
        } {
   26     26   
            input = input.set_streaming_blob(value)
   27     27   
        }
   28     28   
        input.build()
   29     29   
    })
   30     30   
}
   31     31   
   32     32   
#[allow(clippy::unnecessary_wraps)]
   33     33   
pub fn ser_streaming_blob_operation_http_response(
   34     34   
    #[allow(unused_variables)] output: crate::output::StreamingBlobOperationOutput,
   35     35   
) -> std::result::Result<
   36         -
    ::aws_smithy_http_server::response::Response,
   37         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          36  +
    ::aws_smithy_legacy_http_server::response::Response,
          37  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   38     38   
> {
   39     39   
    Ok({
   40     40   
        #[allow(unused_mut)]
   41     41   
        let mut builder = ::http::Response::builder();
   42         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          42  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   43     43   
            builder,
   44     44   
            ::http::header::CONTENT_TYPE,
   45     45   
            "application/octet-stream",
   46     46   
        );
   47     47   
        let http_status: u16 = 200;
   48     48   
        builder = builder.status(http_status);
   49         -
        let body = ::aws_smithy_http_server::body::boxed(::aws_smithy_http_server::body::Body::wrap_stream(
          49  +
        let body = ::aws_smithy_legacy_http_server::body::boxed(::aws_smithy_legacy_http_server::body::Body::wrap_stream(
   50     50   
            crate::protocol_serde::shape_streaming_blob_operation_output::ser_streaming_blob_http_payload( output.streaming_blob)?
   51     51   
        ));
   52     52   
        builder.body(body)?
   53     53   
    })
   54     54   
}
   55     55   
   56     56   
#[allow(clippy::unnecessary_wraps)]
   57     57   
pub fn ser_streaming_blob_operation_http_error(
   58     58   
    error: &crate::error::StreamingBlobOperationError,
   59     59   
) -> std::result::Result<
   60         -
    ::aws_smithy_http_server::response::Response,
   61         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          60  +
    ::aws_smithy_legacy_http_server::response::Response,
          61  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   62     62   
> {
   63     63   
    Ok({
   64     64   
        match error {
   65     65   
            crate::error::StreamingBlobOperationError::InternalServerError(output) => {
   66     66   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
   67     67   
                #[allow(unused_mut)]
   68     68   
                let mut builder = ::http::Response::builder();
   69         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          69  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   70     70   
                    builder,
   71     71   
                    ::http::header::CONTENT_TYPE,
   72     72   
                    "application/octet-stream",
   73     73   
                );
   74         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          74  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   75     75   
                    builder,
   76     76   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
   77     77   
                    "InternalServerError",
   78     78   
                );
   79     79   
                let content_length = payload.len();
   80         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          80  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   81     81   
                    builder,
   82     82   
                    ::http::header::CONTENT_LENGTH,
   83     83   
                    content_length,
   84     84   
                );
   85     85   
                builder
   86     86   
                    .status(500)
   87         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
          87  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
   88     88   
            }
   89     89   
        }
   90     90   
    })
   91     91   
}

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

@@ -1,1 +60,60 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
    3      3   
pub struct EventStreamsOperationOutputEventsEventStreamSender {
    4      4   
    inner: ::std::sync::Arc<
    5      5   
        ::parking_lot::Mutex<
    6      6   
            ::std::option::Option<
    7         -
                ::aws_smithy_http::event_stream::EventStreamSender<
           7  +
                ::aws_smithy_legacy_http::event_stream::EventStreamSender<
    8      8   
                    crate::model::Event,
    9      9   
                    crate::error::EventError,
   10     10   
                >,
   11     11   
            >,
   12     12   
        >,
   13     13   
    >,
   14     14   
}
   15     15   
impl EventStreamsOperationOutputEventsEventStreamSender {
   16     16   
    pub fn into_body_stream(
   17     17   
        self,
   18     18   
        marshaller: impl ::aws_smithy_eventstream::frame::MarshallMessage<Input = crate::model::Event>
   19     19   
            + ::std::marker::Send
   20     20   
            + ::std::marker::Sync
   21     21   
            + 'static,
   22     22   
        error_marshaller: impl ::aws_smithy_eventstream::frame::MarshallMessage<Input = crate::error::EventError>
   23     23   
            + ::std::marker::Send
   24     24   
            + ::std::marker::Sync
   25     25   
            + 'static,
   26     26   
        signer: impl ::aws_smithy_eventstream::frame::SignMessage
   27     27   
            + ::std::marker::Send
   28     28   
            + ::std::marker::Sync
   29     29   
            + 'static,
   30         -
    ) -> ::aws_smithy_http::event_stream::MessageStreamAdapter<
          30  +
    ) -> ::aws_smithy_legacy_http::event_stream::MessageStreamAdapter<
   31     31   
        crate::model::Event,
   32     32   
        crate::error::EventError,
   33     33   
    > {
   34     34   
        let mut inner = self.inner.lock();
   35     35   
        let inner = inner.take().expect(
   36     36   
                            "attempted to reuse an event stream. \
   37     37   
                             that means you kept a reference to an event stream and tried to reuse it in another request, \
   38     38   
                             event streams are request scoped and shouldn't be used outside of their bounded request scope"
   39     39   
                        );
   40     40   
        inner.into_body_stream(marshaller, error_marshaller, signer)
@@ -63,63 +147,147 @@
   83     83   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   84     84   
        ::pyo3::exceptions::PyAttributeError::new_err("this is a write-only object").into_py(py)
   85     85   
    }
   86     86   
}
   87     87   
   88     88   
#[::pyo3::pyclass]
   89     89   
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
   90     90   
pub struct EventStreamsOperationInputEventsReceiver {
   91     91   
    inner: ::std::sync::Arc<
   92     92   
        ::tokio::sync::Mutex<
   93         -
            ::aws_smithy_http::event_stream::Receiver<
          93  +
            ::aws_smithy_legacy_http::event_stream::Receiver<
   94     94   
                crate::model::Event,
   95     95   
                crate::error::EventError,
   96     96   
            >,
   97     97   
        >,
   98     98   
    >,
   99     99   
}
  100    100   
impl EventStreamsOperationInputEventsReceiver {
  101    101   
    pub fn new(
  102    102   
        unmarshaller: impl ::aws_smithy_eventstream::frame::UnmarshallMessage<
  103    103   
                Output = crate::model::Event,
  104    104   
                Error = crate::error::EventError,
  105    105   
            > + ::std::marker::Send
  106    106   
            + ::std::marker::Sync
  107    107   
            + 'static,
  108    108   
        body: ::aws_smithy_types::body::SdkBody,
  109    109   
    ) -> EventStreamsOperationInputEventsReceiver {
  110         -
        let inner = ::aws_smithy_http::event_stream::Receiver::new(unmarshaller, body);
         110  +
        let inner = ::aws_smithy_legacy_http::event_stream::Receiver::new(unmarshaller, body);
  111    111   
        let inner = ::std::sync::Arc::new(::tokio::sync::Mutex::new(inner));
  112    112   
        EventStreamsOperationInputEventsReceiver { inner }
  113    113   
    }
  114    114   
  115    115   
    pub async fn try_recv_initial(
  116    116   
        &mut self,
  117         -
        message_type: ::aws_smithy_http::event_stream::InitialMessageType,
         117  +
        message_type: ::aws_smithy_legacy_http::event_stream::InitialMessageType,
  118    118   
    ) -> Result<
  119    119   
        ::std::option::Option<::aws_smithy_types::event_stream::Message>,
  120    120   
        ::aws_smithy_runtime_api::client::result::SdkError<
  121    121   
            crate::error::EventError,
  122    122   
            ::aws_smithy_types::event_stream::RawMessage,
  123    123   
        >,
  124    124   
    > {
  125    125   
        let mut inner = self.inner.lock().await;
  126    126   
        inner.try_recv_initial(message_type).await
  127    127   
    }

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

@@ -1,1 +1056,1096 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Python handler for operation `EventStreamsOperation`.
    3      3   
pub(crate) async fn event_streams_operation(
    4      4   
    input: crate::input::EventStreamsOperationInput,
    5         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
           5  +
    state: ::aws_smithy_legacy_http_server::Extension<
           6  +
        ::aws_smithy_http_server_python::context::PyContext,
           7  +
    >,
    6      8   
    handler: ::aws_smithy_http_server_python::PyHandler,
    7      9   
) -> std::result::Result<
    8     10   
    crate::output::EventStreamsOperationOutput,
    9     11   
    crate::error::EventStreamsOperationError,
   10     12   
> {
   11     13   
    // Async block used to run the handler and catch any Python error.
   12     14   
    let result = if handler.is_coroutine {
   13     15   
        ::tracing::trace!(
   14     16   
            name = "event_streams_operation",
   15     17   
            "executing python handler coroutine"
   16     18   
        );
   17     19   
        let result = ::pyo3::Python::with_gil(|py| {
   18     20   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   19     21   
            let coroutine = if handler.args == 1 {
   20     22   
                pyhandler.call1((input,))?
   21     23   
            } else {
   22     24   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   23     25   
            };
   24     26   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   25     27   
        })?;
   26     28   
        result.await.and_then(|r| {
   27     29   
            ::pyo3::Python::with_gil(|py| {
   28     30   
                r.extract::<crate::output::EventStreamsOperationOutput>(py)
   29     31   
            })
   30     32   
        })
   31     33   
    } else {
   32     34   
        ::tracing::trace!(
   33     35   
            name = "event_streams_operation",
   34     36   
            "executing python handler function"
   35     37   
        );
   36     38   
        ::pyo3::Python::with_gil(|py| {
   37     39   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   38     40   
            let output = if handler.args == 1 {
   39     41   
                pyhandler.call1((input,))?
   40     42   
            } else {
   41     43   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   42     44   
            };
   43     45   
            output.extract::<crate::output::EventStreamsOperationOutput>()
   44     46   
        })
   45     47   
    };
   46     48   
    // Catch and record a Python traceback.
   47     49   
    result.map_err(|e| {
   48     50   
        let rich_py_err =
   49     51   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
   50     52   
                e.clone_ref(py)
   51     53   
            }));
   52     54   
        ::tracing::error!(error = ?rich_py_err, "handler error");
   53     55   
        e.into()
   54     56   
    })
   55     57   
}
   56     58   
   57     59   
/// Python handler for operation `StreamingBlobOperation`.
   58     60   
pub(crate) async fn streaming_blob_operation(
   59     61   
    input: crate::input::StreamingBlobOperationInput,
   60         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
          62  +
    state: ::aws_smithy_legacy_http_server::Extension<
          63  +
        ::aws_smithy_http_server_python::context::PyContext,
          64  +
    >,
   61     65   
    handler: ::aws_smithy_http_server_python::PyHandler,
   62     66   
) -> std::result::Result<
   63     67   
    crate::output::StreamingBlobOperationOutput,
   64     68   
    crate::error::StreamingBlobOperationError,
   65     69   
> {
   66     70   
    // Async block used to run the handler and catch any Python error.
   67     71   
    let result = if handler.is_coroutine {
   68     72   
        ::tracing::trace!(
   69     73   
            name = "streaming_blob_operation",
   70     74   
            "executing python handler coroutine"
   71     75   
        );
   72     76   
        let result = ::pyo3::Python::with_gil(|py| {
   73     77   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   74     78   
            let coroutine = if handler.args == 1 {
   75     79   
                pyhandler.call1((input,))?
   76     80   
            } else {
   77     81   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   78     82   
            };
   79     83   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   80     84   
        })?;
   81     85   
        result.await.and_then(|r| {
   82     86   
            ::pyo3::Python::with_gil(|py| {
   83     87   
                r.extract::<crate::output::StreamingBlobOperationOutput>(py)
   84     88   
            })
   85     89   
        })
   86     90   
    } else {
   87     91   
        ::tracing::trace!(
   88     92   
            name = "streaming_blob_operation",
   89     93   
            "executing python handler function"
   90     94   
        );
   91     95   
        ::pyo3::Python::with_gil(|py| {
   92     96   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   93     97   
            let output = if handler.args == 1 {
   94     98   
                pyhandler.call1((input,))?
   95     99   
            } else {
   96    100   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   97    101   
            };
   98    102   
            output.extract::<crate::output::StreamingBlobOperationOutput>()
   99    103   
        })
  100    104   
    };
  101    105   
    // Catch and record a Python traceback.
  102    106   
    result.map_err(|e| {
  103    107   
        let rich_py_err =
  104    108   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  105    109   
                e.clone_ref(py)
  106    110   
            }));
  107    111   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  108    112   
        e.into()
  109    113   
    })
  110    114   
}
  111    115   
  112    116   
/// Python handler for operation `NonStreamingBlobOperation`.
  113    117   
pub(crate) async fn non_streaming_blob_operation(
  114    118   
    input: crate::input::NonStreamingBlobOperationInput,
  115         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         119  +
    state: ::aws_smithy_legacy_http_server::Extension<
         120  +
        ::aws_smithy_http_server_python::context::PyContext,
         121  +
    >,
  116    122   
    handler: ::aws_smithy_http_server_python::PyHandler,
  117    123   
) -> std::result::Result<
  118    124   
    crate::output::NonStreamingBlobOperationOutput,
  119    125   
    crate::error::NonStreamingBlobOperationError,
  120    126   
> {
  121    127   
    // Async block used to run the handler and catch any Python error.
  122    128   
    let result = if handler.is_coroutine {
  123    129   
        ::tracing::trace!(
  124    130   
            name = "non_streaming_blob_operation",
  125    131   
            "executing python handler coroutine"
  126    132   
        );
  127    133   
        let result = ::pyo3::Python::with_gil(|py| {
  128    134   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  129    135   
            let coroutine = if handler.args == 1 {
  130    136   
                pyhandler.call1((input,))?
  131    137   
            } else {
  132    138   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  133    139   
            };
  134    140   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  135    141   
        })?;
  136    142   
        result.await.and_then(|r| {
  137    143   
            ::pyo3::Python::with_gil(|py| {
  138    144   
                r.extract::<crate::output::NonStreamingBlobOperationOutput>(py)
  139    145   
            })
  140    146   
        })
  141    147   
    } else {
  142    148   
        ::tracing::trace!(
  143    149   
            name = "non_streaming_blob_operation",
  144    150   
            "executing python handler function"
  145    151   
        );
  146    152   
        ::pyo3::Python::with_gil(|py| {
  147    153   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  148    154   
            let output = if handler.args == 1 {
  149    155   
                pyhandler.call1((input,))?
  150    156   
            } else {
  151    157   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  152    158   
            };
  153    159   
            output.extract::<crate::output::NonStreamingBlobOperationOutput>()
  154    160   
        })
  155    161   
    };
  156    162   
    // Catch and record a Python traceback.
  157    163   
    result.map_err(|e| {
  158    164   
        let rich_py_err =
  159    165   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  160    166   
                e.clone_ref(py)
  161    167   
            }));
  162    168   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  163    169   
        e.into()
  164    170   
    })
  165    171   
}
  166    172   
  167    173   
/// Python handler for operation `QueryParamsTargetingMapOfEnumStringOperation`.
  168    174   
pub(crate) async fn query_params_targeting_map_of_enum_string_operation(
  169    175   
    input: crate::input::QueryParamsTargetingMapOfEnumStringOperationInput,
  170         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         176  +
    state: ::aws_smithy_legacy_http_server::Extension<
         177  +
        ::aws_smithy_http_server_python::context::PyContext,
         178  +
    >,
  171    179   
    handler: ::aws_smithy_http_server_python::PyHandler,
  172    180   
) -> std::result::Result<
  173    181   
    crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput,
  174    182   
    crate::error::QueryParamsTargetingMapOfEnumStringOperationError,
  175    183   
> {
  176    184   
    // Async block used to run the handler and catch any Python error.
  177    185   
    let result = if handler.is_coroutine {
  178    186   
        ::tracing::trace!(
  179    187   
            name = "query_params_targeting_map_of_enum_string_operation",
  180    188   
            "executing python handler coroutine"
  181    189   
        );
  182    190   
        let result = ::pyo3::Python::with_gil(|py| {
  183    191   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  184    192   
            let coroutine = if handler.args == 1 {
  185    193   
                pyhandler.call1((input,))?
  186    194   
            } else {
  187    195   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  188    196   
            };
  189    197   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  190    198   
        })?;
  191    199   
        result.await.and_then(|r| {
  192    200   
            ::pyo3::Python::with_gil(|py| {
  193    201   
                r.extract::<crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput>(py)
  194    202   
            })
  195    203   
        })
  196    204   
    } else {
  197    205   
        ::tracing::trace!(
  198    206   
            name = "query_params_targeting_map_of_enum_string_operation",
  199    207   
            "executing python handler function"
  200    208   
        );
  201    209   
        ::pyo3::Python::with_gil(|py| {
  202    210   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  203    211   
            let output = if handler.args == 1 {
  204    212   
                pyhandler.call1((input,))?
  205    213   
            } else {
  206    214   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  207    215   
            };
  208    216   
            output.extract::<crate::output::QueryParamsTargetingMapOfEnumStringOperationOutput>()
  209    217   
        })
  210    218   
    };
  211    219   
    // Catch and record a Python traceback.
  212    220   
    result.map_err(|e| {
  213    221   
        let rich_py_err =
  214    222   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  215    223   
                e.clone_ref(py)
  216    224   
            }));
  217    225   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  218    226   
        e.into()
  219    227   
    })
  220    228   
}
  221    229   
  222    230   
/// Python handler for operation `HttpPrefixHeadersTargetingLengthMapOperation`.
  223    231   
pub(crate) async fn http_prefix_headers_targeting_length_map_operation(
  224    232   
    input: crate::input::HttpPrefixHeadersTargetingLengthMapOperationInput,
  225         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         233  +
    state: ::aws_smithy_legacy_http_server::Extension<
         234  +
        ::aws_smithy_http_server_python::context::PyContext,
         235  +
    >,
  226    236   
    handler: ::aws_smithy_http_server_python::PyHandler,
  227    237   
) -> std::result::Result<
  228    238   
    crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput,
  229    239   
    crate::error::HttpPrefixHeadersTargetingLengthMapOperationError,
  230    240   
> {
  231    241   
    // Async block used to run the handler and catch any Python error.
  232    242   
    let result = if handler.is_coroutine {
  233    243   
        ::tracing::trace!(
  234    244   
            name = "http_prefix_headers_targeting_length_map_operation",
  235    245   
            "executing python handler coroutine"
  236    246   
        );
  237    247   
        let result = ::pyo3::Python::with_gil(|py| {
  238    248   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  239    249   
            let coroutine = if handler.args == 1 {
  240    250   
                pyhandler.call1((input,))?
  241    251   
            } else {
  242    252   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  243    253   
            };
  244    254   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  245    255   
        })?;
  246    256   
        result.await.and_then(|r| {
  247    257   
            ::pyo3::Python::with_gil(|py| {
  248    258   
                r.extract::<crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput>(py)
  249    259   
            })
  250    260   
        })
  251    261   
    } else {
  252    262   
        ::tracing::trace!(
  253    263   
            name = "http_prefix_headers_targeting_length_map_operation",
  254    264   
            "executing python handler function"
  255    265   
        );
  256    266   
        ::pyo3::Python::with_gil(|py| {
  257    267   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  258    268   
            let output = if handler.args == 1 {
  259    269   
                pyhandler.call1((input,))?
  260    270   
            } else {
  261    271   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  262    272   
            };
  263    273   
            output.extract::<crate::output::HttpPrefixHeadersTargetingLengthMapOperationOutput>()
  264    274   
        })
  265    275   
    };
  266    276   
    // Catch and record a Python traceback.
  267    277   
    result.map_err(|e| {
  268    278   
        let rich_py_err =
  269    279   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  270    280   
                e.clone_ref(py)
  271    281   
            }));
  272    282   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  273    283   
        e.into()
  274    284   
    })
  275    285   
}
  276    286   
  277    287   
/// Python handler for operation `QueryParamsTargetingMapOfListOfLengthPatternStringOperation`.
  278    288   
pub(crate) async fn query_params_targeting_map_of_list_of_length_pattern_string_operation(
  279    289   
    input: crate::input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput,
  280         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         290  +
    state: ::aws_smithy_legacy_http_server::Extension<
         291  +
        ::aws_smithy_http_server_python::context::PyContext,
         292  +
    >,
  281    293   
    handler: ::aws_smithy_http_server_python::PyHandler,
  282    294   
) -> std::result::Result<
  283    295   
    crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput,
  284    296   
    crate::error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError,
  285    297   
> {
  286    298   
    // Async block used to run the handler and catch any Python error.
  287    299   
    let result = if handler.is_coroutine {
  288    300   
        ::tracing::trace!(
  289    301   
            name = "query_params_targeting_map_of_list_of_length_pattern_string_operation",
  290    302   
            "executing python handler coroutine"
  291    303   
        );
  292    304   
        let result = ::pyo3::Python::with_gil(|py| {
  293    305   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  294    306   
            let coroutine = if handler.args == 1 {
  295    307   
                pyhandler.call1((input,))?
  296    308   
            } else {
  297    309   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  298    310   
            };
  299    311   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  300    312   
        })?;
  301    313   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput>(py)))
  302    314   
    } else {
  303    315   
        ::tracing::trace!(
  304    316   
            name = "query_params_targeting_map_of_list_of_length_pattern_string_operation",
  305    317   
            "executing python handler function"
  306    318   
        );
  307    319   
        ::pyo3::Python::with_gil(|py| {
  308    320   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  309    321   
            let output = if handler.args == 1 {
  310    322   
                pyhandler.call1((input,))?
  311    323   
            } else {
  312    324   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  313    325   
            };
  314    326   
            output.extract::<crate::output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput>()
  315    327   
        })
  316    328   
    };
  317    329   
    // Catch and record a Python traceback.
  318    330   
    result.map_err(|e| {
  319    331   
        let rich_py_err =
  320    332   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  321    333   
                e.clone_ref(py)
  322    334   
            }));
  323    335   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  324    336   
        e.into()
  325    337   
    })
  326    338   
}
  327    339   
  328    340   
/// Python handler for operation `QueryParamsTargetingMapOfLengthPatternStringOperation`.
  329    341   
pub(crate) async fn query_params_targeting_map_of_length_pattern_string_operation(
  330    342   
    input: crate::input::QueryParamsTargetingMapOfLengthPatternStringOperationInput,
  331         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         343  +
    state: ::aws_smithy_legacy_http_server::Extension<
         344  +
        ::aws_smithy_http_server_python::context::PyContext,
         345  +
    >,
  332    346   
    handler: ::aws_smithy_http_server_python::PyHandler,
  333    347   
) -> std::result::Result<
  334    348   
    crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput,
  335    349   
    crate::error::QueryParamsTargetingMapOfLengthPatternStringOperationError,
  336    350   
> {
  337    351   
    // Async block used to run the handler and catch any Python error.
  338    352   
    let result = if handler.is_coroutine {
  339    353   
        ::tracing::trace!(
  340    354   
            name = "query_params_targeting_map_of_length_pattern_string_operation",
  341    355   
            "executing python handler coroutine"
  342    356   
        );
  343    357   
        let result = ::pyo3::Python::with_gil(|py| {
  344    358   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  345    359   
            let coroutine = if handler.args == 1 {
  346    360   
                pyhandler.call1((input,))?
  347    361   
            } else {
  348    362   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  349    363   
            };
  350    364   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  351    365   
        })?;
  352    366   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput>(py)))
  353    367   
    } else {
  354    368   
        ::tracing::trace!(
  355    369   
            name = "query_params_targeting_map_of_length_pattern_string_operation",
  356    370   
            "executing python handler function"
  357    371   
        );
  358    372   
        ::pyo3::Python::with_gil(|py| {
  359    373   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  360    374   
            let output = if handler.args == 1 {
  361    375   
                pyhandler.call1((input,))?
  362    376   
            } else {
  363    377   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  364    378   
            };
  365    379   
            output.extract::<crate::output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput>()
  366    380   
        })
  367    381   
    };
  368    382   
    // Catch and record a Python traceback.
  369    383   
    result.map_err(|e| {
  370    384   
        let rich_py_err =
  371    385   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  372    386   
                e.clone_ref(py)
  373    387   
            }));
  374    388   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  375    389   
        e.into()
  376    390   
    })
  377    391   
}
  378    392   
  379    393   
/// Python handler for operation `QueryParamsTargetingMapOfListOfPatternStringOperation`.
  380    394   
pub(crate) async fn query_params_targeting_map_of_list_of_pattern_string_operation(
  381    395   
    input: crate::input::QueryParamsTargetingMapOfListOfPatternStringOperationInput,
  382         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         396  +
    state: ::aws_smithy_legacy_http_server::Extension<
         397  +
        ::aws_smithy_http_server_python::context::PyContext,
         398  +
    >,
  383    399   
    handler: ::aws_smithy_http_server_python::PyHandler,
  384    400   
) -> std::result::Result<
  385    401   
    crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput,
  386    402   
    crate::error::QueryParamsTargetingMapOfListOfPatternStringOperationError,
  387    403   
> {
  388    404   
    // Async block used to run the handler and catch any Python error.
  389    405   
    let result = if handler.is_coroutine {
  390    406   
        ::tracing::trace!(
  391    407   
            name = "query_params_targeting_map_of_list_of_pattern_string_operation",
  392    408   
            "executing python handler coroutine"
  393    409   
        );
  394    410   
        let result = ::pyo3::Python::with_gil(|py| {
  395    411   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  396    412   
            let coroutine = if handler.args == 1 {
  397    413   
                pyhandler.call1((input,))?
  398    414   
            } else {
  399    415   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  400    416   
            };
  401    417   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  402    418   
        })?;
  403    419   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput>(py)))
  404    420   
    } else {
  405    421   
        ::tracing::trace!(
  406    422   
            name = "query_params_targeting_map_of_list_of_pattern_string_operation",
  407    423   
            "executing python handler function"
  408    424   
        );
  409    425   
        ::pyo3::Python::with_gil(|py| {
  410    426   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  411    427   
            let output = if handler.args == 1 {
  412    428   
                pyhandler.call1((input,))?
  413    429   
            } else {
  414    430   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  415    431   
            };
  416    432   
            output.extract::<crate::output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput>()
  417    433   
        })
  418    434   
    };
  419    435   
    // Catch and record a Python traceback.
  420    436   
    result.map_err(|e| {
  421    437   
        let rich_py_err =
  422    438   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  423    439   
                e.clone_ref(py)
  424    440   
            }));
  425    441   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  426    442   
        e.into()
  427    443   
    })
  428    444   
}
  429    445   
  430    446   
/// Python handler for operation `QueryParamsTargetingMapOfPatternStringOperation`.
  431    447   
pub(crate) async fn query_params_targeting_map_of_pattern_string_operation(
  432    448   
    input: crate::input::QueryParamsTargetingMapOfPatternStringOperationInput,
  433         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         449  +
    state: ::aws_smithy_legacy_http_server::Extension<
         450  +
        ::aws_smithy_http_server_python::context::PyContext,
         451  +
    >,
  434    452   
    handler: ::aws_smithy_http_server_python::PyHandler,
  435    453   
) -> std::result::Result<
  436    454   
    crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput,
  437    455   
    crate::error::QueryParamsTargetingMapOfPatternStringOperationError,
  438    456   
> {
  439    457   
    // Async block used to run the handler and catch any Python error.
  440    458   
    let result = if handler.is_coroutine {
  441    459   
        ::tracing::trace!(
  442    460   
            name = "query_params_targeting_map_of_pattern_string_operation",
  443    461   
            "executing python handler coroutine"
  444    462   
        );
  445    463   
        let result = ::pyo3::Python::with_gil(|py| {
  446    464   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  447    465   
            let coroutine = if handler.args == 1 {
  448    466   
                pyhandler.call1((input,))?
  449    467   
            } else {
  450    468   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  451    469   
            };
  452    470   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  453    471   
        })?;
  454    472   
        result.await.and_then(|r| {
  455    473   
            ::pyo3::Python::with_gil(|py| {
  456    474   
                r.extract::<crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput>(
  457    475   
                    py,
  458    476   
                )
  459    477   
            })
  460    478   
        })
  461    479   
    } else {
  462    480   
        ::tracing::trace!(
  463    481   
            name = "query_params_targeting_map_of_pattern_string_operation",
  464    482   
            "executing python handler function"
  465    483   
        );
  466    484   
        ::pyo3::Python::with_gil(|py| {
  467    485   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  468    486   
            let output = if handler.args == 1 {
  469    487   
                pyhandler.call1((input,))?
  470    488   
            } else {
  471    489   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  472    490   
            };
  473    491   
            output.extract::<crate::output::QueryParamsTargetingMapOfPatternStringOperationOutput>()
  474    492   
        })
  475    493   
    };
  476    494   
    // Catch and record a Python traceback.
  477    495   
    result.map_err(|e| {
  478    496   
        let rich_py_err =
  479    497   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  480    498   
                e.clone_ref(py)
  481    499   
            }));
  482    500   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  483    501   
        e.into()
  484    502   
    })
  485    503   
}
  486    504   
  487    505   
/// Python handler for operation `QueryParamsTargetingMapOfListOfEnumStringOperation`.
  488    506   
pub(crate) async fn query_params_targeting_map_of_list_of_enum_string_operation(
  489    507   
    input: crate::input::QueryParamsTargetingMapOfListOfEnumStringOperationInput,
  490         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         508  +
    state: ::aws_smithy_legacy_http_server::Extension<
         509  +
        ::aws_smithy_http_server_python::context::PyContext,
         510  +
    >,
  491    511   
    handler: ::aws_smithy_http_server_python::PyHandler,
  492    512   
) -> std::result::Result<
  493    513   
    crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput,
  494    514   
    crate::error::QueryParamsTargetingMapOfListOfEnumStringOperationError,
  495    515   
> {
  496    516   
    // Async block used to run the handler and catch any Python error.
  497    517   
    let result = if handler.is_coroutine {
  498    518   
        ::tracing::trace!(
  499    519   
            name = "query_params_targeting_map_of_list_of_enum_string_operation",
  500    520   
            "executing python handler coroutine"
  501    521   
        );
  502    522   
        let result = ::pyo3::Python::with_gil(|py| {
  503    523   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  504    524   
            let coroutine = if handler.args == 1 {
  505    525   
                pyhandler.call1((input,))?
  506    526   
            } else {
  507    527   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  508    528   
            };
  509    529   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  510    530   
        })?;
  511    531   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput>(py)))
  512    532   
    } else {
  513    533   
        ::tracing::trace!(
  514    534   
            name = "query_params_targeting_map_of_list_of_enum_string_operation",
  515    535   
            "executing python handler function"
  516    536   
        );
  517    537   
        ::pyo3::Python::with_gil(|py| {
  518    538   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  519    539   
            let output = if handler.args == 1 {
  520    540   
                pyhandler.call1((input,))?
  521    541   
            } else {
  522    542   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  523    543   
            };
  524    544   
            output
  525    545   
                .extract::<crate::output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput>(
  526    546   
                )
  527    547   
        })
  528    548   
    };
  529    549   
    // Catch and record a Python traceback.
  530    550   
    result.map_err(|e| {
  531    551   
        let rich_py_err =
  532    552   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  533    553   
                e.clone_ref(py)
  534    554   
            }));
  535    555   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  536    556   
        e.into()
  537    557   
    })
  538    558   
}
  539    559   
  540    560   
/// Python handler for operation `QueryParamsTargetingMapOfLengthListOfPatternStringOperation`.
  541    561   
pub(crate) async fn query_params_targeting_map_of_length_list_of_pattern_string_operation(
  542    562   
    input: crate::input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput,
  543         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         563  +
    state: ::aws_smithy_legacy_http_server::Extension<
         564  +
        ::aws_smithy_http_server_python::context::PyContext,
         565  +
    >,
  544    566   
    handler: ::aws_smithy_http_server_python::PyHandler,
  545    567   
) -> std::result::Result<
  546    568   
    crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput,
  547    569   
    crate::error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError,
  548    570   
> {
  549    571   
    // Async block used to run the handler and catch any Python error.
  550    572   
    let result = if handler.is_coroutine {
  551    573   
        ::tracing::trace!(
  552    574   
            name = "query_params_targeting_map_of_length_list_of_pattern_string_operation",
  553    575   
            "executing python handler coroutine"
  554    576   
        );
  555    577   
        let result = ::pyo3::Python::with_gil(|py| {
  556    578   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  557    579   
            let coroutine = if handler.args == 1 {
  558    580   
                pyhandler.call1((input,))?
  559    581   
            } else {
  560    582   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  561    583   
            };
  562    584   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  563    585   
        })?;
  564    586   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput>(py)))
  565    587   
    } else {
  566    588   
        ::tracing::trace!(
  567    589   
            name = "query_params_targeting_map_of_length_list_of_pattern_string_operation",
  568    590   
            "executing python handler function"
  569    591   
        );
  570    592   
        ::pyo3::Python::with_gil(|py| {
  571    593   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  572    594   
            let output = if handler.args == 1 {
  573    595   
                pyhandler.call1((input,))?
  574    596   
            } else {
  575    597   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  576    598   
            };
  577    599   
            output.extract::<crate::output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput>()
  578    600   
        })
  579    601   
    };
  580    602   
    // Catch and record a Python traceback.
  581    603   
    result.map_err(|e| {
  582    604   
        let rich_py_err =
  583    605   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  584    606   
                e.clone_ref(py)
  585    607   
            }));
  586    608   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  587    609   
        e.into()
  588    610   
    })
  589    611   
}
  590    612   
  591    613   
/// Python handler for operation `QueryParamsTargetingMapOfSetOfLengthStringOperation`.
  592    614   
pub(crate) async fn query_params_targeting_map_of_set_of_length_string_operation(
  593    615   
    input: crate::input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput,
  594         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         616  +
    state: ::aws_smithy_legacy_http_server::Extension<
         617  +
        ::aws_smithy_http_server_python::context::PyContext,
         618  +
    >,
  595    619   
    handler: ::aws_smithy_http_server_python::PyHandler,
  596    620   
) -> std::result::Result<
  597    621   
    crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput,
  598    622   
    crate::error::QueryParamsTargetingMapOfSetOfLengthStringOperationError,
  599    623   
> {
  600    624   
    // Async block used to run the handler and catch any Python error.
  601    625   
    let result = if handler.is_coroutine {
  602    626   
        ::tracing::trace!(
  603    627   
            name = "query_params_targeting_map_of_set_of_length_string_operation",
  604    628   
            "executing python handler coroutine"
  605    629   
        );
  606    630   
        let result = ::pyo3::Python::with_gil(|py| {
  607    631   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  608    632   
            let coroutine = if handler.args == 1 {
  609    633   
                pyhandler.call1((input,))?
  610    634   
            } else {
  611    635   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  612    636   
            };
  613    637   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  614    638   
        })?;
  615    639   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput>(py)))
  616    640   
    } else {
  617    641   
        ::tracing::trace!(
  618    642   
            name = "query_params_targeting_map_of_set_of_length_string_operation",
  619    643   
            "executing python handler function"
  620    644   
        );
  621    645   
        ::pyo3::Python::with_gil(|py| {
  622    646   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  623    647   
            let output = if handler.args == 1 {
  624    648   
                pyhandler.call1((input,))?
  625    649   
            } else {
  626    650   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  627    651   
            };
  628    652   
            output.extract::<crate::output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput>()
  629    653   
        })
  630    654   
    };
  631    655   
    // Catch and record a Python traceback.
  632    656   
    result.map_err(|e| {
  633    657   
        let rich_py_err =
  634    658   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  635    659   
                e.clone_ref(py)
  636    660   
            }));
  637    661   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  638    662   
        e.into()
  639    663   
    })
  640    664   
}
  641    665   
  642    666   
/// Python handler for operation `QueryParamsTargetingMapOfListOfLengthStringOperation`.
  643    667   
pub(crate) async fn query_params_targeting_map_of_list_of_length_string_operation(
  644    668   
    input: crate::input::QueryParamsTargetingMapOfListOfLengthStringOperationInput,
  645         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         669  +
    state: ::aws_smithy_legacy_http_server::Extension<
         670  +
        ::aws_smithy_http_server_python::context::PyContext,
         671  +
    >,
  646    672   
    handler: ::aws_smithy_http_server_python::PyHandler,
  647    673   
) -> std::result::Result<
  648    674   
    crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput,
  649    675   
    crate::error::QueryParamsTargetingMapOfListOfLengthStringOperationError,
  650    676   
> {
  651    677   
    // Async block used to run the handler and catch any Python error.
  652    678   
    let result = if handler.is_coroutine {
  653    679   
        ::tracing::trace!(
  654    680   
            name = "query_params_targeting_map_of_list_of_length_string_operation",
  655    681   
            "executing python handler coroutine"
  656    682   
        );
  657    683   
        let result = ::pyo3::Python::with_gil(|py| {
  658    684   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  659    685   
            let coroutine = if handler.args == 1 {
  660    686   
                pyhandler.call1((input,))?
  661    687   
            } else {
  662    688   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  663    689   
            };
  664    690   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  665    691   
        })?;
  666    692   
        result.await.and_then(|r| ::pyo3::Python::with_gil(|py| r.extract::<crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput>(py)))
  667    693   
    } else {
  668    694   
        ::tracing::trace!(
  669    695   
            name = "query_params_targeting_map_of_list_of_length_string_operation",
  670    696   
            "executing python handler function"
  671    697   
        );
  672    698   
        ::pyo3::Python::with_gil(|py| {
  673    699   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  674    700   
            let output = if handler.args == 1 {
  675    701   
                pyhandler.call1((input,))?
  676    702   
            } else {
  677    703   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  678    704   
            };
  679    705   
            output.extract::<crate::output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput>()
  680    706   
        })
  681    707   
    };
  682    708   
    // Catch and record a Python traceback.
  683    709   
    result.map_err(|e| {
  684    710   
        let rich_py_err =
  685    711   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  686    712   
                e.clone_ref(py)
  687    713   
            }));
  688    714   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  689    715   
        e.into()
  690    716   
    })
  691    717   
}
  692    718   
  693    719   
/// Python handler for operation `QueryParamsTargetingMapOfLengthStringOperation`.
  694    720   
pub(crate) async fn query_params_targeting_map_of_length_string_operation(
  695    721   
    input: crate::input::QueryParamsTargetingMapOfLengthStringOperationInput,
  696         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         722  +
    state: ::aws_smithy_legacy_http_server::Extension<
         723  +
        ::aws_smithy_http_server_python::context::PyContext,
         724  +
    >,
  697    725   
    handler: ::aws_smithy_http_server_python::PyHandler,
  698    726   
) -> std::result::Result<
  699    727   
    crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput,
  700    728   
    crate::error::QueryParamsTargetingMapOfLengthStringOperationError,
  701    729   
> {
  702    730   
    // Async block used to run the handler and catch any Python error.
  703    731   
    let result = if handler.is_coroutine {
  704    732   
        ::tracing::trace!(
  705    733   
            name = "query_params_targeting_map_of_length_string_operation",
  706    734   
            "executing python handler coroutine"
  707    735   
        );
  708    736   
        let result = ::pyo3::Python::with_gil(|py| {
  709    737   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  710    738   
            let coroutine = if handler.args == 1 {
  711    739   
                pyhandler.call1((input,))?
  712    740   
            } else {
  713    741   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  714    742   
            };
  715    743   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  716    744   
        })?;
  717    745   
        result.await.and_then(|r| {
  718    746   
            ::pyo3::Python::with_gil(|py| {
  719    747   
                r.extract::<crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput>(py)
  720    748   
            })
  721    749   
        })
  722    750   
    } else {
  723    751   
        ::tracing::trace!(
  724    752   
            name = "query_params_targeting_map_of_length_string_operation",
  725    753   
            "executing python handler function"
  726    754   
        );
  727    755   
        ::pyo3::Python::with_gil(|py| {
  728    756   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  729    757   
            let output = if handler.args == 1 {
  730    758   
                pyhandler.call1((input,))?
  731    759   
            } else {
  732    760   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  733    761   
            };
  734    762   
            output.extract::<crate::output::QueryParamsTargetingMapOfLengthStringOperationOutput>()
  735    763   
        })
  736    764   
    };
  737    765   
    // Catch and record a Python traceback.
  738    766   
    result.map_err(|e| {
  739    767   
        let rich_py_err =
  740    768   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  741    769   
                e.clone_ref(py)
  742    770   
            }));
  743    771   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  744    772   
        e.into()
  745    773   
    })
  746    774   
}
  747    775   
  748    776   
/// Python handler for operation `QueryParamsTargetingLengthMapOperation`.
  749    777   
pub(crate) async fn query_params_targeting_length_map_operation(
  750    778   
    input: crate::input::QueryParamsTargetingLengthMapOperationInput,
  751         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         779  +
    state: ::aws_smithy_legacy_http_server::Extension<
         780  +
        ::aws_smithy_http_server_python::context::PyContext,
         781  +
    >,
  752    782   
    handler: ::aws_smithy_http_server_python::PyHandler,
  753    783   
) -> std::result::Result<
  754    784   
    crate::output::QueryParamsTargetingLengthMapOperationOutput,
  755    785   
    crate::error::QueryParamsTargetingLengthMapOperationError,
  756    786   
> {
  757    787   
    // Async block used to run the handler and catch any Python error.
  758    788   
    let result = if handler.is_coroutine {
  759    789   
        ::tracing::trace!(
  760    790   
            name = "query_params_targeting_length_map_operation",
  761    791   
            "executing python handler coroutine"
  762    792   
        );
  763    793   
        let result = ::pyo3::Python::with_gil(|py| {
  764    794   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  765    795   
            let coroutine = if handler.args == 1 {
  766    796   
                pyhandler.call1((input,))?
  767    797   
            } else {
  768    798   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  769    799   
            };
  770    800   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  771    801   
        })?;
  772    802   
        result.await.and_then(|r| {
  773    803   
            ::pyo3::Python::with_gil(|py| {
  774    804   
                r.extract::<crate::output::QueryParamsTargetingLengthMapOperationOutput>(py)
  775    805   
            })
  776    806   
        })
  777    807   
    } else {
  778    808   
        ::tracing::trace!(
  779    809   
            name = "query_params_targeting_length_map_operation",
  780    810   
            "executing python handler function"
  781    811   
        );
  782    812   
        ::pyo3::Python::with_gil(|py| {
  783    813   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  784    814   
            let output = if handler.args == 1 {
  785    815   
                pyhandler.call1((input,))?
  786    816   
            } else {
  787    817   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  788    818   
            };
  789    819   
            output.extract::<crate::output::QueryParamsTargetingLengthMapOperationOutput>()
  790    820   
        })
  791    821   
    };
  792    822   
    // Catch and record a Python traceback.
  793    823   
    result.map_err(|e| {
  794    824   
        let rich_py_err =
  795    825   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  796    826   
                e.clone_ref(py)
  797    827   
            }));
  798    828   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  799    829   
        e.into()
  800    830   
    })
  801    831   
}
  802    832   
  803    833   
/// Python handler for operation `ConstrainedRecursiveShapesOperation`.
  804    834   
pub(crate) async fn constrained_recursive_shapes_operation(
  805    835   
    input: crate::input::ConstrainedRecursiveShapesOperationInput,
  806         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         836  +
    state: ::aws_smithy_legacy_http_server::Extension<
         837  +
        ::aws_smithy_http_server_python::context::PyContext,
         838  +
    >,
  807    839   
    handler: ::aws_smithy_http_server_python::PyHandler,
  808    840   
) -> std::result::Result<
  809    841   
    crate::output::ConstrainedRecursiveShapesOperationOutput,
  810    842   
    crate::error::ConstrainedRecursiveShapesOperationError,
  811    843   
> {
  812    844   
    // Async block used to run the handler and catch any Python error.
  813    845   
    let result = if handler.is_coroutine {
  814    846   
        ::tracing::trace!(
  815    847   
            name = "constrained_recursive_shapes_operation",
  816    848   
            "executing python handler coroutine"
  817    849   
        );
  818    850   
        let result = ::pyo3::Python::with_gil(|py| {
  819    851   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  820    852   
            let coroutine = if handler.args == 1 {
  821    853   
                pyhandler.call1((input,))?
  822    854   
            } else {
  823    855   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  824    856   
            };
  825    857   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  826    858   
        })?;
  827    859   
        result.await.and_then(|r| {
  828    860   
            ::pyo3::Python::with_gil(|py| {
  829    861   
                r.extract::<crate::output::ConstrainedRecursiveShapesOperationOutput>(py)
  830    862   
            })
  831    863   
        })
  832    864   
    } else {
  833    865   
        ::tracing::trace!(
  834    866   
            name = "constrained_recursive_shapes_operation",
  835    867   
            "executing python handler function"
  836    868   
        );
  837    869   
        ::pyo3::Python::with_gil(|py| {
  838    870   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  839    871   
            let output = if handler.args == 1 {
  840    872   
                pyhandler.call1((input,))?
  841    873   
            } else {
  842    874   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  843    875   
            };
  844    876   
            output.extract::<crate::output::ConstrainedRecursiveShapesOperationOutput>()
  845    877   
        })
  846    878   
    };
  847    879   
    // Catch and record a Python traceback.
  848    880   
    result.map_err(|e| {
  849    881   
        let rich_py_err =
  850    882   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  851    883   
                e.clone_ref(py)
  852    884   
            }));
  853    885   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  854    886   
        e.into()
  855    887   
    })
  856    888   
}
  857    889   
  858    890   
/// Python handler for operation `ConstrainedHttpPayloadBoundShapeOperation`.
  859    891   
pub(crate) async fn constrained_http_payload_bound_shape_operation(
  860    892   
    input: crate::input::ConstrainedHttpPayloadBoundShapeOperationInput,
  861         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         893  +
    state: ::aws_smithy_legacy_http_server::Extension<
         894  +
        ::aws_smithy_http_server_python::context::PyContext,
         895  +
    >,
  862    896   
    handler: ::aws_smithy_http_server_python::PyHandler,
  863    897   
) -> std::result::Result<
  864    898   
    crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput,
  865    899   
    crate::error::ConstrainedHttpPayloadBoundShapeOperationError,
  866    900   
> {
  867    901   
    // Async block used to run the handler and catch any Python error.
  868    902   
    let result = if handler.is_coroutine {
  869    903   
        ::tracing::trace!(
  870    904   
            name = "constrained_http_payload_bound_shape_operation",
  871    905   
            "executing python handler coroutine"
  872    906   
        );
  873    907   
        let result = ::pyo3::Python::with_gil(|py| {
  874    908   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  875    909   
            let coroutine = if handler.args == 1 {
  876    910   
                pyhandler.call1((input,))?
  877    911   
            } else {
  878    912   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  879    913   
            };
  880    914   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  881    915   
        })?;
  882    916   
        result.await.and_then(|r| {
  883    917   
            ::pyo3::Python::with_gil(|py| {
  884    918   
                r.extract::<crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput>(py)
  885    919   
            })
  886    920   
        })
  887    921   
    } else {
  888    922   
        ::tracing::trace!(
  889    923   
            name = "constrained_http_payload_bound_shape_operation",
  890    924   
            "executing python handler function"
  891    925   
        );
  892    926   
        ::pyo3::Python::with_gil(|py| {
  893    927   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  894    928   
            let output = if handler.args == 1 {
  895    929   
                pyhandler.call1((input,))?
  896    930   
            } else {
  897    931   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  898    932   
            };
  899    933   
            output.extract::<crate::output::ConstrainedHttpPayloadBoundShapeOperationOutput>()
  900    934   
        })
  901    935   
    };
  902    936   
    // Catch and record a Python traceback.
  903    937   
    result.map_err(|e| {
  904    938   
        let rich_py_err =
  905    939   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  906    940   
                e.clone_ref(py)
  907    941   
            }));
  908    942   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  909    943   
        e.into()
  910    944   
    })
  911    945   
}
  912    946   
  913    947   
/// Python handler for operation `ConstrainedHttpBoundShapesOperation`.
  914    948   
pub(crate) async fn constrained_http_bound_shapes_operation(
  915    949   
    input: crate::input::ConstrainedHttpBoundShapesOperationInput,
  916         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         950  +
    state: ::aws_smithy_legacy_http_server::Extension<
         951  +
        ::aws_smithy_http_server_python::context::PyContext,
         952  +
    >,
  917    953   
    handler: ::aws_smithy_http_server_python::PyHandler,
  918    954   
) -> std::result::Result<
  919    955   
    crate::output::ConstrainedHttpBoundShapesOperationOutput,
  920    956   
    crate::error::ConstrainedHttpBoundShapesOperationError,
  921    957   
> {
  922    958   
    // Async block used to run the handler and catch any Python error.
  923    959   
    let result = if handler.is_coroutine {
  924    960   
        ::tracing::trace!(
  925    961   
            name = "constrained_http_bound_shapes_operation",
  926    962   
            "executing python handler coroutine"
  927    963   
        );
  928    964   
        let result = ::pyo3::Python::with_gil(|py| {
  929    965   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  930    966   
            let coroutine = if handler.args == 1 {
  931    967   
                pyhandler.call1((input,))?
  932    968   
            } else {
  933    969   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  934    970   
            };
  935    971   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  936    972   
        })?;
  937    973   
        result.await.and_then(|r| {
  938    974   
            ::pyo3::Python::with_gil(|py| {
  939    975   
                r.extract::<crate::output::ConstrainedHttpBoundShapesOperationOutput>(py)
  940    976   
            })
  941    977   
        })
  942    978   
    } else {
  943    979   
        ::tracing::trace!(
  944    980   
            name = "constrained_http_bound_shapes_operation",
  945    981   
            "executing python handler function"
  946    982   
        );
  947    983   
        ::pyo3::Python::with_gil(|py| {
  948    984   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  949    985   
            let output = if handler.args == 1 {
  950    986   
                pyhandler.call1((input,))?
  951    987   
            } else {
  952    988   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  953    989   
            };
  954    990   
            output.extract::<crate::output::ConstrainedHttpBoundShapesOperationOutput>()
  955    991   
        })
  956    992   
    };
  957    993   
    // Catch and record a Python traceback.
  958    994   
    result.map_err(|e| {
  959    995   
        let rich_py_err =
  960    996   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  961    997   
                e.clone_ref(py)
  962    998   
            }));
  963    999   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  964   1000   
        e.into()
  965   1001   
    })
  966   1002   
}
  967   1003   
  968   1004   
/// Python handler for operation `ConstrainedShapesOnlyInOutputOperation`.
  969   1005   
pub(crate) async fn constrained_shapes_only_in_output_operation(
  970   1006   
    input: crate::input::ConstrainedShapesOnlyInOutputOperationInput,
  971         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
        1007  +
    state: ::aws_smithy_legacy_http_server::Extension<
        1008  +
        ::aws_smithy_http_server_python::context::PyContext,
        1009  +
    >,
  972   1010   
    handler: ::aws_smithy_http_server_python::PyHandler,
  973   1011   
) -> std::result::Result<
  974   1012   
    crate::output::ConstrainedShapesOnlyInOutputOperationOutput,
  975   1013   
    crate::error::ConstrainedShapesOnlyInOutputOperationError,
  976   1014   
> {
  977   1015   
    // Async block used to run the handler and catch any Python error.
  978   1016   
    let result = if handler.is_coroutine {
  979   1017   
        ::tracing::trace!(
  980   1018   
            name = "constrained_shapes_only_in_output_operation",
  981   1019   
            "executing python handler coroutine"
  982   1020   
        );
  983   1021   
        let result = ::pyo3::Python::with_gil(|py| {
  984   1022   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  985   1023   
            let coroutine = if handler.args == 1 {
  986   1024   
                pyhandler.call1((input,))?
  987   1025   
            } else {
  988   1026   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  989   1027   
            };
  990   1028   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  991   1029   
        })?;
  992   1030   
        result.await.and_then(|r| {
  993   1031   
            ::pyo3::Python::with_gil(|py| {
  994   1032   
                r.extract::<crate::output::ConstrainedShapesOnlyInOutputOperationOutput>(py)
  995   1033   
            })
  996   1034   
        })
  997   1035   
    } else {
  998   1036   
        ::tracing::trace!(
  999   1037   
            name = "constrained_shapes_only_in_output_operation",
 1000   1038   
            "executing python handler function"
 1001   1039   
        );
 1002   1040   
        ::pyo3::Python::with_gil(|py| {
 1003   1041   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
 1004   1042   
            let output = if handler.args == 1 {
 1005   1043   
                pyhandler.call1((input,))?
 1006   1044   
            } else {
 1007   1045   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
 1008   1046   
            };
 1009   1047   
            output.extract::<crate::output::ConstrainedShapesOnlyInOutputOperationOutput>()
 1010   1048   
        })
 1011   1049   
    };
 1012   1050   
    // Catch and record a Python traceback.
 1013   1051   
    result.map_err(|e| {
 1014   1052   
        let rich_py_err =
 1015   1053   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
 1016   1054   
                e.clone_ref(py)
 1017   1055   
            }));
 1018   1056   
        ::tracing::error!(error = ?rich_py_err, "handler error");
 1019   1057   
        e.into()
 1020   1058   
    })
 1021   1059   
}
 1022   1060   
 1023   1061   
/// Python handler for operation `ConstrainedShapesOperation`.
 1024   1062   
pub(crate) async fn constrained_shapes_operation(
 1025   1063   
    input: crate::input::ConstrainedShapesOperationInput,
 1026         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
        1064  +
    state: ::aws_smithy_legacy_http_server::Extension<
        1065  +
        ::aws_smithy_http_server_python::context::PyContext,
        1066  +
    >,
 1027   1067   
    handler: ::aws_smithy_http_server_python::PyHandler,
 1028   1068   
) -> std::result::Result<
 1029   1069   
    crate::output::ConstrainedShapesOperationOutput,
 1030   1070   
    crate::error::ConstrainedShapesOperationError,
 1031   1071   
> {
 1032   1072   
    // Async block used to run the handler and catch any Python error.
 1033   1073   
    let result = if handler.is_coroutine {
 1034   1074   
        ::tracing::trace!(
 1035   1075   
            name = "constrained_shapes_operation",
 1036   1076   
            "executing python handler coroutine"

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

@@ -132,132 +193,193 @@
  152    152   
    fn handlers(
  153    153   
        &mut self,
  154    154   
    ) -> &mut ::std::collections::HashMap<String, ::aws_smithy_http_server_python::PyHandler> {
  155    155   
        &mut self.handlers
  156    156   
    }
  157    157   
    fn build_service(
  158    158   
        &mut self,
  159    159   
        event_loop: &::pyo3::PyAny,
  160    160   
    ) -> ::pyo3::PyResult<
  161    161   
        ::tower::util::BoxCloneService<
  162         -
            ::http::Request<::aws_smithy_http_server::body::Body>,
  163         -
            ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         162  +
            ::http::Request<::aws_smithy_legacy_http_server::body::Body>,
         163  +
            ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  164    164   
            std::convert::Infallible,
  165    165   
        >,
  166    166   
    > {
  167    167   
        let builder = crate::service::ConstraintsService::builder_without_plugins();
  168    168   
        let constrained_http_bound_shapes_operation_locals =
  169    169   
            ::pyo3_asyncio::TaskLocals::new(event_loop);
  170    170   
        let handler = self
  171    171   
            .handlers
  172    172   
            .get("constrained_http_bound_shapes_operation")
  173    173   
            .expect(
@@ -358,358 +418,418 @@
  378    378   
        {
  379    379   
            use ::tower::Layer;
  380    380   
            ::tracing::trace!("adding middlewares to rust python router");
  381    381   
            let mut middlewares = self.middlewares.clone();
  382    382   
            // Reverse the middlewares, so they run with same order as they defined
  383    383   
            middlewares.reverse();
  384    384   
            for handler in middlewares {
  385    385   
                ::tracing::trace!(name = &handler.name, "adding python middleware");
  386    386   
                let locals = ::pyo3_asyncio::TaskLocals::new(event_loop);
  387    387   
                let layer = ::aws_smithy_http_server_python::PyMiddlewareLayer::<
  388         -
                    ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         388  +
                    ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
  389    389   
                >::new(handler, locals);
  390    390   
                service = ::tower::util::BoxCloneService::new(layer.layer(service));
  391    391   
            }
  392    392   
        }
  393    393   
        Ok(service)
  394    394   
    }
  395    395   
}
  396    396   
#[::pyo3::pymethods]
  397    397   
impl App {
  398    398   
    /// Create a new [App].

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

@@ -1,1 +3174,3218 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// The service builder for [`ConstraintsService`].
    3      3   
///
    4      4   
/// Constructed via [`ConstraintsService::builder`].
    5      5   
pub struct ConstraintsServiceBuilder<Body, L, HttpPl, ModelPl> {
    6         -
    constrained_http_bound_shapes_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
           6  +
    constrained_http_bound_shapes_operation:
           7  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
    7      8   
    constrained_http_payload_bound_shape_operation:
    8         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
    9         -
    constrained_recursive_shapes_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
           9  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          10  +
    constrained_recursive_shapes_operation:
          11  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   10     12   
    constrained_shapes_only_in_output_operation:
   11         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
   12         -
    constrained_shapes_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
   13         -
    event_streams_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
          13  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          14  +
    constrained_shapes_operation: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          15  +
    event_streams_operation: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   14     16   
    http_prefix_headers_targeting_length_map_operation:
   15         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
   16         -
    non_streaming_blob_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
          17  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          18  +
    non_streaming_blob_operation: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   17     19   
    query_params_targeting_length_map_operation:
   18         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          20  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   19     21   
    query_params_targeting_map_of_enum_string_operation:
   20         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          22  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   21     23   
    query_params_targeting_map_of_length_list_of_pattern_string_operation:
   22         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          24  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   23     25   
    query_params_targeting_map_of_length_pattern_string_operation:
   24         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          26  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   25     27   
    query_params_targeting_map_of_length_string_operation:
   26         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          28  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   27     29   
    query_params_targeting_map_of_list_of_enum_string_operation:
   28         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          30  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   29     31   
    query_params_targeting_map_of_list_of_length_pattern_string_operation:
   30         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          32  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   31     33   
    query_params_targeting_map_of_list_of_length_string_operation:
   32         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          34  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   33     35   
    query_params_targeting_map_of_list_of_pattern_string_operation:
   34         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          36  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   35     37   
    query_params_targeting_map_of_pattern_string_operation:
   36         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
          38  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   37     39   
    query_params_targeting_map_of_set_of_length_string_operation:
   38         -
        Option<::aws_smithy_http_server::routing::Route<Body>>,
   39         -
    streaming_blob_operation: Option<::aws_smithy_http_server::routing::Route<Body>>,
          40  +
        Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          41  +
    streaming_blob_operation: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   40     42   
    layer: L,
   41     43   
    http_plugin: HttpPl,
   42     44   
    model_plugin: ModelPl,
   43     45   
}
   44     46   
   45     47   
impl<Body, L, HttpPl, ModelPl> ConstraintsServiceBuilder<Body, L, HttpPl, ModelPl> {
   46     48   
    /// Sets the [`ConstrainedHttpBoundShapesOperation`](crate::operation_shape::ConstrainedHttpBoundShapesOperation) operation.
   47     49   
    ///
   48         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
   49         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
          50  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
          51  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
   50     52   
    ///
   51     53   
    /// # Example
   52     54   
    ///
   53     55   
    /// ```no_run
   54     56   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
   55     57   
    ///
   56     58   
    /// use constraints::{input, output, error};
   57     59   
    ///
   58     60   
    /// async fn handler(input: input::ConstrainedHttpBoundShapesOperationInput) -> Result<output::ConstrainedHttpBoundShapesOperationOutput, error::ConstrainedHttpBoundShapesOperationError> {
   59     61   
    ///     todo!()
   60     62   
    /// }
   61     63   
    ///
   62     64   
    /// let config = ConstraintsServiceConfig::builder().build();
   63     65   
    /// let app = ConstraintsService::builder(config)
   64     66   
    ///     .constrained_http_bound_shapes_operation(handler)
   65     67   
    ///     /* Set other handlers */
   66     68   
    ///     .build()
   67     69   
    ///     .unwrap();
   68         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
          70  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
   69     71   
    /// ```
   70     72   
    ///
   71     73   
                    pub fn constrained_http_bound_shapes_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
   72     74   
                    where
   73         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ConstrainedHttpBoundShapesOperation, HandlerExtractors>,
          75  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ConstrainedHttpBoundShapesOperation, HandlerExtractors>,
   74     76   
   75         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
          77  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
   76     78   
                            ConstraintsService<L>,
   77     79   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
   78         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ConstrainedHttpBoundShapesOperation, HandlerType>
          80  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ConstrainedHttpBoundShapesOperation, HandlerType>
   79     81   
                        >,
   80         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
          82  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
   81     83   
                            ConstraintsService<L>,
   82     84   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
   83     85   
                            ModelPl::Output
   84     86   
                        >,
   85         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
          87  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
   86     88   
                            ConstraintsService<L>,
   87     89   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
   88     90   
                            <
   89         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
   90         -
                                as ::aws_smithy_http_server::plugin::Plugin<
          91  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
          92  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
   91     93   
                                    ConstraintsService<L>,
   92     94   
                                    crate::operation_shape::ConstrainedHttpBoundShapesOperation,
   93     95   
                                    ModelPl::Output
   94     96   
                                >
   95     97   
                            >::Output
   96     98   
                        >,
   97     99   
   98         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         100  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
   99    101   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  100    102   
  101    103   
                    {
  102         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  103         -
        use ::aws_smithy_http_server::plugin::Plugin;
         104  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         105  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  104    106   
        let svc =
  105    107   
            crate::operation_shape::ConstrainedHttpBoundShapesOperation::from_handler(handler);
  106    108   
        let svc = self.model_plugin.apply(svc);
  107         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         109  +
        let svc =
         110  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  108    111   
                .apply(svc);
  109    112   
        let svc = self.http_plugin.apply(svc);
  110    113   
        self.constrained_http_bound_shapes_operation_custom(svc)
  111    114   
    }
  112    115   
  113    116   
    /// Sets the [`ConstrainedHttpBoundShapesOperation`](crate::operation_shape::ConstrainedHttpBoundShapesOperation) operation.
  114    117   
    ///
  115         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  116         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         118  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         119  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  117    120   
    ///
  118    121   
    /// # Example
  119    122   
    ///
  120    123   
    /// ```no_run
  121    124   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  122    125   
    ///
  123    126   
    /// use constraints::{input, output, error};
  124    127   
    ///
  125    128   
    /// async fn handler(input: input::ConstrainedHttpBoundShapesOperationInput) -> Result<output::ConstrainedHttpBoundShapesOperationOutput, error::ConstrainedHttpBoundShapesOperationError> {
  126    129   
    ///     todo!()
  127    130   
    /// }
  128    131   
    ///
  129    132   
    /// let config = ConstraintsServiceConfig::builder().build();
  130    133   
    /// let svc = ::tower::util::service_fn(handler);
  131    134   
    /// let app = ConstraintsService::builder(config)
  132    135   
    ///     .constrained_http_bound_shapes_operation_service(svc)
  133    136   
    ///     /* Set other handlers */
  134    137   
    ///     .build()
  135    138   
    ///     .unwrap();
  136         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         139  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  137    140   
    /// ```
  138    141   
    ///
  139    142   
                    pub fn constrained_http_bound_shapes_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  140    143   
                    where
  141         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ConstrainedHttpBoundShapesOperation, ServiceExtractors>,
         144  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ConstrainedHttpBoundShapesOperation, ServiceExtractors>,
  142    145   
  143         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         146  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  144    147   
                            ConstraintsService<L>,
  145    148   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
  146         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ConstrainedHttpBoundShapesOperation, S>
         149  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ConstrainedHttpBoundShapesOperation, S>
  147    150   
                        >,
  148         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         151  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  149    152   
                            ConstraintsService<L>,
  150    153   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
  151    154   
                            ModelPl::Output
  152    155   
                        >,
  153         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         156  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  154    157   
                            ConstraintsService<L>,
  155    158   
                            crate::operation_shape::ConstrainedHttpBoundShapesOperation,
  156    159   
                            <
  157         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  158         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         160  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         161  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  159    162   
                                    ConstraintsService<L>,
  160    163   
                                    crate::operation_shape::ConstrainedHttpBoundShapesOperation,
  161    164   
                                    ModelPl::Output
  162    165   
                                >
  163    166   
                            >::Output
  164    167   
                        >,
  165    168   
  166         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         169  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  167    170   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  168    171   
  169    172   
                    {
  170         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  171         -
        use ::aws_smithy_http_server::plugin::Plugin;
         173  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         174  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  172    175   
        let svc =
  173    176   
            crate::operation_shape::ConstrainedHttpBoundShapesOperation::from_service(service);
  174    177   
        let svc = self.model_plugin.apply(svc);
  175         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         178  +
        let svc =
         179  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  176    180   
                .apply(svc);
  177    181   
        let svc = self.http_plugin.apply(svc);
  178    182   
        self.constrained_http_bound_shapes_operation_custom(svc)
  179    183   
    }
  180    184   
  181    185   
    /// Sets the [`ConstrainedHttpBoundShapesOperation`](crate::operation_shape::ConstrainedHttpBoundShapesOperation) to a custom [`Service`](tower::Service).
  182    186   
    /// not constrained by the Smithy contract.
  183    187   
    fn constrained_http_bound_shapes_operation_custom<S>(mut self, svc: S) -> Self
  184    188   
    where
  185    189   
        S: ::tower::Service<
  186    190   
                ::http::Request<Body>,
  187         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         191  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  188    192   
                Error = ::std::convert::Infallible,
  189    193   
            > + Clone
  190    194   
            + Send
  191    195   
            + 'static,
  192    196   
        S::Future: Send + 'static,
  193    197   
    {
  194    198   
        self.constrained_http_bound_shapes_operation =
  195         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
         199  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  196    200   
        self
  197    201   
    }
  198    202   
  199    203   
    /// Sets the [`ConstrainedHttpPayloadBoundShapeOperation`](crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation) operation.
  200    204   
    ///
  201         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  202         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         205  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         206  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  203    207   
    ///
  204    208   
    /// # Example
  205    209   
    ///
  206    210   
    /// ```no_run
  207    211   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  208    212   
    ///
  209    213   
    /// use constraints::{input, output, error};
  210    214   
    ///
  211    215   
    /// async fn handler(input: input::ConstrainedHttpPayloadBoundShapeOperationInput) -> Result<output::ConstrainedHttpPayloadBoundShapeOperationOutput, error::ConstrainedHttpPayloadBoundShapeOperationError> {
  212    216   
    ///     todo!()
  213    217   
    /// }
  214    218   
    ///
  215    219   
    /// let config = ConstraintsServiceConfig::builder().build();
  216    220   
    /// let app = ConstraintsService::builder(config)
  217    221   
    ///     .constrained_http_payload_bound_shape_operation(handler)
  218    222   
    ///     /* Set other handlers */
  219    223   
    ///     .build()
  220    224   
    ///     .unwrap();
  221         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         225  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  222    226   
    /// ```
  223    227   
    ///
  224    228   
                    pub fn constrained_http_payload_bound_shape_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  225    229   
                    where
  226         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, HandlerExtractors>,
         230  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, HandlerExtractors>,
  227    231   
  228         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         232  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  229    233   
                            ConstraintsService<L>,
  230    234   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  231         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, HandlerType>
         235  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, HandlerType>
  232    236   
                        >,
  233         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         237  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  234    238   
                            ConstraintsService<L>,
  235    239   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  236    240   
                            ModelPl::Output
  237    241   
                        >,
  238         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         242  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  239    243   
                            ConstraintsService<L>,
  240    244   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  241    245   
                            <
  242         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  243         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         246  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         247  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  244    248   
                                    ConstraintsService<L>,
  245    249   
                                    crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  246    250   
                                    ModelPl::Output
  247    251   
                                >
  248    252   
                            >::Output
  249    253   
                        >,
  250    254   
  251         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         255  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  252    256   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  253    257   
  254    258   
                    {
  255         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  256         -
        use ::aws_smithy_http_server::plugin::Plugin;
         259  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         260  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  257    261   
        let svc = crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation::from_handler(
  258    262   
            handler,
  259    263   
        );
  260    264   
        let svc = self.model_plugin.apply(svc);
  261         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         265  +
        let svc =
         266  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  262    267   
                .apply(svc);
  263    268   
        let svc = self.http_plugin.apply(svc);
  264    269   
        self.constrained_http_payload_bound_shape_operation_custom(svc)
  265    270   
    }
  266    271   
  267    272   
    /// Sets the [`ConstrainedHttpPayloadBoundShapeOperation`](crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation) operation.
  268    273   
    ///
  269         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  270         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         274  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         275  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  271    276   
    ///
  272    277   
    /// # Example
  273    278   
    ///
  274    279   
    /// ```no_run
  275    280   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  276    281   
    ///
  277    282   
    /// use constraints::{input, output, error};
  278    283   
    ///
  279    284   
    /// async fn handler(input: input::ConstrainedHttpPayloadBoundShapeOperationInput) -> Result<output::ConstrainedHttpPayloadBoundShapeOperationOutput, error::ConstrainedHttpPayloadBoundShapeOperationError> {
  280    285   
    ///     todo!()
  281    286   
    /// }
  282    287   
    ///
  283    288   
    /// let config = ConstraintsServiceConfig::builder().build();
  284    289   
    /// let svc = ::tower::util::service_fn(handler);
  285    290   
    /// let app = ConstraintsService::builder(config)
  286    291   
    ///     .constrained_http_payload_bound_shape_operation_service(svc)
  287    292   
    ///     /* Set other handlers */
  288    293   
    ///     .build()
  289    294   
    ///     .unwrap();
  290         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         295  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  291    296   
    /// ```
  292    297   
    ///
  293    298   
                    pub fn constrained_http_payload_bound_shape_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  294    299   
                    where
  295         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, ServiceExtractors>,
         300  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, ServiceExtractors>,
  296    301   
  297         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         302  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  298    303   
                            ConstraintsService<L>,
  299    304   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  300         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, S>
         305  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation, S>
  301    306   
                        >,
  302         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         307  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  303    308   
                            ConstraintsService<L>,
  304    309   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  305    310   
                            ModelPl::Output
  306    311   
                        >,
  307         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         312  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  308    313   
                            ConstraintsService<L>,
  309    314   
                            crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  310    315   
                            <
  311         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  312         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         316  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         317  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  313    318   
                                    ConstraintsService<L>,
  314    319   
                                    crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
  315    320   
                                    ModelPl::Output
  316    321   
                                >
  317    322   
                            >::Output
  318    323   
                        >,
  319    324   
  320         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         325  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  321    326   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  322    327   
  323    328   
                    {
  324         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  325         -
        use ::aws_smithy_http_server::plugin::Plugin;
         329  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         330  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  326    331   
        let svc = crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation::from_service(
  327    332   
            service,
  328    333   
        );
  329    334   
        let svc = self.model_plugin.apply(svc);
  330         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         335  +
        let svc =
         336  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  331    337   
                .apply(svc);
  332    338   
        let svc = self.http_plugin.apply(svc);
  333    339   
        self.constrained_http_payload_bound_shape_operation_custom(svc)
  334    340   
    }
  335    341   
  336    342   
    /// Sets the [`ConstrainedHttpPayloadBoundShapeOperation`](crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation) to a custom [`Service`](tower::Service).
  337    343   
    /// not constrained by the Smithy contract.
  338    344   
    fn constrained_http_payload_bound_shape_operation_custom<S>(mut self, svc: S) -> Self
  339    345   
    where
  340    346   
        S: ::tower::Service<
  341    347   
                ::http::Request<Body>,
  342         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         348  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  343    349   
                Error = ::std::convert::Infallible,
  344    350   
            > + Clone
  345    351   
            + Send
  346    352   
            + 'static,
  347    353   
        S::Future: Send + 'static,
  348    354   
    {
  349    355   
        self.constrained_http_payload_bound_shape_operation =
  350         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
         356  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  351    357   
        self
  352    358   
    }
  353    359   
  354    360   
    /// Sets the [`ConstrainedRecursiveShapesOperation`](crate::operation_shape::ConstrainedRecursiveShapesOperation) operation.
  355    361   
    ///
  356         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  357         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         362  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         363  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  358    364   
    ///
  359    365   
    /// # Example
  360    366   
    ///
  361    367   
    /// ```no_run
  362    368   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  363    369   
    ///
  364    370   
    /// use constraints::{input, output, error};
  365    371   
    ///
  366    372   
    /// async fn handler(input: input::ConstrainedRecursiveShapesOperationInput) -> Result<output::ConstrainedRecursiveShapesOperationOutput, error::ConstrainedRecursiveShapesOperationError> {
  367    373   
    ///     todo!()
  368    374   
    /// }
  369    375   
    ///
  370    376   
    /// let config = ConstraintsServiceConfig::builder().build();
  371    377   
    /// let app = ConstraintsService::builder(config)
  372    378   
    ///     .constrained_recursive_shapes_operation(handler)
  373    379   
    ///     /* Set other handlers */
  374    380   
    ///     .build()
  375    381   
    ///     .unwrap();
  376         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         382  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  377    383   
    /// ```
  378    384   
    ///
  379    385   
                    pub fn constrained_recursive_shapes_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  380    386   
                    where
  381         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ConstrainedRecursiveShapesOperation, HandlerExtractors>,
         387  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ConstrainedRecursiveShapesOperation, HandlerExtractors>,
  382    388   
  383         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         389  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  384    390   
                            ConstraintsService<L>,
  385    391   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  386         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ConstrainedRecursiveShapesOperation, HandlerType>
         392  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ConstrainedRecursiveShapesOperation, HandlerType>
  387    393   
                        >,
  388         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         394  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  389    395   
                            ConstraintsService<L>,
  390    396   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  391    397   
                            ModelPl::Output
  392    398   
                        >,
  393         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         399  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  394    400   
                            ConstraintsService<L>,
  395    401   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  396    402   
                            <
  397         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  398         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         403  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         404  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  399    405   
                                    ConstraintsService<L>,
  400    406   
                                    crate::operation_shape::ConstrainedRecursiveShapesOperation,
  401    407   
                                    ModelPl::Output
  402    408   
                                >
  403    409   
                            >::Output
  404    410   
                        >,
  405    411   
  406         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         412  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  407    413   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  408    414   
  409    415   
                    {
  410         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  411         -
        use ::aws_smithy_http_server::plugin::Plugin;
         416  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         417  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  412    418   
        let svc =
  413    419   
            crate::operation_shape::ConstrainedRecursiveShapesOperation::from_handler(handler);
  414    420   
        let svc = self.model_plugin.apply(svc);
  415         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         421  +
        let svc =
         422  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  416    423   
                .apply(svc);
  417    424   
        let svc = self.http_plugin.apply(svc);
  418    425   
        self.constrained_recursive_shapes_operation_custom(svc)
  419    426   
    }
  420    427   
  421    428   
    /// Sets the [`ConstrainedRecursiveShapesOperation`](crate::operation_shape::ConstrainedRecursiveShapesOperation) operation.
  422    429   
    ///
  423         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  424         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         430  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         431  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  425    432   
    ///
  426    433   
    /// # Example
  427    434   
    ///
  428    435   
    /// ```no_run
  429    436   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  430    437   
    ///
  431    438   
    /// use constraints::{input, output, error};
  432    439   
    ///
  433    440   
    /// async fn handler(input: input::ConstrainedRecursiveShapesOperationInput) -> Result<output::ConstrainedRecursiveShapesOperationOutput, error::ConstrainedRecursiveShapesOperationError> {
  434    441   
    ///     todo!()
  435    442   
    /// }
  436    443   
    ///
  437    444   
    /// let config = ConstraintsServiceConfig::builder().build();
  438    445   
    /// let svc = ::tower::util::service_fn(handler);
  439    446   
    /// let app = ConstraintsService::builder(config)
  440    447   
    ///     .constrained_recursive_shapes_operation_service(svc)
  441    448   
    ///     /* Set other handlers */
  442    449   
    ///     .build()
  443    450   
    ///     .unwrap();
  444         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         451  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  445    452   
    /// ```
  446    453   
    ///
  447    454   
                    pub fn constrained_recursive_shapes_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  448    455   
                    where
  449         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ConstrainedRecursiveShapesOperation, ServiceExtractors>,
         456  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ConstrainedRecursiveShapesOperation, ServiceExtractors>,
  450    457   
  451         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         458  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  452    459   
                            ConstraintsService<L>,
  453    460   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  454         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ConstrainedRecursiveShapesOperation, S>
         461  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ConstrainedRecursiveShapesOperation, S>
  455    462   
                        >,
  456         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         463  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  457    464   
                            ConstraintsService<L>,
  458    465   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  459    466   
                            ModelPl::Output
  460    467   
                        >,
  461         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         468  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  462    469   
                            ConstraintsService<L>,
  463    470   
                            crate::operation_shape::ConstrainedRecursiveShapesOperation,
  464    471   
                            <
  465         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  466         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         472  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         473  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  467    474   
                                    ConstraintsService<L>,
  468    475   
                                    crate::operation_shape::ConstrainedRecursiveShapesOperation,
  469    476   
                                    ModelPl::Output
  470    477   
                                >
  471    478   
                            >::Output
  472    479   
                        >,
  473    480   
  474         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         481  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  475    482   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  476    483   
  477    484   
                    {
  478         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  479         -
        use ::aws_smithy_http_server::plugin::Plugin;
         485  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         486  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  480    487   
        let svc =
  481    488   
            crate::operation_shape::ConstrainedRecursiveShapesOperation::from_service(service);
  482    489   
        let svc = self.model_plugin.apply(svc);
  483         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         490  +
        let svc =
         491  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  484    492   
                .apply(svc);
  485    493   
        let svc = self.http_plugin.apply(svc);
  486    494   
        self.constrained_recursive_shapes_operation_custom(svc)
  487    495   
    }
  488    496   
  489    497   
    /// Sets the [`ConstrainedRecursiveShapesOperation`](crate::operation_shape::ConstrainedRecursiveShapesOperation) to a custom [`Service`](tower::Service).
  490    498   
    /// not constrained by the Smithy contract.
  491    499   
    fn constrained_recursive_shapes_operation_custom<S>(mut self, svc: S) -> Self
  492    500   
    where
  493    501   
        S: ::tower::Service<
  494    502   
                ::http::Request<Body>,
  495         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         503  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  496    504   
                Error = ::std::convert::Infallible,
  497    505   
            > + Clone
  498    506   
            + Send
  499    507   
            + 'static,
  500    508   
        S::Future: Send + 'static,
  501    509   
    {
  502    510   
        self.constrained_recursive_shapes_operation =
  503         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
         511  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  504    512   
        self
  505    513   
    }
  506    514   
  507    515   
    /// Sets the [`ConstrainedShapesOnlyInOutputOperation`](crate::operation_shape::ConstrainedShapesOnlyInOutputOperation) operation.
  508    516   
    ///
  509         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  510         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         517  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         518  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  511    519   
    ///
  512    520   
    /// # Example
  513    521   
    ///
  514    522   
    /// ```no_run
  515    523   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  516    524   
    ///
  517    525   
    /// use constraints::{input, output, error};
  518    526   
    ///
  519    527   
    /// async fn handler(input: input::ConstrainedShapesOnlyInOutputOperationInput) -> Result<output::ConstrainedShapesOnlyInOutputOperationOutput, error::ConstrainedShapesOnlyInOutputOperationError> {
  520    528   
    ///     todo!()
  521    529   
    /// }
  522    530   
    ///
  523    531   
    /// let config = ConstraintsServiceConfig::builder().build();
  524    532   
    /// let app = ConstraintsService::builder(config)
  525    533   
    ///     .constrained_shapes_only_in_output_operation(handler)
  526    534   
    ///     /* Set other handlers */
  527    535   
    ///     .build()
  528    536   
    ///     .unwrap();
  529         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         537  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  530    538   
    /// ```
  531    539   
    ///
  532    540   
                    pub fn constrained_shapes_only_in_output_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  533    541   
                    where
  534         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, HandlerExtractors>,
         542  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, HandlerExtractors>,
  535    543   
  536         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         544  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  537    545   
                            ConstraintsService<L>,
  538    546   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  539         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, HandlerType>
         547  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, HandlerType>
  540    548   
                        >,
  541         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         549  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  542    550   
                            ConstraintsService<L>,
  543    551   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  544    552   
                            ModelPl::Output
  545    553   
                        >,
  546         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         554  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  547    555   
                            ConstraintsService<L>,
  548    556   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  549    557   
                            <
  550         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  551         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         558  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         559  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  552    560   
                                    ConstraintsService<L>,
  553    561   
                                    crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  554    562   
                                    ModelPl::Output
  555    563   
                                >
  556    564   
                            >::Output
  557    565   
                        >,
  558    566   
  559         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         567  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  560    568   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  561    569   
  562    570   
                    {
  563         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  564         -
        use ::aws_smithy_http_server::plugin::Plugin;
         571  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         572  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  565    573   
        let svc =
  566    574   
            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation::from_handler(handler);
  567    575   
        let svc = self.model_plugin.apply(svc);
  568         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         576  +
        let svc =
         577  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  569    578   
                .apply(svc);
  570    579   
        let svc = self.http_plugin.apply(svc);
  571    580   
        self.constrained_shapes_only_in_output_operation_custom(svc)
  572    581   
    }
  573    582   
  574    583   
    /// Sets the [`ConstrainedShapesOnlyInOutputOperation`](crate::operation_shape::ConstrainedShapesOnlyInOutputOperation) operation.
  575    584   
    ///
  576         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  577         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         585  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         586  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  578    587   
    ///
  579    588   
    /// # Example
  580    589   
    ///
  581    590   
    /// ```no_run
  582    591   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  583    592   
    ///
  584    593   
    /// use constraints::{input, output, error};
  585    594   
    ///
  586    595   
    /// async fn handler(input: input::ConstrainedShapesOnlyInOutputOperationInput) -> Result<output::ConstrainedShapesOnlyInOutputOperationOutput, error::ConstrainedShapesOnlyInOutputOperationError> {
  587    596   
    ///     todo!()
  588    597   
    /// }
  589    598   
    ///
  590    599   
    /// let config = ConstraintsServiceConfig::builder().build();
  591    600   
    /// let svc = ::tower::util::service_fn(handler);
  592    601   
    /// let app = ConstraintsService::builder(config)
  593    602   
    ///     .constrained_shapes_only_in_output_operation_service(svc)
  594    603   
    ///     /* Set other handlers */
  595    604   
    ///     .build()
  596    605   
    ///     .unwrap();
  597         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         606  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  598    607   
    /// ```
  599    608   
    ///
  600    609   
                    pub fn constrained_shapes_only_in_output_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  601    610   
                    where
  602         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, ServiceExtractors>,
         611  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, ServiceExtractors>,
  603    612   
  604         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         613  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  605    614   
                            ConstraintsService<L>,
  606    615   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  607         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, S>
         616  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ConstrainedShapesOnlyInOutputOperation, S>
  608    617   
                        >,
  609         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         618  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  610    619   
                            ConstraintsService<L>,
  611    620   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  612    621   
                            ModelPl::Output
  613    622   
                        >,
  614         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         623  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  615    624   
                            ConstraintsService<L>,
  616    625   
                            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  617    626   
                            <
  618         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  619         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         627  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         628  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  620    629   
                                    ConstraintsService<L>,
  621    630   
                                    crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
  622    631   
                                    ModelPl::Output
  623    632   
                                >
  624    633   
                            >::Output
  625    634   
                        >,
  626    635   
  627         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         636  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  628    637   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  629    638   
  630    639   
                    {
  631         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  632         -
        use ::aws_smithy_http_server::plugin::Plugin;
         640  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         641  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  633    642   
        let svc =
  634    643   
            crate::operation_shape::ConstrainedShapesOnlyInOutputOperation::from_service(service);
  635    644   
        let svc = self.model_plugin.apply(svc);
  636         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         645  +
        let svc =
         646  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  637    647   
                .apply(svc);
  638    648   
        let svc = self.http_plugin.apply(svc);
  639    649   
        self.constrained_shapes_only_in_output_operation_custom(svc)
  640    650   
    }
  641    651   
  642    652   
    /// Sets the [`ConstrainedShapesOnlyInOutputOperation`](crate::operation_shape::ConstrainedShapesOnlyInOutputOperation) to a custom [`Service`](tower::Service).
  643    653   
    /// not constrained by the Smithy contract.
  644    654   
    fn constrained_shapes_only_in_output_operation_custom<S>(mut self, svc: S) -> Self
  645    655   
    where
  646    656   
        S: ::tower::Service<
  647    657   
                ::http::Request<Body>,
  648         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         658  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  649    659   
                Error = ::std::convert::Infallible,
  650    660   
            > + Clone
  651    661   
            + Send
  652    662   
            + 'static,
  653    663   
        S::Future: Send + 'static,
  654    664   
    {
  655    665   
        self.constrained_shapes_only_in_output_operation =
  656         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
         666  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  657    667   
        self
  658    668   
    }
  659    669   
  660    670   
    /// Sets the [`ConstrainedShapesOperation`](crate::operation_shape::ConstrainedShapesOperation) operation.
  661    671   
    ///
  662         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  663         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         672  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         673  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  664    674   
    ///
  665    675   
    /// # Example
  666    676   
    ///
  667    677   
    /// ```no_run
  668    678   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  669    679   
    ///
  670    680   
    /// use constraints::{input, output, error};
  671    681   
    ///
  672    682   
    /// async fn handler(input: input::ConstrainedShapesOperationInput) -> Result<output::ConstrainedShapesOperationOutput, error::ConstrainedShapesOperationError> {
  673    683   
    ///     todo!()
  674    684   
    /// }
  675    685   
    ///
  676    686   
    /// let config = ConstraintsServiceConfig::builder().build();
  677    687   
    /// let app = ConstraintsService::builder(config)
  678    688   
    ///     .constrained_shapes_operation(handler)
  679    689   
    ///     /* Set other handlers */
  680    690   
    ///     .build()
  681    691   
    ///     .unwrap();
  682         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         692  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  683    693   
    /// ```
  684    694   
    ///
  685    695   
                    pub fn constrained_shapes_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  686    696   
                    where
  687         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ConstrainedShapesOperation, HandlerExtractors>,
         697  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ConstrainedShapesOperation, HandlerExtractors>,
  688    698   
  689         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         699  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  690    700   
                            ConstraintsService<L>,
  691    701   
                            crate::operation_shape::ConstrainedShapesOperation,
  692         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ConstrainedShapesOperation, HandlerType>
         702  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ConstrainedShapesOperation, HandlerType>
  693    703   
                        >,
  694         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         704  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  695    705   
                            ConstraintsService<L>,
  696    706   
                            crate::operation_shape::ConstrainedShapesOperation,
  697    707   
                            ModelPl::Output
  698    708   
                        >,
  699         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         709  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  700    710   
                            ConstraintsService<L>,
  701    711   
                            crate::operation_shape::ConstrainedShapesOperation,
  702    712   
                            <
  703         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  704         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         713  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         714  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  705    715   
                                    ConstraintsService<L>,
  706    716   
                                    crate::operation_shape::ConstrainedShapesOperation,
  707    717   
                                    ModelPl::Output
  708    718   
                                >
  709    719   
                            >::Output
  710    720   
                        >,
  711    721   
  712         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         722  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  713    723   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  714    724   
  715    725   
                    {
  716         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  717         -
        use ::aws_smithy_http_server::plugin::Plugin;
         726  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         727  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  718    728   
        let svc = crate::operation_shape::ConstrainedShapesOperation::from_handler(handler);
  719    729   
        let svc = self.model_plugin.apply(svc);
  720         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         730  +
        let svc =
         731  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  721    732   
                .apply(svc);
  722    733   
        let svc = self.http_plugin.apply(svc);
  723    734   
        self.constrained_shapes_operation_custom(svc)
  724    735   
    }
  725    736   
  726    737   
    /// Sets the [`ConstrainedShapesOperation`](crate::operation_shape::ConstrainedShapesOperation) operation.
  727    738   
    ///
  728         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  729         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         739  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         740  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  730    741   
    ///
  731    742   
    /// # Example
  732    743   
    ///
  733    744   
    /// ```no_run
  734    745   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  735    746   
    ///
  736    747   
    /// use constraints::{input, output, error};
  737    748   
    ///
  738    749   
    /// async fn handler(input: input::ConstrainedShapesOperationInput) -> Result<output::ConstrainedShapesOperationOutput, error::ConstrainedShapesOperationError> {
  739    750   
    ///     todo!()
  740    751   
    /// }
  741    752   
    ///
  742    753   
    /// let config = ConstraintsServiceConfig::builder().build();
  743    754   
    /// let svc = ::tower::util::service_fn(handler);
  744    755   
    /// let app = ConstraintsService::builder(config)
  745    756   
    ///     .constrained_shapes_operation_service(svc)
  746    757   
    ///     /* Set other handlers */
  747    758   
    ///     .build()
  748    759   
    ///     .unwrap();
  749         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         760  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  750    761   
    /// ```
  751    762   
    ///
  752    763   
                    pub fn constrained_shapes_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  753    764   
                    where
  754         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ConstrainedShapesOperation, ServiceExtractors>,
         765  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ConstrainedShapesOperation, ServiceExtractors>,
  755    766   
  756         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         767  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  757    768   
                            ConstraintsService<L>,
  758    769   
                            crate::operation_shape::ConstrainedShapesOperation,
  759         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ConstrainedShapesOperation, S>
         770  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ConstrainedShapesOperation, S>
  760    771   
                        >,
  761         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         772  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  762    773   
                            ConstraintsService<L>,
  763    774   
                            crate::operation_shape::ConstrainedShapesOperation,
  764    775   
                            ModelPl::Output
  765    776   
                        >,
  766         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         777  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  767    778   
                            ConstraintsService<L>,
  768    779   
                            crate::operation_shape::ConstrainedShapesOperation,
  769    780   
                            <
  770         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  771         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         781  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         782  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  772    783   
                                    ConstraintsService<L>,
  773    784   
                                    crate::operation_shape::ConstrainedShapesOperation,
  774    785   
                                    ModelPl::Output
  775    786   
                                >
  776    787   
                            >::Output
  777    788   
                        >,
  778    789   
  779         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         790  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  780    791   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  781    792   
  782    793   
                    {
  783         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  784         -
        use ::aws_smithy_http_server::plugin::Plugin;
         794  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         795  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  785    796   
        let svc = crate::operation_shape::ConstrainedShapesOperation::from_service(service);
  786    797   
        let svc = self.model_plugin.apply(svc);
  787         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         798  +
        let svc =
         799  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  788    800   
                .apply(svc);
  789    801   
        let svc = self.http_plugin.apply(svc);
  790    802   
        self.constrained_shapes_operation_custom(svc)
  791    803   
    }
  792    804   
  793    805   
    /// Sets the [`ConstrainedShapesOperation`](crate::operation_shape::ConstrainedShapesOperation) to a custom [`Service`](tower::Service).
  794    806   
    /// not constrained by the Smithy contract.
  795    807   
    fn constrained_shapes_operation_custom<S>(mut self, svc: S) -> Self
  796    808   
    where
  797    809   
        S: ::tower::Service<
  798    810   
                ::http::Request<Body>,
  799         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         811  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  800    812   
                Error = ::std::convert::Infallible,
  801    813   
            > + Clone
  802    814   
            + Send
  803    815   
            + 'static,
  804    816   
        S::Future: Send + 'static,
  805    817   
    {
  806    818   
        self.constrained_shapes_operation =
  807         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
         819  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  808    820   
        self
  809    821   
    }
  810    822   
  811    823   
    /// Sets the [`EventStreamsOperation`](crate::operation_shape::EventStreamsOperation) operation.
  812    824   
    ///
  813         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  814         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         825  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         826  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  815    827   
    ///
  816    828   
    /// # Example
  817    829   
    ///
  818    830   
    /// ```no_run
  819    831   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  820    832   
    ///
  821    833   
    /// use constraints::{input, output, error};
  822    834   
    ///
  823    835   
    /// async fn handler(input: input::EventStreamsOperationInput) -> Result<output::EventStreamsOperationOutput, error::EventStreamsOperationError> {
  824    836   
    ///     todo!()
  825    837   
    /// }
  826    838   
    ///
  827    839   
    /// let config = ConstraintsServiceConfig::builder().build();
  828    840   
    /// let app = ConstraintsService::builder(config)
  829    841   
    ///     .event_streams_operation(handler)
  830    842   
    ///     /* Set other handlers */
  831    843   
    ///     .build()
  832    844   
    ///     .unwrap();
  833         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         845  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  834    846   
    /// ```
  835    847   
    ///
  836    848   
                    pub fn event_streams_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  837    849   
                    where
  838         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::EventStreamsOperation, HandlerExtractors>,
         850  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::EventStreamsOperation, HandlerExtractors>,
  839    851   
  840         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         852  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  841    853   
                            ConstraintsService<L>,
  842    854   
                            crate::operation_shape::EventStreamsOperation,
  843         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::EventStreamsOperation, HandlerType>
         855  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::EventStreamsOperation, HandlerType>
  844    856   
                        >,
  845         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         857  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  846    858   
                            ConstraintsService<L>,
  847    859   
                            crate::operation_shape::EventStreamsOperation,
  848    860   
                            ModelPl::Output
  849    861   
                        >,
  850         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         862  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  851    863   
                            ConstraintsService<L>,
  852    864   
                            crate::operation_shape::EventStreamsOperation,
  853    865   
                            <
  854         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  855         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         866  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         867  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  856    868   
                                    ConstraintsService<L>,
  857    869   
                                    crate::operation_shape::EventStreamsOperation,
  858    870   
                                    ModelPl::Output
  859    871   
                                >
  860    872   
                            >::Output
  861    873   
                        >,
  862    874   
  863         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         875  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  864    876   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  865    877   
  866    878   
                    {
  867         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  868         -
        use ::aws_smithy_http_server::plugin::Plugin;
         879  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         880  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  869    881   
        let svc = crate::operation_shape::EventStreamsOperation::from_handler(handler);
  870    882   
        let svc = self.model_plugin.apply(svc);
  871         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         883  +
        let svc =
         884  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  872    885   
                .apply(svc);
  873    886   
        let svc = self.http_plugin.apply(svc);
  874    887   
        self.event_streams_operation_custom(svc)
  875    888   
    }
  876    889   
  877    890   
    /// Sets the [`EventStreamsOperation`](crate::operation_shape::EventStreamsOperation) operation.
  878    891   
    ///
  879         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  880         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         892  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         893  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  881    894   
    ///
  882    895   
    /// # Example
  883    896   
    ///
  884    897   
    /// ```no_run
  885    898   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  886    899   
    ///
  887    900   
    /// use constraints::{input, output, error};
  888    901   
    ///
  889    902   
    /// async fn handler(input: input::EventStreamsOperationInput) -> Result<output::EventStreamsOperationOutput, error::EventStreamsOperationError> {
  890    903   
    ///     todo!()
  891    904   
    /// }
  892    905   
    ///
  893    906   
    /// let config = ConstraintsServiceConfig::builder().build();
  894    907   
    /// let svc = ::tower::util::service_fn(handler);
  895    908   
    /// let app = ConstraintsService::builder(config)
  896    909   
    ///     .event_streams_operation_service(svc)
  897    910   
    ///     /* Set other handlers */
  898    911   
    ///     .build()
  899    912   
    ///     .unwrap();
  900         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         913  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  901    914   
    /// ```
  902    915   
    ///
  903    916   
                    pub fn event_streams_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  904    917   
                    where
  905         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::EventStreamsOperation, ServiceExtractors>,
         918  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::EventStreamsOperation, ServiceExtractors>,
  906    919   
  907         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         920  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  908    921   
                            ConstraintsService<L>,
  909    922   
                            crate::operation_shape::EventStreamsOperation,
  910         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::EventStreamsOperation, S>
         923  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::EventStreamsOperation, S>
  911    924   
                        >,
  912         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         925  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  913    926   
                            ConstraintsService<L>,
  914    927   
                            crate::operation_shape::EventStreamsOperation,
  915    928   
                            ModelPl::Output
  916    929   
                        >,
  917         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         930  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  918    931   
                            ConstraintsService<L>,
  919    932   
                            crate::operation_shape::EventStreamsOperation,
  920    933   
                            <
  921         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  922         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         934  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         935  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  923    936   
                                    ConstraintsService<L>,
  924    937   
                                    crate::operation_shape::EventStreamsOperation,
  925    938   
                                    ModelPl::Output
  926    939   
                                >
  927    940   
                            >::Output
  928    941   
                        >,
  929    942   
  930         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         943  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  931    944   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  932    945   
  933    946   
                    {
  934         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  935         -
        use ::aws_smithy_http_server::plugin::Plugin;
         947  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         948  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  936    949   
        let svc = crate::operation_shape::EventStreamsOperation::from_service(service);
  937    950   
        let svc = self.model_plugin.apply(svc);
  938         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         951  +
        let svc =
         952  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  939    953   
                .apply(svc);
  940    954   
        let svc = self.http_plugin.apply(svc);
  941    955   
        self.event_streams_operation_custom(svc)
  942    956   
    }
  943    957   
  944    958   
    /// Sets the [`EventStreamsOperation`](crate::operation_shape::EventStreamsOperation) to a custom [`Service`](tower::Service).
  945    959   
    /// not constrained by the Smithy contract.
  946    960   
    fn event_streams_operation_custom<S>(mut self, svc: S) -> Self
  947    961   
    where
  948    962   
        S: ::tower::Service<
  949    963   
                ::http::Request<Body>,
  950         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         964  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  951    965   
                Error = ::std::convert::Infallible,
  952    966   
            > + Clone
  953    967   
            + Send
  954    968   
            + 'static,
  955    969   
        S::Future: Send + 'static,
  956    970   
    {
  957         -
        self.event_streams_operation = Some(::aws_smithy_http_server::routing::Route::new(svc));
         971  +
        self.event_streams_operation =
         972  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  958    973   
        self
  959    974   
    }
  960    975   
  961    976   
    /// Sets the [`HttpPrefixHeadersTargetingLengthMapOperation`](crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation) operation.
  962    977   
    ///
  963         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  964         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         978  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         979  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  965    980   
    ///
  966    981   
    /// # Example
  967    982   
    ///
  968    983   
    /// ```no_run
  969    984   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
  970    985   
    ///
  971    986   
    /// use constraints::{input, output, error};
  972    987   
    ///
  973    988   
    /// async fn handler(input: input::HttpPrefixHeadersTargetingLengthMapOperationInput) -> Result<output::HttpPrefixHeadersTargetingLengthMapOperationOutput, error::HttpPrefixHeadersTargetingLengthMapOperationError> {
  974    989   
    ///     todo!()
  975    990   
    /// }
  976    991   
    ///
  977    992   
    /// let config = ConstraintsServiceConfig::builder().build();
  978    993   
    /// let app = ConstraintsService::builder(config)
  979    994   
    ///     .http_prefix_headers_targeting_length_map_operation(handler)
  980    995   
    ///     /* Set other handlers */
  981    996   
    ///     .build()
  982    997   
    ///     .unwrap();
  983         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
         998  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
  984    999   
    /// ```
  985   1000   
    ///
  986   1001   
                    pub fn http_prefix_headers_targeting_length_map_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  987   1002   
                    where
  988         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, HandlerExtractors>,
        1003  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, HandlerExtractors>,
  989   1004   
  990         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1005  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  991   1006   
                            ConstraintsService<L>,
  992   1007   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
  993         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, HandlerType>
        1008  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, HandlerType>
  994   1009   
                        >,
  995         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1010  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  996   1011   
                            ConstraintsService<L>,
  997   1012   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
  998   1013   
                            ModelPl::Output
  999   1014   
                        >,
 1000         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1015  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1001   1016   
                            ConstraintsService<L>,
 1002   1017   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1003   1018   
                            <
 1004         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1005         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1019  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1020  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1006   1021   
                                    ConstraintsService<L>,
 1007   1022   
                                    crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1008   1023   
                                    ModelPl::Output
 1009   1024   
                                >
 1010   1025   
                            >::Output
 1011   1026   
                        >,
 1012   1027   
 1013         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1028  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1014   1029   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1015   1030   
 1016   1031   
                    {
 1017         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1018         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1032  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1033  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1019   1034   
        let svc =
 1020   1035   
            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation::from_handler(
 1021   1036   
                handler,
 1022   1037   
            );
 1023   1038   
        let svc = self.model_plugin.apply(svc);
 1024         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1039  +
        let svc =
        1040  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1025   1041   
                .apply(svc);
 1026   1042   
        let svc = self.http_plugin.apply(svc);
 1027   1043   
        self.http_prefix_headers_targeting_length_map_operation_custom(svc)
 1028   1044   
    }
 1029   1045   
 1030   1046   
    /// Sets the [`HttpPrefixHeadersTargetingLengthMapOperation`](crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation) operation.
 1031   1047   
    ///
 1032         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1033         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1048  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1049  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1034   1050   
    ///
 1035   1051   
    /// # Example
 1036   1052   
    ///
 1037   1053   
    /// ```no_run
 1038   1054   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1039   1055   
    ///
 1040   1056   
    /// use constraints::{input, output, error};
 1041   1057   
    ///
 1042   1058   
    /// async fn handler(input: input::HttpPrefixHeadersTargetingLengthMapOperationInput) -> Result<output::HttpPrefixHeadersTargetingLengthMapOperationOutput, error::HttpPrefixHeadersTargetingLengthMapOperationError> {
 1043   1059   
    ///     todo!()
 1044   1060   
    /// }
 1045   1061   
    ///
 1046   1062   
    /// let config = ConstraintsServiceConfig::builder().build();
 1047   1063   
    /// let svc = ::tower::util::service_fn(handler);
 1048   1064   
    /// let app = ConstraintsService::builder(config)
 1049   1065   
    ///     .http_prefix_headers_targeting_length_map_operation_service(svc)
 1050   1066   
    ///     /* Set other handlers */
 1051   1067   
    ///     .build()
 1052   1068   
    ///     .unwrap();
 1053         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1069  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1054   1070   
    /// ```
 1055   1071   
    ///
 1056   1072   
                    pub fn http_prefix_headers_targeting_length_map_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1057   1073   
                    where
 1058         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, ServiceExtractors>,
        1074  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, ServiceExtractors>,
 1059   1075   
 1060         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1076  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1061   1077   
                            ConstraintsService<L>,
 1062   1078   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1063         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, S>
        1079  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation, S>
 1064   1080   
                        >,
 1065         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1081  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1066   1082   
                            ConstraintsService<L>,
 1067   1083   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1068   1084   
                            ModelPl::Output
 1069   1085   
                        >,
 1070         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1086  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1071   1087   
                            ConstraintsService<L>,
 1072   1088   
                            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1073   1089   
                            <
 1074         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1075         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1090  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1091  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1076   1092   
                                    ConstraintsService<L>,
 1077   1093   
                                    crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 1078   1094   
                                    ModelPl::Output
 1079   1095   
                                >
 1080   1096   
                            >::Output
 1081   1097   
                        >,
 1082   1098   
 1083         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1099  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1084   1100   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1085   1101   
 1086   1102   
                    {
 1087         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1088         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1103  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1104  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1089   1105   
        let svc =
 1090   1106   
            crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation::from_service(
 1091   1107   
                service,
 1092   1108   
            );
 1093   1109   
        let svc = self.model_plugin.apply(svc);
 1094         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1110  +
        let svc =
        1111  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1095   1112   
                .apply(svc);
 1096   1113   
        let svc = self.http_plugin.apply(svc);
 1097   1114   
        self.http_prefix_headers_targeting_length_map_operation_custom(svc)
 1098   1115   
    }
 1099   1116   
 1100   1117   
    /// Sets the [`HttpPrefixHeadersTargetingLengthMapOperation`](crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation) to a custom [`Service`](tower::Service).
 1101   1118   
    /// not constrained by the Smithy contract.
 1102   1119   
    fn http_prefix_headers_targeting_length_map_operation_custom<S>(mut self, svc: S) -> Self
 1103   1120   
    where
 1104   1121   
        S: ::tower::Service<
 1105   1122   
                ::http::Request<Body>,
 1106         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1123  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1107   1124   
                Error = ::std::convert::Infallible,
 1108   1125   
            > + Clone
 1109   1126   
            + Send
 1110   1127   
            + 'static,
 1111   1128   
        S::Future: Send + 'static,
 1112   1129   
    {
 1113   1130   
        self.http_prefix_headers_targeting_length_map_operation =
 1114         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1131  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1115   1132   
        self
 1116   1133   
    }
 1117   1134   
 1118   1135   
    /// Sets the [`NonStreamingBlobOperation`](crate::operation_shape::NonStreamingBlobOperation) operation.
 1119   1136   
    ///
 1120         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1121         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1137  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1138  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1122   1139   
    ///
 1123   1140   
    /// # Example
 1124   1141   
    ///
 1125   1142   
    /// ```no_run
 1126   1143   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1127   1144   
    ///
 1128   1145   
    /// use constraints::{input, output, error};
 1129   1146   
    ///
 1130   1147   
    /// async fn handler(input: input::NonStreamingBlobOperationInput) -> Result<output::NonStreamingBlobOperationOutput, error::NonStreamingBlobOperationError> {
 1131   1148   
    ///     todo!()
 1132   1149   
    /// }
 1133   1150   
    ///
 1134   1151   
    /// let config = ConstraintsServiceConfig::builder().build();
 1135   1152   
    /// let app = ConstraintsService::builder(config)
 1136   1153   
    ///     .non_streaming_blob_operation(handler)
 1137   1154   
    ///     /* Set other handlers */
 1138   1155   
    ///     .build()
 1139   1156   
    ///     .unwrap();
 1140         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1157  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1141   1158   
    /// ```
 1142   1159   
    ///
 1143   1160   
                    pub fn non_streaming_blob_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1144   1161   
                    where
 1145         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::NonStreamingBlobOperation, HandlerExtractors>,
        1162  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::NonStreamingBlobOperation, HandlerExtractors>,
 1146   1163   
 1147         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1164  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1148   1165   
                            ConstraintsService<L>,
 1149   1166   
                            crate::operation_shape::NonStreamingBlobOperation,
 1150         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::NonStreamingBlobOperation, HandlerType>
        1167  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::NonStreamingBlobOperation, HandlerType>
 1151   1168   
                        >,
 1152         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1169  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1153   1170   
                            ConstraintsService<L>,
 1154   1171   
                            crate::operation_shape::NonStreamingBlobOperation,
 1155   1172   
                            ModelPl::Output
 1156   1173   
                        >,
 1157         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1174  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1158   1175   
                            ConstraintsService<L>,
 1159   1176   
                            crate::operation_shape::NonStreamingBlobOperation,
 1160   1177   
                            <
 1161         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1162         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1178  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1179  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1163   1180   
                                    ConstraintsService<L>,
 1164   1181   
                                    crate::operation_shape::NonStreamingBlobOperation,
 1165   1182   
                                    ModelPl::Output
 1166   1183   
                                >
 1167   1184   
                            >::Output
 1168   1185   
                        >,
 1169   1186   
 1170         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1187  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1171   1188   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1172   1189   
 1173   1190   
                    {
 1174         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1175         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1191  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1192  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1176   1193   
        let svc = crate::operation_shape::NonStreamingBlobOperation::from_handler(handler);
 1177   1194   
        let svc = self.model_plugin.apply(svc);
 1178         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1195  +
        let svc =
        1196  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1179   1197   
                .apply(svc);
 1180   1198   
        let svc = self.http_plugin.apply(svc);
 1181   1199   
        self.non_streaming_blob_operation_custom(svc)
 1182   1200   
    }
 1183   1201   
 1184   1202   
    /// Sets the [`NonStreamingBlobOperation`](crate::operation_shape::NonStreamingBlobOperation) operation.
 1185   1203   
    ///
 1186         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1187         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1204  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1205  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1188   1206   
    ///
 1189   1207   
    /// # Example
 1190   1208   
    ///
 1191   1209   
    /// ```no_run
 1192   1210   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1193   1211   
    ///
 1194   1212   
    /// use constraints::{input, output, error};
 1195   1213   
    ///
 1196   1214   
    /// async fn handler(input: input::NonStreamingBlobOperationInput) -> Result<output::NonStreamingBlobOperationOutput, error::NonStreamingBlobOperationError> {
 1197   1215   
    ///     todo!()
 1198   1216   
    /// }
 1199   1217   
    ///
 1200   1218   
    /// let config = ConstraintsServiceConfig::builder().build();
 1201   1219   
    /// let svc = ::tower::util::service_fn(handler);
 1202   1220   
    /// let app = ConstraintsService::builder(config)
 1203   1221   
    ///     .non_streaming_blob_operation_service(svc)
 1204   1222   
    ///     /* Set other handlers */
 1205   1223   
    ///     .build()
 1206   1224   
    ///     .unwrap();
 1207         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1225  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1208   1226   
    /// ```
 1209   1227   
    ///
 1210   1228   
                    pub fn non_streaming_blob_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1211   1229   
                    where
 1212         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::NonStreamingBlobOperation, ServiceExtractors>,
        1230  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::NonStreamingBlobOperation, ServiceExtractors>,
 1213   1231   
 1214         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1232  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1215   1233   
                            ConstraintsService<L>,
 1216   1234   
                            crate::operation_shape::NonStreamingBlobOperation,
 1217         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::NonStreamingBlobOperation, S>
        1235  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::NonStreamingBlobOperation, S>
 1218   1236   
                        >,
 1219         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1237  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1220   1238   
                            ConstraintsService<L>,
 1221   1239   
                            crate::operation_shape::NonStreamingBlobOperation,
 1222   1240   
                            ModelPl::Output
 1223   1241   
                        >,
 1224         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1242  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1225   1243   
                            ConstraintsService<L>,
 1226   1244   
                            crate::operation_shape::NonStreamingBlobOperation,
 1227   1245   
                            <
 1228         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1229         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1246  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1247  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1230   1248   
                                    ConstraintsService<L>,
 1231   1249   
                                    crate::operation_shape::NonStreamingBlobOperation,
 1232   1250   
                                    ModelPl::Output
 1233   1251   
                                >
 1234   1252   
                            >::Output
 1235   1253   
                        >,
 1236   1254   
 1237         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1255  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1238   1256   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1239   1257   
 1240   1258   
                    {
 1241         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1242         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1259  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1260  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1243   1261   
        let svc = crate::operation_shape::NonStreamingBlobOperation::from_service(service);
 1244   1262   
        let svc = self.model_plugin.apply(svc);
 1245         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1263  +
        let svc =
        1264  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1246   1265   
                .apply(svc);
 1247   1266   
        let svc = self.http_plugin.apply(svc);
 1248   1267   
        self.non_streaming_blob_operation_custom(svc)
 1249   1268   
    }
 1250   1269   
 1251   1270   
    /// Sets the [`NonStreamingBlobOperation`](crate::operation_shape::NonStreamingBlobOperation) to a custom [`Service`](tower::Service).
 1252   1271   
    /// not constrained by the Smithy contract.
 1253   1272   
    fn non_streaming_blob_operation_custom<S>(mut self, svc: S) -> Self
 1254   1273   
    where
 1255   1274   
        S: ::tower::Service<
 1256   1275   
                ::http::Request<Body>,
 1257         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1276  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1258   1277   
                Error = ::std::convert::Infallible,
 1259   1278   
            > + Clone
 1260   1279   
            + Send
 1261   1280   
            + 'static,
 1262   1281   
        S::Future: Send + 'static,
 1263   1282   
    {
 1264   1283   
        self.non_streaming_blob_operation =
 1265         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1284  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1266   1285   
        self
 1267   1286   
    }
 1268   1287   
 1269   1288   
    /// Sets the [`QueryParamsTargetingLengthMapOperation`](crate::operation_shape::QueryParamsTargetingLengthMapOperation) operation.
 1270   1289   
    ///
 1271         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1272         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1290  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1291  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1273   1292   
    ///
 1274   1293   
    /// # Example
 1275   1294   
    ///
 1276   1295   
    /// ```no_run
 1277   1296   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1278   1297   
    ///
 1279   1298   
    /// use constraints::{input, output, error};
 1280   1299   
    ///
 1281   1300   
    /// async fn handler(input: input::QueryParamsTargetingLengthMapOperationInput) -> Result<output::QueryParamsTargetingLengthMapOperationOutput, error::QueryParamsTargetingLengthMapOperationError> {
 1282   1301   
    ///     todo!()
 1283   1302   
    /// }
 1284   1303   
    ///
 1285   1304   
    /// let config = ConstraintsServiceConfig::builder().build();
 1286   1305   
    /// let app = ConstraintsService::builder(config)
 1287   1306   
    ///     .query_params_targeting_length_map_operation(handler)
 1288   1307   
    ///     /* Set other handlers */
 1289   1308   
    ///     .build()
 1290   1309   
    ///     .unwrap();
 1291         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1310  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1292   1311   
    /// ```
 1293   1312   
    ///
 1294   1313   
                    pub fn query_params_targeting_length_map_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1295   1314   
                    where
 1296         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingLengthMapOperation, HandlerExtractors>,
        1315  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingLengthMapOperation, HandlerExtractors>,
 1297   1316   
 1298         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1317  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1299   1318   
                            ConstraintsService<L>,
 1300   1319   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1301         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingLengthMapOperation, HandlerType>
        1320  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingLengthMapOperation, HandlerType>
 1302   1321   
                        >,
 1303         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1322  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1304   1323   
                            ConstraintsService<L>,
 1305   1324   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1306   1325   
                            ModelPl::Output
 1307   1326   
                        >,
 1308         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1327  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1309   1328   
                            ConstraintsService<L>,
 1310   1329   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1311   1330   
                            <
 1312         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1313         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1331  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1332  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1314   1333   
                                    ConstraintsService<L>,
 1315   1334   
                                    crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1316   1335   
                                    ModelPl::Output
 1317   1336   
                                >
 1318   1337   
                            >::Output
 1319   1338   
                        >,
 1320   1339   
 1321         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1340  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1322   1341   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1323   1342   
 1324   1343   
                    {
 1325         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1326         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1344  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1345  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1327   1346   
        let svc =
 1328   1347   
            crate::operation_shape::QueryParamsTargetingLengthMapOperation::from_handler(handler);
 1329   1348   
        let svc = self.model_plugin.apply(svc);
 1330         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1349  +
        let svc =
        1350  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1331   1351   
                .apply(svc);
 1332   1352   
        let svc = self.http_plugin.apply(svc);
 1333   1353   
        self.query_params_targeting_length_map_operation_custom(svc)
 1334   1354   
    }
 1335   1355   
 1336   1356   
    /// Sets the [`QueryParamsTargetingLengthMapOperation`](crate::operation_shape::QueryParamsTargetingLengthMapOperation) operation.
 1337   1357   
    ///
 1338         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1339         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1358  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1359  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1340   1360   
    ///
 1341   1361   
    /// # Example
 1342   1362   
    ///
 1343   1363   
    /// ```no_run
 1344   1364   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1345   1365   
    ///
 1346   1366   
    /// use constraints::{input, output, error};
 1347   1367   
    ///
 1348   1368   
    /// async fn handler(input: input::QueryParamsTargetingLengthMapOperationInput) -> Result<output::QueryParamsTargetingLengthMapOperationOutput, error::QueryParamsTargetingLengthMapOperationError> {
 1349   1369   
    ///     todo!()
 1350   1370   
    /// }
 1351   1371   
    ///
 1352   1372   
    /// let config = ConstraintsServiceConfig::builder().build();
 1353   1373   
    /// let svc = ::tower::util::service_fn(handler);
 1354   1374   
    /// let app = ConstraintsService::builder(config)
 1355   1375   
    ///     .query_params_targeting_length_map_operation_service(svc)
 1356   1376   
    ///     /* Set other handlers */
 1357   1377   
    ///     .build()
 1358   1378   
    ///     .unwrap();
 1359         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1379  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1360   1380   
    /// ```
 1361   1381   
    ///
 1362   1382   
                    pub fn query_params_targeting_length_map_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1363   1383   
                    where
 1364         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingLengthMapOperation, ServiceExtractors>,
        1384  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingLengthMapOperation, ServiceExtractors>,
 1365   1385   
 1366         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1386  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1367   1387   
                            ConstraintsService<L>,
 1368   1388   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1369         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingLengthMapOperation, S>
        1389  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingLengthMapOperation, S>
 1370   1390   
                        >,
 1371         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1391  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1372   1392   
                            ConstraintsService<L>,
 1373   1393   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1374   1394   
                            ModelPl::Output
 1375   1395   
                        >,
 1376         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1396  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1377   1397   
                            ConstraintsService<L>,
 1378   1398   
                            crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1379   1399   
                            <
 1380         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1381         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1400  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1401  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1382   1402   
                                    ConstraintsService<L>,
 1383   1403   
                                    crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 1384   1404   
                                    ModelPl::Output
 1385   1405   
                                >
 1386   1406   
                            >::Output
 1387   1407   
                        >,
 1388   1408   
 1389         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1409  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1390   1410   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1391   1411   
 1392   1412   
                    {
 1393         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1394         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1413  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1414  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1395   1415   
        let svc =
 1396   1416   
            crate::operation_shape::QueryParamsTargetingLengthMapOperation::from_service(service);
 1397   1417   
        let svc = self.model_plugin.apply(svc);
 1398         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1418  +
        let svc =
        1419  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1399   1420   
                .apply(svc);
 1400   1421   
        let svc = self.http_plugin.apply(svc);
 1401   1422   
        self.query_params_targeting_length_map_operation_custom(svc)
 1402   1423   
    }
 1403   1424   
 1404   1425   
    /// Sets the [`QueryParamsTargetingLengthMapOperation`](crate::operation_shape::QueryParamsTargetingLengthMapOperation) to a custom [`Service`](tower::Service).
 1405   1426   
    /// not constrained by the Smithy contract.
 1406   1427   
    fn query_params_targeting_length_map_operation_custom<S>(mut self, svc: S) -> Self
 1407   1428   
    where
 1408   1429   
        S: ::tower::Service<
 1409   1430   
                ::http::Request<Body>,
 1410         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1431  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1411   1432   
                Error = ::std::convert::Infallible,
 1412   1433   
            > + Clone
 1413   1434   
            + Send
 1414   1435   
            + 'static,
 1415   1436   
        S::Future: Send + 'static,
 1416   1437   
    {
 1417   1438   
        self.query_params_targeting_length_map_operation =
 1418         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1439  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1419   1440   
        self
 1420   1441   
    }
 1421   1442   
 1422   1443   
    /// Sets the [`QueryParamsTargetingMapOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation) operation.
 1423   1444   
    ///
 1424         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1425         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1445  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1446  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1426   1447   
    ///
 1427   1448   
    /// # Example
 1428   1449   
    ///
 1429   1450   
    /// ```no_run
 1430   1451   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1431   1452   
    ///
 1432   1453   
    /// use constraints::{input, output, error};
 1433   1454   
    ///
 1434   1455   
    /// async fn handler(input: input::QueryParamsTargetingMapOfEnumStringOperationInput) -> Result<output::QueryParamsTargetingMapOfEnumStringOperationOutput, error::QueryParamsTargetingMapOfEnumStringOperationError> {
 1435   1456   
    ///     todo!()
 1436   1457   
    /// }
 1437   1458   
    ///
 1438   1459   
    /// let config = ConstraintsServiceConfig::builder().build();
 1439   1460   
    /// let app = ConstraintsService::builder(config)
 1440   1461   
    ///     .query_params_targeting_map_of_enum_string_operation(handler)
 1441   1462   
    ///     /* Set other handlers */
 1442   1463   
    ///     .build()
 1443   1464   
    ///     .unwrap();
 1444         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1465  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1445   1466   
    /// ```
 1446   1467   
    ///
 1447   1468   
                    pub fn query_params_targeting_map_of_enum_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1448   1469   
                    where
 1449         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, HandlerExtractors>,
        1470  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, HandlerExtractors>,
 1450   1471   
 1451         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1472  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1452   1473   
                            ConstraintsService<L>,
 1453   1474   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1454         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, HandlerType>
        1475  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, HandlerType>
 1455   1476   
                        >,
 1456         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1477  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1457   1478   
                            ConstraintsService<L>,
 1458   1479   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1459   1480   
                            ModelPl::Output
 1460   1481   
                        >,
 1461         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1482  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1462   1483   
                            ConstraintsService<L>,
 1463   1484   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1464   1485   
                            <
 1465         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1466         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1486  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1487  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1467   1488   
                                    ConstraintsService<L>,
 1468   1489   
                                    crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1469   1490   
                                    ModelPl::Output
 1470   1491   
                                >
 1471   1492   
                            >::Output
 1472   1493   
                        >,
 1473   1494   
 1474         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1495  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1475   1496   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1476   1497   
 1477   1498   
                    {
 1478         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1479         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1499  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1500  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1480   1501   
        let svc =
 1481   1502   
            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation::from_handler(
 1482   1503   
                handler,
 1483   1504   
            );
 1484   1505   
        let svc = self.model_plugin.apply(svc);
 1485         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1506  +
        let svc =
        1507  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1486   1508   
                .apply(svc);
 1487   1509   
        let svc = self.http_plugin.apply(svc);
 1488   1510   
        self.query_params_targeting_map_of_enum_string_operation_custom(svc)
 1489   1511   
    }
 1490   1512   
 1491   1513   
    /// Sets the [`QueryParamsTargetingMapOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation) operation.
 1492   1514   
    ///
 1493         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1494         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1515  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1516  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1495   1517   
    ///
 1496   1518   
    /// # Example
 1497   1519   
    ///
 1498   1520   
    /// ```no_run
 1499   1521   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1500   1522   
    ///
 1501   1523   
    /// use constraints::{input, output, error};
 1502   1524   
    ///
 1503   1525   
    /// async fn handler(input: input::QueryParamsTargetingMapOfEnumStringOperationInput) -> Result<output::QueryParamsTargetingMapOfEnumStringOperationOutput, error::QueryParamsTargetingMapOfEnumStringOperationError> {
 1504   1526   
    ///     todo!()
 1505   1527   
    /// }
 1506   1528   
    ///
 1507   1529   
    /// let config = ConstraintsServiceConfig::builder().build();
 1508   1530   
    /// let svc = ::tower::util::service_fn(handler);
 1509   1531   
    /// let app = ConstraintsService::builder(config)
 1510   1532   
    ///     .query_params_targeting_map_of_enum_string_operation_service(svc)
 1511   1533   
    ///     /* Set other handlers */
 1512   1534   
    ///     .build()
 1513   1535   
    ///     .unwrap();
 1514         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1536  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1515   1537   
    /// ```
 1516   1538   
    ///
 1517   1539   
                    pub fn query_params_targeting_map_of_enum_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1518   1540   
                    where
 1519         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, ServiceExtractors>,
        1541  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, ServiceExtractors>,
 1520   1542   
 1521         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1543  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1522   1544   
                            ConstraintsService<L>,
 1523   1545   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1524         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, S>
        1546  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation, S>
 1525   1547   
                        >,
 1526         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1548  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1527   1549   
                            ConstraintsService<L>,
 1528   1550   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1529   1551   
                            ModelPl::Output
 1530   1552   
                        >,
 1531         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1553  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1532   1554   
                            ConstraintsService<L>,
 1533   1555   
                            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1534   1556   
                            <
 1535         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1536         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1557  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1558  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1537   1559   
                                    ConstraintsService<L>,
 1538   1560   
                                    crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 1539   1561   
                                    ModelPl::Output
 1540   1562   
                                >
 1541   1563   
                            >::Output
 1542   1564   
                        >,
 1543   1565   
 1544         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1566  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1545   1567   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1546   1568   
 1547   1569   
                    {
 1548         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1549         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1570  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1571  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1550   1572   
        let svc =
 1551   1573   
            crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation::from_service(
 1552   1574   
                service,
 1553   1575   
            );
 1554   1576   
        let svc = self.model_plugin.apply(svc);
 1555         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1577  +
        let svc =
        1578  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1556   1579   
                .apply(svc);
 1557   1580   
        let svc = self.http_plugin.apply(svc);
 1558   1581   
        self.query_params_targeting_map_of_enum_string_operation_custom(svc)
 1559   1582   
    }
 1560   1583   
 1561   1584   
    /// Sets the [`QueryParamsTargetingMapOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation) to a custom [`Service`](tower::Service).
 1562   1585   
    /// not constrained by the Smithy contract.
 1563   1586   
    fn query_params_targeting_map_of_enum_string_operation_custom<S>(mut self, svc: S) -> Self
 1564   1587   
    where
 1565   1588   
        S: ::tower::Service<
 1566   1589   
                ::http::Request<Body>,
 1567         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1590  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1568   1591   
                Error = ::std::convert::Infallible,
 1569   1592   
            > + Clone
 1570   1593   
            + Send
 1571   1594   
            + 'static,
 1572   1595   
        S::Future: Send + 'static,
 1573   1596   
    {
 1574   1597   
        self.query_params_targeting_map_of_enum_string_operation =
 1575         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1598  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1576   1599   
        self
 1577   1600   
    }
 1578   1601   
 1579   1602   
    /// Sets the [`QueryParamsTargetingMapOfLengthListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation) operation.
 1580   1603   
    ///
 1581         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1582         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1604  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1605  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1583   1606   
    ///
 1584   1607   
    /// # Example
 1585   1608   
    ///
 1586   1609   
    /// ```no_run
 1587   1610   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1588   1611   
    ///
 1589   1612   
    /// use constraints::{input, output, error};
 1590   1613   
    ///
 1591   1614   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError> {
 1592   1615   
    ///     todo!()
 1593   1616   
    /// }
 1594   1617   
    ///
 1595   1618   
    /// let config = ConstraintsServiceConfig::builder().build();
 1596   1619   
    /// let app = ConstraintsService::builder(config)
 1597   1620   
    ///     .query_params_targeting_map_of_length_list_of_pattern_string_operation(handler)
 1598   1621   
    ///     /* Set other handlers */
 1599   1622   
    ///     .build()
 1600   1623   
    ///     .unwrap();
 1601         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1624  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1602   1625   
    /// ```
 1603   1626   
    ///
 1604   1627   
                    pub fn query_params_targeting_map_of_length_list_of_pattern_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1605   1628   
                    where
 1606         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, HandlerExtractors>,
        1629  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, HandlerExtractors>,
 1607   1630   
 1608         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1631  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1609   1632   
                            ConstraintsService<L>,
 1610   1633   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1611         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, HandlerType>
        1634  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, HandlerType>
 1612   1635   
                        >,
 1613         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1636  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1614   1637   
                            ConstraintsService<L>,
 1615   1638   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1616   1639   
                            ModelPl::Output
 1617   1640   
                        >,
 1618         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1641  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1619   1642   
                            ConstraintsService<L>,
 1620   1643   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1621   1644   
                            <
 1622         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1623         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1645  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1646  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1624   1647   
                                    ConstraintsService<L>,
 1625   1648   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1626   1649   
                                    ModelPl::Output
 1627   1650   
                                >
 1628   1651   
                            >::Output
 1629   1652   
                        >,
 1630   1653   
 1631         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1654  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1632   1655   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1633   1656   
 1634   1657   
                    {
 1635         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1636         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1658  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1659  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1637   1660   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation::from_handler(handler);
 1638   1661   
        let svc = self.model_plugin.apply(svc);
 1639         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1662  +
        let svc =
        1663  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1640   1664   
                .apply(svc);
 1641   1665   
        let svc = self.http_plugin.apply(svc);
 1642   1666   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation_custom(svc)
 1643   1667   
    }
 1644   1668   
 1645   1669   
    /// Sets the [`QueryParamsTargetingMapOfLengthListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation) operation.
 1646   1670   
    ///
 1647         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1648         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1671  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1672  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1649   1673   
    ///
 1650   1674   
    /// # Example
 1651   1675   
    ///
 1652   1676   
    /// ```no_run
 1653   1677   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1654   1678   
    ///
 1655   1679   
    /// use constraints::{input, output, error};
 1656   1680   
    ///
 1657   1681   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthListOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthListOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfLengthListOfPatternStringOperationError> {
 1658   1682   
    ///     todo!()
 1659   1683   
    /// }
 1660   1684   
    ///
 1661   1685   
    /// let config = ConstraintsServiceConfig::builder().build();
 1662   1686   
    /// let svc = ::tower::util::service_fn(handler);
 1663   1687   
    /// let app = ConstraintsService::builder(config)
 1664   1688   
    ///     .query_params_targeting_map_of_length_list_of_pattern_string_operation_service(svc)
 1665   1689   
    ///     /* Set other handlers */
 1666   1690   
    ///     .build()
 1667   1691   
    ///     .unwrap();
 1668         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1692  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1669   1693   
    /// ```
 1670   1694   
    ///
 1671   1695   
                    pub fn query_params_targeting_map_of_length_list_of_pattern_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1672   1696   
                    where
 1673         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, ServiceExtractors>,
        1697  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, ServiceExtractors>,
 1674   1698   
 1675         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1699  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1676   1700   
                            ConstraintsService<L>,
 1677   1701   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1678         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, S>
        1702  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation, S>
 1679   1703   
                        >,
 1680         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1704  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1681   1705   
                            ConstraintsService<L>,
 1682   1706   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1683   1707   
                            ModelPl::Output
 1684   1708   
                        >,
 1685         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1709  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1686   1710   
                            ConstraintsService<L>,
 1687   1711   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1688   1712   
                            <
 1689         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1690         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1713  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1714  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1691   1715   
                                    ConstraintsService<L>,
 1692   1716   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 1693   1717   
                                    ModelPl::Output
 1694   1718   
                                >
 1695   1719   
                            >::Output
 1696   1720   
                        >,
 1697   1721   
 1698         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1722  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1699   1723   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1700   1724   
 1701   1725   
                    {
 1702         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1703         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1726  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1727  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1704   1728   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation::from_service(service);
 1705   1729   
        let svc = self.model_plugin.apply(svc);
 1706         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1730  +
        let svc =
        1731  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1707   1732   
                .apply(svc);
 1708   1733   
        let svc = self.http_plugin.apply(svc);
 1709   1734   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation_custom(svc)
 1710   1735   
    }
 1711   1736   
 1712   1737   
    /// Sets the [`QueryParamsTargetingMapOfLengthListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation) to a custom [`Service`](tower::Service).
 1713   1738   
    /// not constrained by the Smithy contract.
 1714   1739   
    fn query_params_targeting_map_of_length_list_of_pattern_string_operation_custom<S>(
 1715   1740   
        mut self,
 1716   1741   
        svc: S,
 1717   1742   
    ) -> Self
 1718   1743   
    where
 1719   1744   
        S: ::tower::Service<
 1720   1745   
                ::http::Request<Body>,
 1721         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1746  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1722   1747   
                Error = ::std::convert::Infallible,
 1723   1748   
            > + Clone
 1724   1749   
            + Send
 1725   1750   
            + 'static,
 1726   1751   
        S::Future: Send + 'static,
 1727   1752   
    {
 1728   1753   
        self.query_params_targeting_map_of_length_list_of_pattern_string_operation =
 1729         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1754  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1730   1755   
        self
 1731   1756   
    }
 1732   1757   
 1733   1758   
    /// Sets the [`QueryParamsTargetingMapOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation) operation.
 1734   1759   
    ///
 1735         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1736         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1760  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1761  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1737   1762   
    ///
 1738   1763   
    /// # Example
 1739   1764   
    ///
 1740   1765   
    /// ```no_run
 1741   1766   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1742   1767   
    ///
 1743   1768   
    /// use constraints::{input, output, error};
 1744   1769   
    ///
 1745   1770   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput, error::QueryParamsTargetingMapOfLengthPatternStringOperationError> {
 1746   1771   
    ///     todo!()
 1747   1772   
    /// }
 1748   1773   
    ///
 1749   1774   
    /// let config = ConstraintsServiceConfig::builder().build();
 1750   1775   
    /// let app = ConstraintsService::builder(config)
 1751   1776   
    ///     .query_params_targeting_map_of_length_pattern_string_operation(handler)
 1752   1777   
    ///     /* Set other handlers */
 1753   1778   
    ///     .build()
 1754   1779   
    ///     .unwrap();
 1755         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1780  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1756   1781   
    /// ```
 1757   1782   
    ///
 1758   1783   
                    pub fn query_params_targeting_map_of_length_pattern_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1759   1784   
                    where
 1760         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, HandlerExtractors>,
        1785  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, HandlerExtractors>,
 1761   1786   
 1762         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1787  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1763   1788   
                            ConstraintsService<L>,
 1764   1789   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1765         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, HandlerType>
        1790  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, HandlerType>
 1766   1791   
                        >,
 1767         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1792  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1768   1793   
                            ConstraintsService<L>,
 1769   1794   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1770   1795   
                            ModelPl::Output
 1771   1796   
                        >,
 1772         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1797  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1773   1798   
                            ConstraintsService<L>,
 1774   1799   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1775   1800   
                            <
 1776         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1777         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1801  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1802  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1778   1803   
                                    ConstraintsService<L>,
 1779   1804   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1780   1805   
                                    ModelPl::Output
 1781   1806   
                                >
 1782   1807   
                            >::Output
 1783   1808   
                        >,
 1784   1809   
 1785         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1810  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1786   1811   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1787   1812   
 1788   1813   
                    {
 1789         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1790         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1814  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1815  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1791   1816   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation::from_handler(handler);
 1792   1817   
        let svc = self.model_plugin.apply(svc);
 1793         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1818  +
        let svc =
        1819  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1794   1820   
                .apply(svc);
 1795   1821   
        let svc = self.http_plugin.apply(svc);
 1796   1822   
        self.query_params_targeting_map_of_length_pattern_string_operation_custom(svc)
 1797   1823   
    }
 1798   1824   
 1799   1825   
    /// Sets the [`QueryParamsTargetingMapOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation) operation.
 1800   1826   
    ///
 1801         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1802         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1827  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1828  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1803   1829   
    ///
 1804   1830   
    /// # Example
 1805   1831   
    ///
 1806   1832   
    /// ```no_run
 1807   1833   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1808   1834   
    ///
 1809   1835   
    /// use constraints::{input, output, error};
 1810   1836   
    ///
 1811   1837   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthPatternStringOperationOutput, error::QueryParamsTargetingMapOfLengthPatternStringOperationError> {
 1812   1838   
    ///     todo!()
 1813   1839   
    /// }
 1814   1840   
    ///
 1815   1841   
    /// let config = ConstraintsServiceConfig::builder().build();
 1816   1842   
    /// let svc = ::tower::util::service_fn(handler);
 1817   1843   
    /// let app = ConstraintsService::builder(config)
 1818   1844   
    ///     .query_params_targeting_map_of_length_pattern_string_operation_service(svc)
 1819   1845   
    ///     /* Set other handlers */
 1820   1846   
    ///     .build()
 1821   1847   
    ///     .unwrap();
 1822         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1848  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1823   1849   
    /// ```
 1824   1850   
    ///
 1825   1851   
                    pub fn query_params_targeting_map_of_length_pattern_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1826   1852   
                    where
 1827         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, ServiceExtractors>,
        1853  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, ServiceExtractors>,
 1828   1854   
 1829         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1855  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1830   1856   
                            ConstraintsService<L>,
 1831   1857   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1832         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, S>
        1858  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation, S>
 1833   1859   
                        >,
 1834         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1860  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1835   1861   
                            ConstraintsService<L>,
 1836   1862   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1837   1863   
                            ModelPl::Output
 1838   1864   
                        >,
 1839         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1865  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1840   1866   
                            ConstraintsService<L>,
 1841   1867   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1842   1868   
                            <
 1843         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1844         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1869  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1870  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1845   1871   
                                    ConstraintsService<L>,
 1846   1872   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 1847   1873   
                                    ModelPl::Output
 1848   1874   
                                >
 1849   1875   
                            >::Output
 1850   1876   
                        >,
 1851   1877   
 1852         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1878  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1853   1879   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1854   1880   
 1855   1881   
                    {
 1856         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1857         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1882  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1883  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1858   1884   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation::from_service(service);
 1859   1885   
        let svc = self.model_plugin.apply(svc);
 1860         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1886  +
        let svc =
        1887  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1861   1888   
                .apply(svc);
 1862   1889   
        let svc = self.http_plugin.apply(svc);
 1863   1890   
        self.query_params_targeting_map_of_length_pattern_string_operation_custom(svc)
 1864   1891   
    }
 1865   1892   
 1866   1893   
    /// Sets the [`QueryParamsTargetingMapOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation) to a custom [`Service`](tower::Service).
 1867   1894   
    /// not constrained by the Smithy contract.
 1868   1895   
    fn query_params_targeting_map_of_length_pattern_string_operation_custom<S>(
 1869   1896   
        mut self,
 1870   1897   
        svc: S,
 1871   1898   
    ) -> Self
 1872   1899   
    where
 1873   1900   
        S: ::tower::Service<
 1874   1901   
                ::http::Request<Body>,
 1875         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1902  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1876   1903   
                Error = ::std::convert::Infallible,
 1877   1904   
            > + Clone
 1878   1905   
            + Send
 1879   1906   
            + 'static,
 1880   1907   
        S::Future: Send + 'static,
 1881   1908   
    {
 1882   1909   
        self.query_params_targeting_map_of_length_pattern_string_operation =
 1883         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        1910  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 1884   1911   
        self
 1885   1912   
    }
 1886   1913   
 1887   1914   
    /// Sets the [`QueryParamsTargetingMapOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation) operation.
 1888   1915   
    ///
 1889         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1890         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1916  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1917  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1891   1918   
    ///
 1892   1919   
    /// # Example
 1893   1920   
    ///
 1894   1921   
    /// ```no_run
 1895   1922   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1896   1923   
    ///
 1897   1924   
    /// use constraints::{input, output, error};
 1898   1925   
    ///
 1899   1926   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfLengthStringOperationError> {
 1900   1927   
    ///     todo!()
 1901   1928   
    /// }
 1902   1929   
    ///
 1903   1930   
    /// let config = ConstraintsServiceConfig::builder().build();
 1904   1931   
    /// let app = ConstraintsService::builder(config)
 1905   1932   
    ///     .query_params_targeting_map_of_length_string_operation(handler)
 1906   1933   
    ///     /* Set other handlers */
 1907   1934   
    ///     .build()
 1908   1935   
    ///     .unwrap();
 1909         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        1936  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1910   1937   
    /// ```
 1911   1938   
    ///
 1912   1939   
                    pub fn query_params_targeting_map_of_length_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 1913   1940   
                    where
 1914         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, HandlerExtractors>,
        1941  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, HandlerExtractors>,
 1915   1942   
 1916         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        1943  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1917   1944   
                            ConstraintsService<L>,
 1918   1945   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1919         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, HandlerType>
        1946  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, HandlerType>
 1920   1947   
                        >,
 1921         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        1948  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1922   1949   
                            ConstraintsService<L>,
 1923   1950   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1924   1951   
                            ModelPl::Output
 1925   1952   
                        >,
 1926         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        1953  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1927   1954   
                            ConstraintsService<L>,
 1928   1955   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1929   1956   
                            <
 1930         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 1931         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        1957  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        1958  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 1932   1959   
                                    ConstraintsService<L>,
 1933   1960   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1934   1961   
                                    ModelPl::Output
 1935   1962   
                                >
 1936   1963   
                            >::Output
 1937   1964   
                        >,
 1938   1965   
 1939         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        1966  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 1940   1967   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 1941   1968   
 1942   1969   
                    {
 1943         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 1944         -
        use ::aws_smithy_http_server::plugin::Plugin;
        1970  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        1971  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 1945   1972   
        let svc =
 1946   1973   
            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation::from_handler(
 1947   1974   
                handler,
 1948   1975   
            );
 1949   1976   
        let svc = self.model_plugin.apply(svc);
 1950         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        1977  +
        let svc =
        1978  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 1951   1979   
                .apply(svc);
 1952   1980   
        let svc = self.http_plugin.apply(svc);
 1953   1981   
        self.query_params_targeting_map_of_length_string_operation_custom(svc)
 1954   1982   
    }
 1955   1983   
 1956   1984   
    /// Sets the [`QueryParamsTargetingMapOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation) operation.
 1957   1985   
    ///
 1958         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 1959         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        1986  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        1987  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 1960   1988   
    ///
 1961   1989   
    /// # Example
 1962   1990   
    ///
 1963   1991   
    /// ```no_run
 1964   1992   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 1965   1993   
    ///
 1966   1994   
    /// use constraints::{input, output, error};
 1967   1995   
    ///
 1968   1996   
    /// async fn handler(input: input::QueryParamsTargetingMapOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfLengthStringOperationError> {
 1969   1997   
    ///     todo!()
 1970   1998   
    /// }
 1971   1999   
    ///
 1972   2000   
    /// let config = ConstraintsServiceConfig::builder().build();
 1973   2001   
    /// let svc = ::tower::util::service_fn(handler);
 1974   2002   
    /// let app = ConstraintsService::builder(config)
 1975   2003   
    ///     .query_params_targeting_map_of_length_string_operation_service(svc)
 1976   2004   
    ///     /* Set other handlers */
 1977   2005   
    ///     .build()
 1978   2006   
    ///     .unwrap();
 1979         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2007  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 1980   2008   
    /// ```
 1981   2009   
    ///
 1982   2010   
                    pub fn query_params_targeting_map_of_length_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 1983   2011   
                    where
 1984         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, ServiceExtractors>,
        2012  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, ServiceExtractors>,
 1985   2013   
 1986         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2014  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1987   2015   
                            ConstraintsService<L>,
 1988   2016   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1989         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, S>
        2017  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation, S>
 1990   2018   
                        >,
 1991         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2019  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1992   2020   
                            ConstraintsService<L>,
 1993   2021   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1994   2022   
                            ModelPl::Output
 1995   2023   
                        >,
 1996         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2024  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 1997   2025   
                            ConstraintsService<L>,
 1998   2026   
                            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 1999   2027   
                            <
 2000         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2001         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2028  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2029  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2002   2030   
                                    ConstraintsService<L>,
 2003   2031   
                                    crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 2004   2032   
                                    ModelPl::Output
 2005   2033   
                                >
 2006   2034   
                            >::Output
 2007   2035   
                        >,
 2008   2036   
 2009         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2037  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2010   2038   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2011   2039   
 2012   2040   
                    {
 2013         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2014         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2041  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2042  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2015   2043   
        let svc =
 2016   2044   
            crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation::from_service(
 2017   2045   
                service,
 2018   2046   
            );
 2019   2047   
        let svc = self.model_plugin.apply(svc);
 2020         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2048  +
        let svc =
        2049  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2021   2050   
                .apply(svc);
 2022   2051   
        let svc = self.http_plugin.apply(svc);
 2023   2052   
        self.query_params_targeting_map_of_length_string_operation_custom(svc)
 2024   2053   
    }
 2025   2054   
 2026   2055   
    /// Sets the [`QueryParamsTargetingMapOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2027   2056   
    /// not constrained by the Smithy contract.
 2028   2057   
    fn query_params_targeting_map_of_length_string_operation_custom<S>(mut self, svc: S) -> Self
 2029   2058   
    where
 2030   2059   
        S: ::tower::Service<
 2031   2060   
                ::http::Request<Body>,
 2032         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2061  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2033   2062   
                Error = ::std::convert::Infallible,
 2034   2063   
            > + Clone
 2035   2064   
            + Send
 2036   2065   
            + 'static,
 2037   2066   
        S::Future: Send + 'static,
 2038   2067   
    {
 2039   2068   
        self.query_params_targeting_map_of_length_string_operation =
 2040         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2069  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2041   2070   
        self
 2042   2071   
    }
 2043   2072   
 2044   2073   
    /// Sets the [`QueryParamsTargetingMapOfListOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation) operation.
 2045   2074   
    ///
 2046         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2047         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2075  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2076  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2048   2077   
    ///
 2049   2078   
    /// # Example
 2050   2079   
    ///
 2051   2080   
    /// ```no_run
 2052   2081   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2053   2082   
    ///
 2054   2083   
    /// use constraints::{input, output, error};
 2055   2084   
    ///
 2056   2085   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfEnumStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput, error::QueryParamsTargetingMapOfListOfEnumStringOperationError> {
 2057   2086   
    ///     todo!()
 2058   2087   
    /// }
 2059   2088   
    ///
 2060   2089   
    /// let config = ConstraintsServiceConfig::builder().build();
 2061   2090   
    /// let app = ConstraintsService::builder(config)
 2062   2091   
    ///     .query_params_targeting_map_of_list_of_enum_string_operation(handler)
 2063   2092   
    ///     /* Set other handlers */
 2064   2093   
    ///     .build()
 2065   2094   
    ///     .unwrap();
 2066         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2095  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2067   2096   
    /// ```
 2068   2097   
    ///
 2069   2098   
                    pub fn query_params_targeting_map_of_list_of_enum_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2070   2099   
                    where
 2071         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, HandlerExtractors>,
        2100  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, HandlerExtractors>,
 2072   2101   
 2073         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2102  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2074   2103   
                            ConstraintsService<L>,
 2075   2104   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2076         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, HandlerType>
        2105  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, HandlerType>
 2077   2106   
                        >,
 2078         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2107  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2079   2108   
                            ConstraintsService<L>,
 2080   2109   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2081   2110   
                            ModelPl::Output
 2082   2111   
                        >,
 2083         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2112  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2084   2113   
                            ConstraintsService<L>,
 2085   2114   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2086   2115   
                            <
 2087         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2088         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2116  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2117  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2089   2118   
                                    ConstraintsService<L>,
 2090   2119   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2091   2120   
                                    ModelPl::Output
 2092   2121   
                                >
 2093   2122   
                            >::Output
 2094   2123   
                        >,
 2095   2124   
 2096         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2125  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2097   2126   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2098   2127   
 2099   2128   
                    {
 2100         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2101         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2129  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2130  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2102   2131   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation::from_handler(handler);
 2103   2132   
        let svc = self.model_plugin.apply(svc);
 2104         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2133  +
        let svc =
        2134  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2105   2135   
                .apply(svc);
 2106   2136   
        let svc = self.http_plugin.apply(svc);
 2107   2137   
        self.query_params_targeting_map_of_list_of_enum_string_operation_custom(svc)
 2108   2138   
    }
 2109   2139   
 2110   2140   
    /// Sets the [`QueryParamsTargetingMapOfListOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation) operation.
 2111   2141   
    ///
 2112         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2113         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2142  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2143  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2114   2144   
    ///
 2115   2145   
    /// # Example
 2116   2146   
    ///
 2117   2147   
    /// ```no_run
 2118   2148   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2119   2149   
    ///
 2120   2150   
    /// use constraints::{input, output, error};
 2121   2151   
    ///
 2122   2152   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfEnumStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfEnumStringOperationOutput, error::QueryParamsTargetingMapOfListOfEnumStringOperationError> {
 2123   2153   
    ///     todo!()
 2124   2154   
    /// }
 2125   2155   
    ///
 2126   2156   
    /// let config = ConstraintsServiceConfig::builder().build();
 2127   2157   
    /// let svc = ::tower::util::service_fn(handler);
 2128   2158   
    /// let app = ConstraintsService::builder(config)
 2129   2159   
    ///     .query_params_targeting_map_of_list_of_enum_string_operation_service(svc)
 2130   2160   
    ///     /* Set other handlers */
 2131   2161   
    ///     .build()
 2132   2162   
    ///     .unwrap();
 2133         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2163  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2134   2164   
    /// ```
 2135   2165   
    ///
 2136   2166   
                    pub fn query_params_targeting_map_of_list_of_enum_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2137   2167   
                    where
 2138         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, ServiceExtractors>,
        2168  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, ServiceExtractors>,
 2139   2169   
 2140         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2170  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2141   2171   
                            ConstraintsService<L>,
 2142   2172   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2143         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, S>
        2173  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation, S>
 2144   2174   
                        >,
 2145         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2175  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2146   2176   
                            ConstraintsService<L>,
 2147   2177   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2148   2178   
                            ModelPl::Output
 2149   2179   
                        >,
 2150         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2180  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2151   2181   
                            ConstraintsService<L>,
 2152   2182   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2153   2183   
                            <
 2154         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2155         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2184  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2185  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2156   2186   
                                    ConstraintsService<L>,
 2157   2187   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 2158   2188   
                                    ModelPl::Output
 2159   2189   
                                >
 2160   2190   
                            >::Output
 2161   2191   
                        >,
 2162   2192   
 2163         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2193  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2164   2194   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2165   2195   
 2166   2196   
                    {
 2167         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2168         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2197  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2198  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2169   2199   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation::from_service(service);
 2170   2200   
        let svc = self.model_plugin.apply(svc);
 2171         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2201  +
        let svc =
        2202  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2172   2203   
                .apply(svc);
 2173   2204   
        let svc = self.http_plugin.apply(svc);
 2174   2205   
        self.query_params_targeting_map_of_list_of_enum_string_operation_custom(svc)
 2175   2206   
    }
 2176   2207   
 2177   2208   
    /// Sets the [`QueryParamsTargetingMapOfListOfEnumStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation) to a custom [`Service`](tower::Service).
 2178   2209   
    /// not constrained by the Smithy contract.
 2179   2210   
    fn query_params_targeting_map_of_list_of_enum_string_operation_custom<S>(
 2180   2211   
        mut self,
 2181   2212   
        svc: S,
 2182   2213   
    ) -> Self
 2183   2214   
    where
 2184   2215   
        S: ::tower::Service<
 2185   2216   
                ::http::Request<Body>,
 2186         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2217  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2187   2218   
                Error = ::std::convert::Infallible,
 2188   2219   
            > + Clone
 2189   2220   
            + Send
 2190   2221   
            + 'static,
 2191   2222   
        S::Future: Send + 'static,
 2192   2223   
    {
 2193   2224   
        self.query_params_targeting_map_of_list_of_enum_string_operation =
 2194         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2225  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2195   2226   
        self
 2196   2227   
    }
 2197   2228   
 2198   2229   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation) operation.
 2199   2230   
    ///
 2200         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2201         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2231  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2232  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2202   2233   
    ///
 2203   2234   
    /// # Example
 2204   2235   
    ///
 2205   2236   
    /// ```no_run
 2206   2237   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2207   2238   
    ///
 2208   2239   
    /// use constraints::{input, output, error};
 2209   2240   
    ///
 2210   2241   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput, error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError> {
 2211   2242   
    ///     todo!()
 2212   2243   
    /// }
 2213   2244   
    ///
 2214   2245   
    /// let config = ConstraintsServiceConfig::builder().build();
 2215   2246   
    /// let app = ConstraintsService::builder(config)
 2216   2247   
    ///     .query_params_targeting_map_of_list_of_length_pattern_string_operation(handler)
 2217   2248   
    ///     /* Set other handlers */
 2218   2249   
    ///     .build()
 2219   2250   
    ///     .unwrap();
 2220         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2251  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2221   2252   
    /// ```
 2222   2253   
    ///
 2223   2254   
                    pub fn query_params_targeting_map_of_list_of_length_pattern_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2224   2255   
                    where
 2225         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, HandlerExtractors>,
        2256  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, HandlerExtractors>,
 2226   2257   
 2227         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2258  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2228   2259   
                            ConstraintsService<L>,
 2229   2260   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2230         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, HandlerType>
        2261  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, HandlerType>
 2231   2262   
                        >,
 2232         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2263  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2233   2264   
                            ConstraintsService<L>,
 2234   2265   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2235   2266   
                            ModelPl::Output
 2236   2267   
                        >,
 2237         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2268  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2238   2269   
                            ConstraintsService<L>,
 2239   2270   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2240   2271   
                            <
 2241         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2242         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2272  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2273  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2243   2274   
                                    ConstraintsService<L>,
 2244   2275   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2245   2276   
                                    ModelPl::Output
 2246   2277   
                                >
 2247   2278   
                            >::Output
 2248   2279   
                        >,
 2249   2280   
 2250         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2281  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2251   2282   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2252   2283   
 2253   2284   
                    {
 2254         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2255         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2285  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2286  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2256   2287   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation::from_handler(handler);
 2257   2288   
        let svc = self.model_plugin.apply(svc);
 2258         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2289  +
        let svc =
        2290  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2259   2291   
                .apply(svc);
 2260   2292   
        let svc = self.http_plugin.apply(svc);
 2261   2293   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation_custom(svc)
 2262   2294   
    }
 2263   2295   
 2264   2296   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation) operation.
 2265   2297   
    ///
 2266         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2267         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2298  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2299  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2268   2300   
    ///
 2269   2301   
    /// # Example
 2270   2302   
    ///
 2271   2303   
    /// ```no_run
 2272   2304   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2273   2305   
    ///
 2274   2306   
    /// use constraints::{input, output, error};
 2275   2307   
    ///
 2276   2308   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfLengthPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfLengthPatternStringOperationOutput, error::QueryParamsTargetingMapOfListOfLengthPatternStringOperationError> {
 2277   2309   
    ///     todo!()
 2278   2310   
    /// }
 2279   2311   
    ///
 2280   2312   
    /// let config = ConstraintsServiceConfig::builder().build();
 2281   2313   
    /// let svc = ::tower::util::service_fn(handler);
 2282   2314   
    /// let app = ConstraintsService::builder(config)
 2283   2315   
    ///     .query_params_targeting_map_of_list_of_length_pattern_string_operation_service(svc)
 2284   2316   
    ///     /* Set other handlers */
 2285   2317   
    ///     .build()
 2286   2318   
    ///     .unwrap();
 2287         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2319  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2288   2320   
    /// ```
 2289   2321   
    ///
 2290   2322   
                    pub fn query_params_targeting_map_of_list_of_length_pattern_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2291   2323   
                    where
 2292         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, ServiceExtractors>,
        2324  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, ServiceExtractors>,
 2293   2325   
 2294         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2326  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2295   2327   
                            ConstraintsService<L>,
 2296   2328   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2297         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, S>
        2329  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation, S>
 2298   2330   
                        >,
 2299         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2331  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2300   2332   
                            ConstraintsService<L>,
 2301   2333   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2302   2334   
                            ModelPl::Output
 2303   2335   
                        >,
 2304         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2336  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2305   2337   
                            ConstraintsService<L>,
 2306   2338   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2307   2339   
                            <
 2308         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2309         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2340  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2341  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2310   2342   
                                    ConstraintsService<L>,
 2311   2343   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 2312   2344   
                                    ModelPl::Output
 2313   2345   
                                >
 2314   2346   
                            >::Output
 2315   2347   
                        >,
 2316   2348   
 2317         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2349  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2318   2350   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2319   2351   
 2320   2352   
                    {
 2321         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2322         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2353  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2354  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2323   2355   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation::from_service(service);
 2324   2356   
        let svc = self.model_plugin.apply(svc);
 2325         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2357  +
        let svc =
        2358  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2326   2359   
                .apply(svc);
 2327   2360   
        let svc = self.http_plugin.apply(svc);
 2328   2361   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation_custom(svc)
 2329   2362   
    }
 2330   2363   
 2331   2364   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation) to a custom [`Service`](tower::Service).
 2332   2365   
    /// not constrained by the Smithy contract.
 2333   2366   
    fn query_params_targeting_map_of_list_of_length_pattern_string_operation_custom<S>(
 2334   2367   
        mut self,
 2335   2368   
        svc: S,
 2336   2369   
    ) -> Self
 2337   2370   
    where
 2338   2371   
        S: ::tower::Service<
 2339   2372   
                ::http::Request<Body>,
 2340         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2373  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2341   2374   
                Error = ::std::convert::Infallible,
 2342   2375   
            > + Clone
 2343   2376   
            + Send
 2344   2377   
            + 'static,
 2345   2378   
        S::Future: Send + 'static,
 2346   2379   
    {
 2347   2380   
        self.query_params_targeting_map_of_list_of_length_pattern_string_operation =
 2348         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2381  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2349   2382   
        self
 2350   2383   
    }
 2351   2384   
 2352   2385   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation) operation.
 2353   2386   
    ///
 2354         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2355         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2387  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2388  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2356   2389   
    ///
 2357   2390   
    /// # Example
 2358   2391   
    ///
 2359   2392   
    /// ```no_run
 2360   2393   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2361   2394   
    ///
 2362   2395   
    /// use constraints::{input, output, error};
 2363   2396   
    ///
 2364   2397   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfListOfLengthStringOperationError> {
 2365   2398   
    ///     todo!()
 2366   2399   
    /// }
 2367   2400   
    ///
 2368   2401   
    /// let config = ConstraintsServiceConfig::builder().build();
 2369   2402   
    /// let app = ConstraintsService::builder(config)
 2370   2403   
    ///     .query_params_targeting_map_of_list_of_length_string_operation(handler)
 2371   2404   
    ///     /* Set other handlers */
 2372   2405   
    ///     .build()
 2373   2406   
    ///     .unwrap();
 2374         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2407  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2375   2408   
    /// ```
 2376   2409   
    ///
 2377   2410   
                    pub fn query_params_targeting_map_of_list_of_length_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2378   2411   
                    where
 2379         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, HandlerExtractors>,
        2412  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, HandlerExtractors>,
 2380   2413   
 2381         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2414  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2382   2415   
                            ConstraintsService<L>,
 2383   2416   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2384         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, HandlerType>
        2417  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, HandlerType>
 2385   2418   
                        >,
 2386         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2419  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2387   2420   
                            ConstraintsService<L>,
 2388   2421   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2389   2422   
                            ModelPl::Output
 2390   2423   
                        >,
 2391         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2424  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2392   2425   
                            ConstraintsService<L>,
 2393   2426   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2394   2427   
                            <
 2395         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2396         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2428  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2429  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2397   2430   
                                    ConstraintsService<L>,
 2398   2431   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2399   2432   
                                    ModelPl::Output
 2400   2433   
                                >
 2401   2434   
                            >::Output
 2402   2435   
                        >,
 2403   2436   
 2404         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2437  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2405   2438   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2406   2439   
 2407   2440   
                    {
 2408         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2409         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2441  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2442  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2410   2443   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation::from_handler(handler);
 2411   2444   
        let svc = self.model_plugin.apply(svc);
 2412         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2445  +
        let svc =
        2446  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2413   2447   
                .apply(svc);
 2414   2448   
        let svc = self.http_plugin.apply(svc);
 2415   2449   
        self.query_params_targeting_map_of_list_of_length_string_operation_custom(svc)
 2416   2450   
    }
 2417   2451   
 2418   2452   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation) operation.
 2419   2453   
    ///
 2420         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2421         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2454  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2455  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2422   2456   
    ///
 2423   2457   
    /// # Example
 2424   2458   
    ///
 2425   2459   
    /// ```no_run
 2426   2460   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2427   2461   
    ///
 2428   2462   
    /// use constraints::{input, output, error};
 2429   2463   
    ///
 2430   2464   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfListOfLengthStringOperationError> {
 2431   2465   
    ///     todo!()
 2432   2466   
    /// }
 2433   2467   
    ///
 2434   2468   
    /// let config = ConstraintsServiceConfig::builder().build();
 2435   2469   
    /// let svc = ::tower::util::service_fn(handler);
 2436   2470   
    /// let app = ConstraintsService::builder(config)
 2437   2471   
    ///     .query_params_targeting_map_of_list_of_length_string_operation_service(svc)
 2438   2472   
    ///     /* Set other handlers */
 2439   2473   
    ///     .build()
 2440   2474   
    ///     .unwrap();
 2441         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2475  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2442   2476   
    /// ```
 2443   2477   
    ///
 2444   2478   
                    pub fn query_params_targeting_map_of_list_of_length_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2445   2479   
                    where
 2446         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, ServiceExtractors>,
        2480  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, ServiceExtractors>,
 2447   2481   
 2448         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2482  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2449   2483   
                            ConstraintsService<L>,
 2450   2484   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2451         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, S>
        2485  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation, S>
 2452   2486   
                        >,
 2453         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2487  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2454   2488   
                            ConstraintsService<L>,
 2455   2489   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2456   2490   
                            ModelPl::Output
 2457   2491   
                        >,
 2458         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2492  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2459   2493   
                            ConstraintsService<L>,
 2460   2494   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2461   2495   
                            <
 2462         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2463         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2496  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2497  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2464   2498   
                                    ConstraintsService<L>,
 2465   2499   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 2466   2500   
                                    ModelPl::Output
 2467   2501   
                                >
 2468   2502   
                            >::Output
 2469   2503   
                        >,
 2470   2504   
 2471         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2505  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2472   2506   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2473   2507   
 2474   2508   
                    {
 2475         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2476         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2509  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2510  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2477   2511   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation::from_service(service);
 2478   2512   
        let svc = self.model_plugin.apply(svc);
 2479         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2513  +
        let svc =
        2514  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2480   2515   
                .apply(svc);
 2481   2516   
        let svc = self.http_plugin.apply(svc);
 2482   2517   
        self.query_params_targeting_map_of_list_of_length_string_operation_custom(svc)
 2483   2518   
    }
 2484   2519   
 2485   2520   
    /// Sets the [`QueryParamsTargetingMapOfListOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2486   2521   
    /// not constrained by the Smithy contract.
 2487   2522   
    fn query_params_targeting_map_of_list_of_length_string_operation_custom<S>(
 2488   2523   
        mut self,
 2489   2524   
        svc: S,
 2490   2525   
    ) -> Self
 2491   2526   
    where
 2492   2527   
        S: ::tower::Service<
 2493   2528   
                ::http::Request<Body>,
 2494         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2529  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2495   2530   
                Error = ::std::convert::Infallible,
 2496   2531   
            > + Clone
 2497   2532   
            + Send
 2498   2533   
            + 'static,
 2499   2534   
        S::Future: Send + 'static,
 2500   2535   
    {
 2501   2536   
        self.query_params_targeting_map_of_list_of_length_string_operation =
 2502         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2537  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2503   2538   
        self
 2504   2539   
    }
 2505   2540   
 2506   2541   
    /// Sets the [`QueryParamsTargetingMapOfListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation) operation.
 2507   2542   
    ///
 2508         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2509         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2543  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2544  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2510   2545   
    ///
 2511   2546   
    /// # Example
 2512   2547   
    ///
 2513   2548   
    /// ```no_run
 2514   2549   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2515   2550   
    ///
 2516   2551   
    /// use constraints::{input, output, error};
 2517   2552   
    ///
 2518   2553   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfListOfPatternStringOperationError> {
 2519   2554   
    ///     todo!()
 2520   2555   
    /// }
 2521   2556   
    ///
 2522   2557   
    /// let config = ConstraintsServiceConfig::builder().build();
 2523   2558   
    /// let app = ConstraintsService::builder(config)
 2524   2559   
    ///     .query_params_targeting_map_of_list_of_pattern_string_operation(handler)
 2525   2560   
    ///     /* Set other handlers */
 2526   2561   
    ///     .build()
 2527   2562   
    ///     .unwrap();
 2528         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2563  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2529   2564   
    /// ```
 2530   2565   
    ///
 2531   2566   
                    pub fn query_params_targeting_map_of_list_of_pattern_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2532   2567   
                    where
 2533         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, HandlerExtractors>,
        2568  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, HandlerExtractors>,
 2534   2569   
 2535         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2570  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2536   2571   
                            ConstraintsService<L>,
 2537   2572   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2538         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, HandlerType>
        2573  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, HandlerType>
 2539   2574   
                        >,
 2540         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2575  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2541   2576   
                            ConstraintsService<L>,
 2542   2577   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2543   2578   
                            ModelPl::Output
 2544   2579   
                        >,
 2545         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2580  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2546   2581   
                            ConstraintsService<L>,
 2547   2582   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2548   2583   
                            <
 2549         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2550         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2584  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2585  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2551   2586   
                                    ConstraintsService<L>,
 2552   2587   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2553   2588   
                                    ModelPl::Output
 2554   2589   
                                >
 2555   2590   
                            >::Output
 2556   2591   
                        >,
 2557   2592   
 2558         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2593  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2559   2594   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2560   2595   
 2561   2596   
                    {
 2562         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2563         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2597  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2598  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2564   2599   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation::from_handler(handler);
 2565   2600   
        let svc = self.model_plugin.apply(svc);
 2566         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2601  +
        let svc =
        2602  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2567   2603   
                .apply(svc);
 2568   2604   
        let svc = self.http_plugin.apply(svc);
 2569   2605   
        self.query_params_targeting_map_of_list_of_pattern_string_operation_custom(svc)
 2570   2606   
    }
 2571   2607   
 2572   2608   
    /// Sets the [`QueryParamsTargetingMapOfListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation) operation.
 2573   2609   
    ///
 2574         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2575         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2610  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2611  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2576   2612   
    ///
 2577   2613   
    /// # Example
 2578   2614   
    ///
 2579   2615   
    /// ```no_run
 2580   2616   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2581   2617   
    ///
 2582   2618   
    /// use constraints::{input, output, error};
 2583   2619   
    ///
 2584   2620   
    /// async fn handler(input: input::QueryParamsTargetingMapOfListOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfListOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfListOfPatternStringOperationError> {
 2585   2621   
    ///     todo!()
 2586   2622   
    /// }
 2587   2623   
    ///
 2588   2624   
    /// let config = ConstraintsServiceConfig::builder().build();
 2589   2625   
    /// let svc = ::tower::util::service_fn(handler);
 2590   2626   
    /// let app = ConstraintsService::builder(config)
 2591   2627   
    ///     .query_params_targeting_map_of_list_of_pattern_string_operation_service(svc)
 2592   2628   
    ///     /* Set other handlers */
 2593   2629   
    ///     .build()
 2594   2630   
    ///     .unwrap();
 2595         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2631  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2596   2632   
    /// ```
 2597   2633   
    ///
 2598   2634   
                    pub fn query_params_targeting_map_of_list_of_pattern_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2599   2635   
                    where
 2600         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, ServiceExtractors>,
        2636  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, ServiceExtractors>,
 2601   2637   
 2602         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2638  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2603   2639   
                            ConstraintsService<L>,
 2604   2640   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2605         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, S>
        2641  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation, S>
 2606   2642   
                        >,
 2607         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2643  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2608   2644   
                            ConstraintsService<L>,
 2609   2645   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2610   2646   
                            ModelPl::Output
 2611   2647   
                        >,
 2612         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2648  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2613   2649   
                            ConstraintsService<L>,
 2614   2650   
                            crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2615   2651   
                            <
 2616         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2617         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2652  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2653  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2618   2654   
                                    ConstraintsService<L>,
 2619   2655   
                                    crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 2620   2656   
                                    ModelPl::Output
 2621   2657   
                                >
 2622   2658   
                            >::Output
 2623   2659   
                        >,
 2624   2660   
 2625         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2661  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2626   2662   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2627   2663   
 2628   2664   
                    {
 2629         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2630         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2665  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2666  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2631   2667   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation::from_service(service);
 2632   2668   
        let svc = self.model_plugin.apply(svc);
 2633         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2669  +
        let svc =
        2670  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2634   2671   
                .apply(svc);
 2635   2672   
        let svc = self.http_plugin.apply(svc);
 2636   2673   
        self.query_params_targeting_map_of_list_of_pattern_string_operation_custom(svc)
 2637   2674   
    }
 2638   2675   
 2639   2676   
    /// Sets the [`QueryParamsTargetingMapOfListOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation) to a custom [`Service`](tower::Service).
 2640   2677   
    /// not constrained by the Smithy contract.
 2641   2678   
    fn query_params_targeting_map_of_list_of_pattern_string_operation_custom<S>(
 2642   2679   
        mut self,
 2643   2680   
        svc: S,
 2644   2681   
    ) -> Self
 2645   2682   
    where
 2646   2683   
        S: ::tower::Service<
 2647   2684   
                ::http::Request<Body>,
 2648         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2685  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2649   2686   
                Error = ::std::convert::Infallible,
 2650   2687   
            > + Clone
 2651   2688   
            + Send
 2652   2689   
            + 'static,
 2653   2690   
        S::Future: Send + 'static,
 2654   2691   
    {
 2655   2692   
        self.query_params_targeting_map_of_list_of_pattern_string_operation =
 2656         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2693  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2657   2694   
        self
 2658   2695   
    }
 2659   2696   
 2660   2697   
    /// Sets the [`QueryParamsTargetingMapOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation) operation.
 2661   2698   
    ///
 2662         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2663         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2699  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2700  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2664   2701   
    ///
 2665   2702   
    /// # Example
 2666   2703   
    ///
 2667   2704   
    /// ```no_run
 2668   2705   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2669   2706   
    ///
 2670   2707   
    /// use constraints::{input, output, error};
 2671   2708   
    ///
 2672   2709   
    /// async fn handler(input: input::QueryParamsTargetingMapOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfPatternStringOperationError> {
 2673   2710   
    ///     todo!()
 2674   2711   
    /// }
 2675   2712   
    ///
 2676   2713   
    /// let config = ConstraintsServiceConfig::builder().build();
 2677   2714   
    /// let app = ConstraintsService::builder(config)
 2678   2715   
    ///     .query_params_targeting_map_of_pattern_string_operation(handler)
 2679   2716   
    ///     /* Set other handlers */
 2680   2717   
    ///     .build()
 2681   2718   
    ///     .unwrap();
 2682         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2719  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2683   2720   
    /// ```
 2684   2721   
    ///
 2685   2722   
                    pub fn query_params_targeting_map_of_pattern_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2686   2723   
                    where
 2687         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, HandlerExtractors>,
        2724  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, HandlerExtractors>,
 2688   2725   
 2689         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2726  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2690   2727   
                            ConstraintsService<L>,
 2691   2728   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2692         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, HandlerType>
        2729  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, HandlerType>
 2693   2730   
                        >,
 2694         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2731  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2695   2732   
                            ConstraintsService<L>,
 2696   2733   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2697   2734   
                            ModelPl::Output
 2698   2735   
                        >,
 2699         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2736  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2700   2737   
                            ConstraintsService<L>,
 2701   2738   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2702   2739   
                            <
 2703         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2704         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2740  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2741  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2705   2742   
                                    ConstraintsService<L>,
 2706   2743   
                                    crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2707   2744   
                                    ModelPl::Output
 2708   2745   
                                >
 2709   2746   
                            >::Output
 2710   2747   
                        >,
 2711   2748   
 2712         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2749  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2713   2750   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2714   2751   
 2715   2752   
                    {
 2716         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2717         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2753  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2754  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2718   2755   
        let svc =
 2719   2756   
            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation::from_handler(
 2720   2757   
                handler,
 2721   2758   
            );
 2722   2759   
        let svc = self.model_plugin.apply(svc);
 2723         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2760  +
        let svc =
        2761  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2724   2762   
                .apply(svc);
 2725   2763   
        let svc = self.http_plugin.apply(svc);
 2726   2764   
        self.query_params_targeting_map_of_pattern_string_operation_custom(svc)
 2727   2765   
    }
 2728   2766   
 2729   2767   
    /// Sets the [`QueryParamsTargetingMapOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation) operation.
 2730   2768   
    ///
 2731         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2732         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2769  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2770  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2733   2771   
    ///
 2734   2772   
    /// # Example
 2735   2773   
    ///
 2736   2774   
    /// ```no_run
 2737   2775   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2738   2776   
    ///
 2739   2777   
    /// use constraints::{input, output, error};
 2740   2778   
    ///
 2741   2779   
    /// async fn handler(input: input::QueryParamsTargetingMapOfPatternStringOperationInput) -> Result<output::QueryParamsTargetingMapOfPatternStringOperationOutput, error::QueryParamsTargetingMapOfPatternStringOperationError> {
 2742   2780   
    ///     todo!()
 2743   2781   
    /// }
 2744   2782   
    ///
 2745   2783   
    /// let config = ConstraintsServiceConfig::builder().build();
 2746   2784   
    /// let svc = ::tower::util::service_fn(handler);
 2747   2785   
    /// let app = ConstraintsService::builder(config)
 2748   2786   
    ///     .query_params_targeting_map_of_pattern_string_operation_service(svc)
 2749   2787   
    ///     /* Set other handlers */
 2750   2788   
    ///     .build()
 2751   2789   
    ///     .unwrap();
 2752         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2790  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2753   2791   
    /// ```
 2754   2792   
    ///
 2755   2793   
                    pub fn query_params_targeting_map_of_pattern_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2756   2794   
                    where
 2757         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, ServiceExtractors>,
        2795  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, ServiceExtractors>,
 2758   2796   
 2759         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2797  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2760   2798   
                            ConstraintsService<L>,
 2761   2799   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2762         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, S>
        2800  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation, S>
 2763   2801   
                        >,
 2764         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2802  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2765   2803   
                            ConstraintsService<L>,
 2766   2804   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2767   2805   
                            ModelPl::Output
 2768   2806   
                        >,
 2769         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2807  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2770   2808   
                            ConstraintsService<L>,
 2771   2809   
                            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2772   2810   
                            <
 2773         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2774         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2811  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2812  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2775   2813   
                                    ConstraintsService<L>,
 2776   2814   
                                    crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 2777   2815   
                                    ModelPl::Output
 2778   2816   
                                >
 2779   2817   
                            >::Output
 2780   2818   
                        >,
 2781   2819   
 2782         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2820  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2783   2821   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2784   2822   
 2785   2823   
                    {
 2786         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2787         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2824  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2825  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2788   2826   
        let svc =
 2789   2827   
            crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation::from_service(
 2790   2828   
                service,
 2791   2829   
            );
 2792   2830   
        let svc = self.model_plugin.apply(svc);
 2793         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2831  +
        let svc =
        2832  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2794   2833   
                .apply(svc);
 2795   2834   
        let svc = self.http_plugin.apply(svc);
 2796   2835   
        self.query_params_targeting_map_of_pattern_string_operation_custom(svc)
 2797   2836   
    }
 2798   2837   
 2799   2838   
    /// Sets the [`QueryParamsTargetingMapOfPatternStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation) to a custom [`Service`](tower::Service).
 2800   2839   
    /// not constrained by the Smithy contract.
 2801   2840   
    fn query_params_targeting_map_of_pattern_string_operation_custom<S>(mut self, svc: S) -> Self
 2802   2841   
    where
 2803   2842   
        S: ::tower::Service<
 2804   2843   
                ::http::Request<Body>,
 2805         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        2844  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2806   2845   
                Error = ::std::convert::Infallible,
 2807   2846   
            > + Clone
 2808   2847   
            + Send
 2809   2848   
            + 'static,
 2810   2849   
        S::Future: Send + 'static,
 2811   2850   
    {
 2812   2851   
        self.query_params_targeting_map_of_pattern_string_operation =
 2813         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        2852  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2814   2853   
        self
 2815   2854   
    }
 2816   2855   
 2817   2856   
    /// Sets the [`QueryParamsTargetingMapOfSetOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation) operation.
 2818   2857   
    ///
 2819         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2820         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2858  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2859  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2821   2860   
    ///
 2822   2861   
    /// # Example
 2823   2862   
    ///
 2824   2863   
    /// ```no_run
 2825   2864   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2826   2865   
    ///
 2827   2866   
    /// use constraints::{input, output, error};
 2828   2867   
    ///
 2829   2868   
    /// async fn handler(input: input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfSetOfLengthStringOperationError> {
 2830   2869   
    ///     todo!()
 2831   2870   
    /// }
 2832   2871   
    ///
 2833   2872   
    /// let config = ConstraintsServiceConfig::builder().build();
 2834   2873   
    /// let app = ConstraintsService::builder(config)
 2835   2874   
    ///     .query_params_targeting_map_of_set_of_length_string_operation(handler)
 2836   2875   
    ///     /* Set other handlers */
 2837   2876   
    ///     .build()
 2838   2877   
    ///     .unwrap();
 2839         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2878  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2840   2879   
    /// ```
 2841   2880   
    ///
 2842   2881   
                    pub fn query_params_targeting_map_of_set_of_length_string_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2843   2882   
                    where
 2844         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, HandlerExtractors>,
        2883  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, HandlerExtractors>,
 2845   2884   
 2846         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2885  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2847   2886   
                            ConstraintsService<L>,
 2848   2887   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2849         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, HandlerType>
        2888  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, HandlerType>
 2850   2889   
                        >,
 2851         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2890  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2852   2891   
                            ConstraintsService<L>,
 2853   2892   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2854   2893   
                            ModelPl::Output
 2855   2894   
                        >,
 2856         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2895  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2857   2896   
                            ConstraintsService<L>,
 2858   2897   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2859   2898   
                            <
 2860         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2861         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2899  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2900  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2862   2901   
                                    ConstraintsService<L>,
 2863   2902   
                                    crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2864   2903   
                                    ModelPl::Output
 2865   2904   
                                >
 2866   2905   
                            >::Output
 2867   2906   
                        >,
 2868   2907   
 2869         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2908  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2870   2909   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2871   2910   
 2872   2911   
                    {
 2873         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2874         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2912  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2913  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2875   2914   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation::from_handler(handler);
 2876   2915   
        let svc = self.model_plugin.apply(svc);
 2877         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2916  +
        let svc =
        2917  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2878   2918   
                .apply(svc);
 2879   2919   
        let svc = self.http_plugin.apply(svc);
 2880   2920   
        self.query_params_targeting_map_of_set_of_length_string_operation_custom(svc)
 2881   2921   
    }
 2882   2922   
 2883   2923   
    /// Sets the [`QueryParamsTargetingMapOfSetOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation) operation.
 2884   2924   
    ///
 2885         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2886         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        2925  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        2926  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2887   2927   
    ///
 2888   2928   
    /// # Example
 2889   2929   
    ///
 2890   2930   
    /// ```no_run
 2891   2931   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2892   2932   
    ///
 2893   2933   
    /// use constraints::{input, output, error};
 2894   2934   
    ///
 2895   2935   
    /// async fn handler(input: input::QueryParamsTargetingMapOfSetOfLengthStringOperationInput) -> Result<output::QueryParamsTargetingMapOfSetOfLengthStringOperationOutput, error::QueryParamsTargetingMapOfSetOfLengthStringOperationError> {
 2896   2936   
    ///     todo!()
 2897   2937   
    /// }
 2898   2938   
    ///
 2899   2939   
    /// let config = ConstraintsServiceConfig::builder().build();
 2900   2940   
    /// let svc = ::tower::util::service_fn(handler);
 2901   2941   
    /// let app = ConstraintsService::builder(config)
 2902   2942   
    ///     .query_params_targeting_map_of_set_of_length_string_operation_service(svc)
 2903   2943   
    ///     /* Set other handlers */
 2904   2944   
    ///     .build()
 2905   2945   
    ///     .unwrap();
 2906         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        2946  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2907   2947   
    /// ```
 2908   2948   
    ///
 2909   2949   
                    pub fn query_params_targeting_map_of_set_of_length_string_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 2910   2950   
                    where
 2911         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, ServiceExtractors>,
        2951  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, ServiceExtractors>,
 2912   2952   
 2913         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        2953  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2914   2954   
                            ConstraintsService<L>,
 2915   2955   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2916         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, S>
        2956  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation, S>
 2917   2957   
                        >,
 2918         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        2958  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2919   2959   
                            ConstraintsService<L>,
 2920   2960   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2921   2961   
                            ModelPl::Output
 2922   2962   
                        >,
 2923         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        2963  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 2924   2964   
                            ConstraintsService<L>,
 2925   2965   
                            crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2926   2966   
                            <
 2927         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 2928         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        2967  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        2968  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 2929   2969   
                                    ConstraintsService<L>,
 2930   2970   
                                    crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 2931   2971   
                                    ModelPl::Output
 2932   2972   
                                >
 2933   2973   
                            >::Output
 2934   2974   
                        >,
 2935   2975   
 2936         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        2976  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 2937   2977   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 2938   2978   
 2939   2979   
                    {
 2940         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 2941         -
        use ::aws_smithy_http_server::plugin::Plugin;
        2980  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        2981  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 2942   2982   
        let svc = crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation::from_service(service);
 2943   2983   
        let svc = self.model_plugin.apply(svc);
 2944         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        2984  +
        let svc =
        2985  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 2945   2986   
                .apply(svc);
 2946   2987   
        let svc = self.http_plugin.apply(svc);
 2947   2988   
        self.query_params_targeting_map_of_set_of_length_string_operation_custom(svc)
 2948   2989   
    }
 2949   2990   
 2950   2991   
    /// Sets the [`QueryParamsTargetingMapOfSetOfLengthStringOperation`](crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation) to a custom [`Service`](tower::Service).
 2951   2992   
    /// not constrained by the Smithy contract.
 2952   2993   
    fn query_params_targeting_map_of_set_of_length_string_operation_custom<S>(
 2953   2994   
        mut self,
 2954   2995   
        svc: S,
 2955   2996   
    ) -> Self
 2956   2997   
    where
 2957   2998   
        S: ::tower::Service<
 2958   2999   
                ::http::Request<Body>,
 2959         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        3000  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 2960   3001   
                Error = ::std::convert::Infallible,
 2961   3002   
            > + Clone
 2962   3003   
            + Send
 2963   3004   
            + 'static,
 2964   3005   
        S::Future: Send + 'static,
 2965   3006   
    {
 2966   3007   
        self.query_params_targeting_map_of_set_of_length_string_operation =
 2967         -
            Some(::aws_smithy_http_server::routing::Route::new(svc));
        3008  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 2968   3009   
        self
 2969   3010   
    }
 2970   3011   
 2971   3012   
    /// Sets the [`StreamingBlobOperation`](crate::operation_shape::StreamingBlobOperation) operation.
 2972   3013   
    ///
 2973         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 2974         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        3014  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        3015  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 2975   3016   
    ///
 2976   3017   
    /// # Example
 2977   3018   
    ///
 2978   3019   
    /// ```no_run
 2979   3020   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 2980   3021   
    ///
 2981   3022   
    /// use constraints::{input, output, error};
 2982   3023   
    ///
 2983   3024   
    /// async fn handler(input: input::StreamingBlobOperationInput) -> Result<output::StreamingBlobOperationOutput, error::StreamingBlobOperationError> {
 2984   3025   
    ///     todo!()
 2985   3026   
    /// }
 2986   3027   
    ///
 2987   3028   
    /// let config = ConstraintsServiceConfig::builder().build();
 2988   3029   
    /// let app = ConstraintsService::builder(config)
 2989   3030   
    ///     .streaming_blob_operation(handler)
 2990   3031   
    ///     /* Set other handlers */
 2991   3032   
    ///     .build()
 2992   3033   
    ///     .unwrap();
 2993         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        3034  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 2994   3035   
    /// ```
 2995   3036   
    ///
 2996   3037   
                    pub fn streaming_blob_operation<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
 2997   3038   
                    where
 2998         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::StreamingBlobOperation, HandlerExtractors>,
        3039  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::StreamingBlobOperation, HandlerExtractors>,
 2999   3040   
 3000         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        3041  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3001   3042   
                            ConstraintsService<L>,
 3002   3043   
                            crate::operation_shape::StreamingBlobOperation,
 3003         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::StreamingBlobOperation, HandlerType>
        3044  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::StreamingBlobOperation, HandlerType>
 3004   3045   
                        >,
 3005         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        3046  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3006   3047   
                            ConstraintsService<L>,
 3007   3048   
                            crate::operation_shape::StreamingBlobOperation,
 3008   3049   
                            ModelPl::Output
 3009   3050   
                        >,
 3010         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        3051  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3011   3052   
                            ConstraintsService<L>,
 3012   3053   
                            crate::operation_shape::StreamingBlobOperation,
 3013   3054   
                            <
 3014         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 3015         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        3055  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        3056  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 3016   3057   
                                    ConstraintsService<L>,
 3017   3058   
                                    crate::operation_shape::StreamingBlobOperation,
 3018   3059   
                                    ModelPl::Output
 3019   3060   
                                >
 3020   3061   
                            >::Output
 3021   3062   
                        >,
 3022   3063   
 3023         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        3064  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 3024   3065   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 3025   3066   
 3026   3067   
                    {
 3027         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 3028         -
        use ::aws_smithy_http_server::plugin::Plugin;
        3068  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        3069  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 3029   3070   
        let svc = crate::operation_shape::StreamingBlobOperation::from_handler(handler);
 3030   3071   
        let svc = self.model_plugin.apply(svc);
 3031         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        3072  +
        let svc =
        3073  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 3032   3074   
                .apply(svc);
 3033   3075   
        let svc = self.http_plugin.apply(svc);
 3034   3076   
        self.streaming_blob_operation_custom(svc)
 3035   3077   
    }
 3036   3078   
 3037   3079   
    /// Sets the [`StreamingBlobOperation`](crate::operation_shape::StreamingBlobOperation) operation.
 3038   3080   
    ///
 3039         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
 3040         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
        3081  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
        3082  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
 3041   3083   
    ///
 3042   3084   
    /// # Example
 3043   3085   
    ///
 3044   3086   
    /// ```no_run
 3045   3087   
    /// use constraints::{ConstraintsService, ConstraintsServiceConfig};
 3046   3088   
    ///
 3047   3089   
    /// use constraints::{input, output, error};
 3048   3090   
    ///
 3049   3091   
    /// async fn handler(input: input::StreamingBlobOperationInput) -> Result<output::StreamingBlobOperationOutput, error::StreamingBlobOperationError> {
 3050   3092   
    ///     todo!()
 3051   3093   
    /// }
 3052   3094   
    ///
 3053   3095   
    /// let config = ConstraintsServiceConfig::builder().build();
 3054   3096   
    /// let svc = ::tower::util::service_fn(handler);
 3055   3097   
    /// let app = ConstraintsService::builder(config)
 3056   3098   
    ///     .streaming_blob_operation_service(svc)
 3057   3099   
    ///     /* Set other handlers */
 3058   3100   
    ///     .build()
 3059   3101   
    ///     .unwrap();
 3060         -
    /// # let app: ConstraintsService<::aws_smithy_http_server::routing::RoutingService<::aws_smithy_http_server::protocol::rest::router::RestRouter<::aws_smithy_http_server::routing::Route>, ::aws_smithy_http_server::protocol::rest_json_1::RestJson1>> = app;
        3102  +
    /// # let app: ConstraintsService<::aws_smithy_legacy_http_server::routing::RoutingService<::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<::aws_smithy_legacy_http_server::routing::Route>, ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>> = app;
 3061   3103   
    /// ```
 3062   3104   
    ///
 3063   3105   
                    pub fn streaming_blob_operation_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
 3064   3106   
                    where
 3065         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::StreamingBlobOperation, ServiceExtractors>,
        3107  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::StreamingBlobOperation, ServiceExtractors>,
 3066   3108   
 3067         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
        3109  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3068   3110   
                            ConstraintsService<L>,
 3069   3111   
                            crate::operation_shape::StreamingBlobOperation,
 3070         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::StreamingBlobOperation, S>
        3112  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::StreamingBlobOperation, S>
 3071   3113   
                        >,
 3072         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
        3114  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3073   3115   
                            ConstraintsService<L>,
 3074   3116   
                            crate::operation_shape::StreamingBlobOperation,
 3075   3117   
                            ModelPl::Output
 3076   3118   
                        >,
 3077         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
        3119  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
 3078   3120   
                            ConstraintsService<L>,
 3079   3121   
                            crate::operation_shape::StreamingBlobOperation,
 3080   3122   
                            <
 3081         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
 3082         -
                                as ::aws_smithy_http_server::plugin::Plugin<
        3123  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
        3124  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
 3083   3125   
                                    ConstraintsService<L>,
 3084   3126   
                                    crate::operation_shape::StreamingBlobOperation,
 3085   3127   
                                    ModelPl::Output
 3086   3128   
                                >
 3087   3129   
                            >::Output
 3088   3130   
                        >,
 3089   3131   
 3090         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
        3132  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
 3091   3133   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
 3092   3134   
 3093   3135   
                    {
 3094         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
 3095         -
        use ::aws_smithy_http_server::plugin::Plugin;
        3136  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
        3137  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
 3096   3138   
        let svc = crate::operation_shape::StreamingBlobOperation::from_service(service);
 3097   3139   
        let svc = self.model_plugin.apply(svc);
 3098         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
        3140  +
        let svc =
        3141  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
 3099   3142   
                .apply(svc);
 3100   3143   
        let svc = self.http_plugin.apply(svc);
 3101   3144   
        self.streaming_blob_operation_custom(svc)
 3102   3145   
    }
 3103   3146   
 3104   3147   
    /// Sets the [`StreamingBlobOperation`](crate::operation_shape::StreamingBlobOperation) to a custom [`Service`](tower::Service).
 3105   3148   
    /// not constrained by the Smithy contract.
 3106   3149   
    fn streaming_blob_operation_custom<S>(mut self, svc: S) -> Self
 3107   3150   
    where
 3108   3151   
        S: ::tower::Service<
 3109   3152   
                ::http::Request<Body>,
 3110         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        3153  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 3111   3154   
                Error = ::std::convert::Infallible,
 3112   3155   
            > + Clone
 3113   3156   
            + Send
 3114   3157   
            + 'static,
 3115   3158   
        S::Future: Send + 'static,
 3116   3159   
    {
 3117         -
        self.streaming_blob_operation = Some(::aws_smithy_http_server::routing::Route::new(svc));
        3160  +
        self.streaming_blob_operation =
        3161  +
            Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
 3118   3162   
        self
 3119   3163   
    }
 3120   3164   
}
 3121   3165   
 3122   3166   
impl<Body, L, HttpPl, ModelPl> ConstraintsServiceBuilder<Body, L, HttpPl, ModelPl> {
 3123   3167   
    /// Constructs a [`ConstraintsService`] from the arguments provided to the builder.
 3124   3168   
    ///
 3125   3169   
    /// Forgetting to register a handler for one or more operations will result in an error.
 3126   3170   
    ///
 3127   3171   
    /// Check out [`ConstraintsServiceBuilder::build_unchecked`] if you'd prefer the service to return status code 500 when an
 3128   3172   
    /// unspecified route is requested.
 3129   3173   
    pub fn build(
 3130   3174   
        self,
 3131   3175   
    ) -> ::std::result::Result<
 3132   3176   
        ConstraintsService<
 3133         -
            ::aws_smithy_http_server::routing::RoutingService<
 3134         -
                ::aws_smithy_http_server::protocol::rest::router::RestRouter<L::Service>,
 3135         -
                ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        3177  +
            ::aws_smithy_legacy_http_server::routing::RoutingService<
        3178  +
                ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<L::Service>,
        3179  +
                ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 3136   3180   
            >,
 3137   3181   
        >,
 3138   3182   
        MissingOperationsError,
 3139   3183   
    >
 3140   3184   
    where
 3141         -
        L: ::tower::Layer<::aws_smithy_http_server::routing::Route<Body>>,
        3185  +
        L: ::tower::Layer<::aws_smithy_legacy_http_server::routing::Route<Body>>,
 3142   3186   
    {
 3143   3187   
        let router = {
 3144         -
            use ::aws_smithy_http_server::operation::OperationShape;
        3188  +
            use ::aws_smithy_legacy_http_server::operation::OperationShape;
 3145   3189   
            let mut missing_operation_names = std::collections::HashMap::new();
 3146   3190   
            if self.constrained_http_bound_shapes_operation.is_none() {
 3147   3191   
                missing_operation_names.insert(
 3148   3192   
                    crate::operation_shape::ConstrainedHttpBoundShapesOperation::ID,
 3149   3193   
                    ".constrained_http_bound_shapes_operation()",
 3150   3194   
                );
 3151   3195   
            }
 3152   3196   
            if self
 3153   3197   
                .constrained_http_payload_bound_shape_operation
 3154   3198   
                .is_none()
@@ -3267,3311 +4384,4430 @@
 3287   3331   
            if !missing_operation_names.is_empty() {
 3288   3332   
                return Err(MissingOperationsError {
 3289   3333   
                    operation_names2setter_methods: missing_operation_names,
 3290   3334   
                });
 3291   3335   
            }
 3292   3336   
            let unexpected_error_msg = "this should never panic since we are supposed to check beforehand that a handler has been registered for this operation; please file a bug report under https://github.com/smithy-lang/smithy-rs/issues";
 3293   3337   
 3294   3338   
            crate::model::LengthPatternString::compile_regex();
 3295   3339   
            crate::model::PatternString::compile_regex();
 3296   3340   
 3297         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter::from_iter([(request_specs::constrained_http_bound_shapes_operation(), self.constrained_http_bound_shapes_operation.expect(unexpected_error_msg)),
        3341  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter::from_iter([(request_specs::constrained_http_bound_shapes_operation(), self.constrained_http_bound_shapes_operation.expect(unexpected_error_msg)),
 3298   3342   
(request_specs::constrained_http_payload_bound_shape_operation(), self.constrained_http_payload_bound_shape_operation.expect(unexpected_error_msg)),
 3299   3343   
(request_specs::constrained_recursive_shapes_operation(), self.constrained_recursive_shapes_operation.expect(unexpected_error_msg)),
 3300   3344   
(request_specs::constrained_shapes_only_in_output_operation(), self.constrained_shapes_only_in_output_operation.expect(unexpected_error_msg)),
 3301   3345   
(request_specs::constrained_shapes_operation(), self.constrained_shapes_operation.expect(unexpected_error_msg)),
 3302   3346   
(request_specs::event_streams_operation(), self.event_streams_operation.expect(unexpected_error_msg)),
 3303   3347   
(request_specs::http_prefix_headers_targeting_length_map_operation(), self.http_prefix_headers_targeting_length_map_operation.expect(unexpected_error_msg)),
 3304   3348   
(request_specs::non_streaming_blob_operation(), self.non_streaming_blob_operation.expect(unexpected_error_msg)),
 3305   3349   
(request_specs::query_params_targeting_length_map_operation(), self.query_params_targeting_length_map_operation.expect(unexpected_error_msg)),
 3306   3350   
(request_specs::query_params_targeting_map_of_enum_string_operation(), self.query_params_targeting_map_of_enum_string_operation.expect(unexpected_error_msg)),
 3307   3351   
(request_specs::query_params_targeting_map_of_length_list_of_pattern_string_operation(), self.query_params_targeting_map_of_length_list_of_pattern_string_operation.expect(unexpected_error_msg)),
 3308   3352   
(request_specs::query_params_targeting_map_of_length_pattern_string_operation(), self.query_params_targeting_map_of_length_pattern_string_operation.expect(unexpected_error_msg)),
 3309   3353   
(request_specs::query_params_targeting_map_of_length_string_operation(), self.query_params_targeting_map_of_length_string_operation.expect(unexpected_error_msg)),
 3310   3354   
(request_specs::query_params_targeting_map_of_list_of_enum_string_operation(), self.query_params_targeting_map_of_list_of_enum_string_operation.expect(unexpected_error_msg)),
 3311   3355   
(request_specs::query_params_targeting_map_of_list_of_length_pattern_string_operation(), self.query_params_targeting_map_of_list_of_length_pattern_string_operation.expect(unexpected_error_msg)),
 3312   3356   
(request_specs::query_params_targeting_map_of_list_of_length_string_operation(), self.query_params_targeting_map_of_list_of_length_string_operation.expect(unexpected_error_msg)),
 3313   3357   
(request_specs::query_params_targeting_map_of_list_of_pattern_string_operation(), self.query_params_targeting_map_of_list_of_pattern_string_operation.expect(unexpected_error_msg)),
 3314   3358   
(request_specs::query_params_targeting_map_of_pattern_string_operation(), self.query_params_targeting_map_of_pattern_string_operation.expect(unexpected_error_msg)),
 3315   3359   
(request_specs::query_params_targeting_map_of_set_of_length_string_operation(), self.query_params_targeting_map_of_set_of_length_string_operation.expect(unexpected_error_msg)),
 3316   3360   
(request_specs::streaming_blob_operation(), self.streaming_blob_operation.expect(unexpected_error_msg)),])
 3317   3361   
        };
 3318         -
        let svc = ::aws_smithy_http_server::routing::RoutingService::new(router);
        3362  +
        let svc = ::aws_smithy_legacy_http_server::routing::RoutingService::new(router);
 3319   3363   
        let svc = svc.map(|s| s.layer(self.layer));
 3320   3364   
        Ok(ConstraintsService { svc })
 3321   3365   
    }
 3322   3366   
 3323   3367   
    /// Constructs a [`ConstraintsService`] from the arguments provided to the builder.
 3324   3368   
    /// Operations without a handler default to returning 500 Internal Server Error to the caller.
 3325   3369   
    ///
 3326   3370   
    /// Check out [`ConstraintsServiceBuilder::build`] if you'd prefer the builder to fail if one or more operations do
 3327   3371   
    /// not have a registered handler.
 3328   3372   
    pub fn build_unchecked(self) -> ConstraintsService<L::Service>
 3329   3373   
    where
 3330   3374   
        Body: Send + 'static,
 3331   3375   
        L: ::tower::Layer<
 3332         -
            ::aws_smithy_http_server::routing::RoutingService<
 3333         -
                ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 3334         -
                    ::aws_smithy_http_server::routing::Route<Body>,
        3376  +
            ::aws_smithy_legacy_http_server::routing::RoutingService<
        3377  +
                ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        3378  +
                    ::aws_smithy_legacy_http_server::routing::Route<Body>,
 3335   3379   
                >,
 3336         -
                ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        3380  +
                ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 3337   3381   
            >,
 3338   3382   
        >,
 3339   3383   
    {
 3340         -
        let router = ::aws_smithy_http_server::protocol::rest::router::RestRouter::from_iter([(
        3384  +
        let router = ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter::from_iter([(
 3341   3385   
                                request_specs::constrained_http_bound_shapes_operation(),
 3342   3386   
                                self.constrained_http_bound_shapes_operation.unwrap_or_else(|| {
 3343         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3344         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3387  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3388  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3345   3389   
                                })
 3346   3390   
                            ),
 3347   3391   
(
 3348   3392   
                                request_specs::constrained_http_payload_bound_shape_operation(),
 3349   3393   
                                self.constrained_http_payload_bound_shape_operation.unwrap_or_else(|| {
 3350         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3351         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3394  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3395  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3352   3396   
                                })
 3353   3397   
                            ),
 3354   3398   
(
 3355   3399   
                                request_specs::constrained_recursive_shapes_operation(),
 3356   3400   
                                self.constrained_recursive_shapes_operation.unwrap_or_else(|| {
 3357         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3358         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3401  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3402  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3359   3403   
                                })
 3360   3404   
                            ),
 3361   3405   
(
 3362   3406   
                                request_specs::constrained_shapes_only_in_output_operation(),
 3363   3407   
                                self.constrained_shapes_only_in_output_operation.unwrap_or_else(|| {
 3364         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3365         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3408  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3409  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3366   3410   
                                })
 3367   3411   
                            ),
 3368   3412   
(
 3369   3413   
                                request_specs::constrained_shapes_operation(),
 3370   3414   
                                self.constrained_shapes_operation.unwrap_or_else(|| {
 3371         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3372         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3415  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3416  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3373   3417   
                                })
 3374   3418   
                            ),
 3375   3419   
(
 3376   3420   
                                request_specs::event_streams_operation(),
 3377   3421   
                                self.event_streams_operation.unwrap_or_else(|| {
 3378         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3379         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3422  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3423  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3380   3424   
                                })
 3381   3425   
                            ),
 3382   3426   
(
 3383   3427   
                                request_specs::http_prefix_headers_targeting_length_map_operation(),
 3384   3428   
                                self.http_prefix_headers_targeting_length_map_operation.unwrap_or_else(|| {
 3385         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3386         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3429  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3430  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3387   3431   
                                })
 3388   3432   
                            ),
 3389   3433   
(
 3390   3434   
                                request_specs::non_streaming_blob_operation(),
 3391   3435   
                                self.non_streaming_blob_operation.unwrap_or_else(|| {
 3392         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3393         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3436  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3437  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3394   3438   
                                })
 3395   3439   
                            ),
 3396   3440   
(
 3397   3441   
                                request_specs::query_params_targeting_length_map_operation(),
 3398   3442   
                                self.query_params_targeting_length_map_operation.unwrap_or_else(|| {
 3399         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3400         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3443  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3444  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3401   3445   
                                })
 3402   3446   
                            ),
 3403   3447   
(
 3404   3448   
                                request_specs::query_params_targeting_map_of_enum_string_operation(),
 3405   3449   
                                self.query_params_targeting_map_of_enum_string_operation.unwrap_or_else(|| {
 3406         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3407         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3450  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3451  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3408   3452   
                                })
 3409   3453   
                            ),
 3410   3454   
(
 3411   3455   
                                request_specs::query_params_targeting_map_of_length_list_of_pattern_string_operation(),
 3412   3456   
                                self.query_params_targeting_map_of_length_list_of_pattern_string_operation.unwrap_or_else(|| {
 3413         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3414         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3457  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3458  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3415   3459   
                                })
 3416   3460   
                            ),
 3417   3461   
(
 3418   3462   
                                request_specs::query_params_targeting_map_of_length_pattern_string_operation(),
 3419   3463   
                                self.query_params_targeting_map_of_length_pattern_string_operation.unwrap_or_else(|| {
 3420         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3421         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3464  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3465  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3422   3466   
                                })
 3423   3467   
                            ),
 3424   3468   
(
 3425   3469   
                                request_specs::query_params_targeting_map_of_length_string_operation(),
 3426   3470   
                                self.query_params_targeting_map_of_length_string_operation.unwrap_or_else(|| {
 3427         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3428         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3471  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3472  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3429   3473   
                                })
 3430   3474   
                            ),
 3431   3475   
(
 3432   3476   
                                request_specs::query_params_targeting_map_of_list_of_enum_string_operation(),
 3433   3477   
                                self.query_params_targeting_map_of_list_of_enum_string_operation.unwrap_or_else(|| {
 3434         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3435         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3478  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3479  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3436   3480   
                                })
 3437   3481   
                            ),
 3438   3482   
(
 3439   3483   
                                request_specs::query_params_targeting_map_of_list_of_length_pattern_string_operation(),
 3440   3484   
                                self.query_params_targeting_map_of_list_of_length_pattern_string_operation.unwrap_or_else(|| {
 3441         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3442         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3485  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3486  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3443   3487   
                                })
 3444   3488   
                            ),
 3445   3489   
(
 3446   3490   
                                request_specs::query_params_targeting_map_of_list_of_length_string_operation(),
 3447   3491   
                                self.query_params_targeting_map_of_list_of_length_string_operation.unwrap_or_else(|| {
 3448         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3449         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3492  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3493  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3450   3494   
                                })
 3451   3495   
                            ),
 3452   3496   
(
 3453   3497   
                                request_specs::query_params_targeting_map_of_list_of_pattern_string_operation(),
 3454   3498   
                                self.query_params_targeting_map_of_list_of_pattern_string_operation.unwrap_or_else(|| {
 3455         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3456         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3499  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3500  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3457   3501   
                                })
 3458   3502   
                            ),
 3459   3503   
(
 3460   3504   
                                request_specs::query_params_targeting_map_of_pattern_string_operation(),
 3461   3505   
                                self.query_params_targeting_map_of_pattern_string_operation.unwrap_or_else(|| {
 3462         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3463         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3506  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3507  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3464   3508   
                                })
 3465   3509   
                            ),
 3466   3510   
(
 3467   3511   
                                request_specs::query_params_targeting_map_of_set_of_length_string_operation(),
 3468   3512   
                                self.query_params_targeting_map_of_set_of_length_string_operation.unwrap_or_else(|| {
 3469         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3470         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3513  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3514  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3471   3515   
                                })
 3472   3516   
                            ),
 3473   3517   
(
 3474   3518   
                                request_specs::streaming_blob_operation(),
 3475   3519   
                                self.streaming_blob_operation.unwrap_or_else(|| {
 3476         -
                                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<::aws_smithy_http_server::protocol::rest_json_1::RestJson1>::default();
 3477         -
                                    ::aws_smithy_http_server::routing::Route::new(svc)
        3520  +
                                    let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1>::default();
        3521  +
                                    ::aws_smithy_legacy_http_server::routing::Route::new(svc)
 3478   3522   
                                })
 3479   3523   
                            ),]);
 3480   3524   
        let svc = self
 3481   3525   
            .layer
 3482         -
            .layer(::aws_smithy_http_server::routing::RoutingService::new(
 3483         -
                router,
 3484         -
            ));
        3526  +
            .layer(::aws_smithy_legacy_http_server::routing::RoutingService::new(router));
 3485   3527   
        ConstraintsService { svc }
 3486   3528   
    }
 3487   3529   
}
 3488   3530   
 3489   3531   
/// The error encountered when calling the [`ConstraintsServiceBuilder::build`] method if one or more operation handlers are not
 3490   3532   
/// specified.
 3491   3533   
#[derive(Debug)]
 3492   3534   
pub struct MissingOperationsError {
 3493   3535   
    operation_names2setter_methods:
 3494         -
        std::collections::HashMap<::aws_smithy_http_server::shape_id::ShapeId, &'static str>,
        3536  +
        std::collections::HashMap<::aws_smithy_legacy_http_server::shape_id::ShapeId, &'static str>,
 3495   3537   
}
 3496   3538   
 3497   3539   
impl std::fmt::Display for MissingOperationsError {
 3498   3540   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 3499   3541   
        write!(
 3500   3542   
            f,
 3501   3543   
            "You must specify a handler for all operations attached to `ConstraintsService`.\n\
 3502   3544   
                            We are missing handlers for the following operations:\n",
 3503   3545   
        )?;
 3504   3546   
        for operation_name in self.operation_names2setter_methods.keys() {
 3505   3547   
            writeln!(f, "- {}", operation_name.absolute())?;
 3506   3548   
        }
 3507   3549   
 3508   3550   
        writeln!(f, "\nUse the dedicated methods on `ConstraintsServiceBuilder` to register the missing handlers:")?;
 3509   3551   
        for setter_name in self.operation_names2setter_methods.values() {
 3510   3552   
            writeln!(f, "- {}", setter_name)?;
 3511   3553   
        }
 3512   3554   
        Ok(())
 3513   3555   
    }
 3514   3556   
}
 3515   3557   
 3516   3558   
impl std::error::Error for MissingOperationsError {}
 3517   3559   
 3518   3560   
mod request_specs {
 3519   3561   
    pub(super) fn constrained_http_bound_shapes_operation(
 3520         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3521         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3562  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3563  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3522   3564   
                    ::http::Method::POST,
 3523         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3524         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3525         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3526         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-bound-shapes-operation")),
 3527         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3528         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3529         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3530         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3531         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 3532         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
        3565  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3566  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3567  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3568  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-bound-shapes-operation")),
        3569  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        3570  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        3571  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        3572  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        3573  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        3574  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
 3533   3575   
]),
 3534         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3576  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3535   3577   
])
 3536   3578   
                        )
 3537   3579   
                    ),
 3538   3580   
                )
 3539   3581   
    }
 3540   3582   
    pub(super) fn constrained_http_payload_bound_shape_operation(
 3541         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3542         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3583  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3584  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3543   3585   
                    ::http::Method::POST,
 3544         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3545         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3546         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3547         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-payload-bound-shape-operation")),
        3586  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3587  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3588  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3589  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-http-payload-bound-shape-operation")),
 3548   3590   
]),
 3549         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3591  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3550   3592   
])
 3551   3593   
                        )
 3552   3594   
                    ),
 3553   3595   
                )
 3554   3596   
    }
 3555   3597   
    pub(super) fn constrained_recursive_shapes_operation(
 3556         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3557         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3598  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3599  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3558   3600   
                    ::http::Method::POST,
 3559         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3560         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3561         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3562         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-recursive-shapes-operation")),
        3601  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3602  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3603  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3604  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-recursive-shapes-operation")),
 3563   3605   
]),
 3564         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3606  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3565   3607   
])
 3566   3608   
                        )
 3567   3609   
                    ),
 3568   3610   
                )
 3569   3611   
    }
 3570   3612   
    pub(super) fn constrained_shapes_only_in_output_operation(
 3571         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3572         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3613  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3614  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3573   3615   
                    ::http::Method::POST,
 3574         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3575         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3576         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3577         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-only-in-output-operation")),
        3616  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3617  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3618  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3619  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-only-in-output-operation")),
 3578   3620   
]),
 3579         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3621  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3580   3622   
])
 3581   3623   
                        )
 3582   3624   
                    ),
 3583   3625   
                )
 3584   3626   
    }
 3585   3627   
    pub(super) fn constrained_shapes_operation(
 3586         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3587         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3628  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3629  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3588   3630   
                    ::http::Method::POST,
 3589         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3590         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3591         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3592         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-operation")),
        3631  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3632  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3633  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3634  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("constrained-shapes-operation")),
 3593   3635   
]),
 3594         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3636  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3595   3637   
])
 3596   3638   
                        )
 3597   3639   
                    ),
 3598   3640   
                )
 3599   3641   
    }
 3600   3642   
    pub(super) fn event_streams_operation(
 3601         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3602         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3643  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3644  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3603   3645   
                    ::http::Method::POST,
 3604         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3605         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3606         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3607         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("event-streams-operation")),
        3646  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3647  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3648  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3649  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("event-streams-operation")),
 3608   3650   
]),
 3609         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3651  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3610   3652   
])
 3611   3653   
                        )
 3612   3654   
                    ),
 3613   3655   
                )
 3614   3656   
    }
 3615   3657   
    pub(super) fn http_prefix_headers_targeting_length_map_operation(
 3616         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3617         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3658  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3659  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3618   3660   
                    ::http::Method::POST,
 3619         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3620         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3621         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3622         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("http-prefix-headers-targeting-length-map-operation")),
        3661  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3662  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3663  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3664  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("http-prefix-headers-targeting-length-map-operation")),
 3623   3665   
]),
 3624         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3666  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3625   3667   
])
 3626   3668   
                        )
 3627   3669   
                    ),
 3628   3670   
                )
 3629   3671   
    }
 3630   3672   
    pub(super) fn non_streaming_blob_operation(
 3631         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3632         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3673  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3674  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3633   3675   
                    ::http::Method::POST,
 3634         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3635         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3636         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3637         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("non-streaming-blob-operation")),
        3676  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3677  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3678  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3679  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("non-streaming-blob-operation")),
 3638   3680   
]),
 3639         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3681  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3640   3682   
])
 3641   3683   
                        )
 3642   3684   
                    ),
 3643   3685   
                )
 3644   3686   
    }
 3645   3687   
    pub(super) fn query_params_targeting_length_map_operation(
 3646         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3647         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3688  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3689  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3648   3690   
                    ::http::Method::POST,
 3649         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3650         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3651         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3652         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-length-map")),
        3691  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3692  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3693  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3694  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-length-map")),
 3653   3695   
]),
 3654         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3696  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3655   3697   
])
 3656   3698   
                        )
 3657   3699   
                    ),
 3658   3700   
                )
 3659   3701   
    }
 3660   3702   
    pub(super) fn query_params_targeting_map_of_enum_string_operation(
 3661         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3662         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3703  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3704  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3663   3705   
                    ::http::Method::POST,
 3664         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3665         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3666         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3667         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-enum-string-operation")),
        3706  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3707  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3708  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3709  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-enum-string-operation")),
 3668   3710   
]),
 3669         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3711  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3670   3712   
])
 3671   3713   
                        )
 3672   3714   
                    ),
 3673   3715   
                )
 3674   3716   
    }
 3675   3717   
    pub(super) fn query_params_targeting_map_of_length_list_of_pattern_string_operation(
 3676         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3677         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3718  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3719  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3678   3720   
                    ::http::Method::POST,
 3679         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3680         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3681         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3682         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-list-of-pattern-string-operation")),
        3721  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3722  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3723  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3724  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-list-of-pattern-string-operation")),
 3683   3725   
]),
 3684         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3726  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3685   3727   
])
 3686   3728   
                        )
 3687   3729   
                    ),
 3688   3730   
                )
 3689   3731   
    }
 3690   3732   
    pub(super) fn query_params_targeting_map_of_length_pattern_string_operation(
 3691         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3692         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3733  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3734  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3693   3735   
                    ::http::Method::POST,
 3694         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3695         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3696         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3697         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-pattern-string")),
        3736  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3737  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3738  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3739  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-pattern-string")),
 3698   3740   
]),
 3699         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3741  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3700   3742   
])
 3701   3743   
                        )
 3702   3744   
                    ),
 3703   3745   
                )
 3704   3746   
    }
 3705   3747   
    pub(super) fn query_params_targeting_map_of_length_string_operation(
 3706         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3707         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3748  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3749  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3708   3750   
                    ::http::Method::POST,
 3709         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3710         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3711         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3712         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-string-operation")),
        3751  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3752  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3753  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3754  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-length-string-operation")),
 3713   3755   
]),
 3714         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3756  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3715   3757   
])
 3716   3758   
                        )
 3717   3759   
                    ),
 3718   3760   
                )
 3719   3761   
    }
 3720   3762   
    pub(super) fn query_params_targeting_map_of_list_of_enum_string_operation(
 3721         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3722         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3763  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3764  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3723   3765   
                    ::http::Method::POST,
 3724         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3725         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3726         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3727         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-enum-string-operation")),
        3766  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3767  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3768  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3769  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-enum-string-operation")),
 3728   3770   
]),
 3729         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3771  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3730   3772   
])
 3731   3773   
                        )
 3732   3774   
                    ),
 3733   3775   
                )
 3734   3776   
    }
 3735   3777   
    pub(super) fn query_params_targeting_map_of_list_of_length_pattern_string_operation(
 3736         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3737         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3778  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3779  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3738   3780   
                    ::http::Method::POST,
 3739         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3740         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3741         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3742         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-pattern-string-operation")),
        3781  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3782  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3783  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3784  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-pattern-string-operation")),
 3743   3785   
]),
 3744         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3786  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3745   3787   
])
 3746   3788   
                        )
 3747   3789   
                    ),
 3748   3790   
                )
 3749   3791   
    }
 3750   3792   
    pub(super) fn query_params_targeting_map_of_list_of_length_string_operation(
 3751         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3752         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3793  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3794  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3753   3795   
                    ::http::Method::POST,
 3754         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3755         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3756         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3757         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-string-operation")),
        3796  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3797  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3798  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3799  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-length-string-operation")),
 3758   3800   
]),
 3759         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3801  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3760   3802   
])
 3761   3803   
                        )
 3762   3804   
                    ),
 3763   3805   
                )
 3764   3806   
    }
 3765   3807   
    pub(super) fn query_params_targeting_map_of_list_of_pattern_string_operation(
 3766         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3767         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3808  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3809  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3768   3810   
                    ::http::Method::POST,
 3769         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3770         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3771         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3772         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-pattern-string-operation")),
        3811  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3812  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3813  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3814  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-list-of-pattern-string-operation")),
 3773   3815   
]),
 3774         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3816  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3775   3817   
])
 3776   3818   
                        )
 3777   3819   
                    ),
 3778   3820   
                )
 3779   3821   
    }
 3780   3822   
    pub(super) fn query_params_targeting_map_of_pattern_string_operation(
 3781         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3782         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3823  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3824  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3783   3825   
                    ::http::Method::POST,
 3784         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3785         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3786         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3787         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-pattern-string-operation")),
        3826  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3827  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3828  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3829  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-pattern-string-operation")),
 3788   3830   
]),
 3789         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3831  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3790   3832   
])
 3791   3833   
                        )
 3792   3834   
                    ),
 3793   3835   
                )
 3794   3836   
    }
 3795   3837   
    pub(super) fn query_params_targeting_map_of_set_of_length_string_operation(
 3796         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3797         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3838  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3839  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3798   3840   
                    ::http::Method::POST,
 3799         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3800         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3801         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3802         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-set-of-length-string-operation")),
        3841  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3842  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3843  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3844  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("query-params-targeting-map-of-set-of-length-string-operation")),
 3803   3845   
]),
 3804         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3846  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3805   3847   
])
 3806   3848   
                        )
 3807   3849   
                    ),
 3808   3850   
                )
 3809   3851   
    }
 3810   3852   
    pub(super) fn streaming_blob_operation(
 3811         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 3812         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        3853  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        3854  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 3813   3855   
                    ::http::Method::POST,
 3814         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 3815         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 3816         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 3817         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("streaming-blob-operation")),
        3856  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        3857  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        3858  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        3859  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("streaming-blob-operation")),
 3818   3860   
]),
 3819         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        3861  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 3820   3862   
])
 3821   3863   
                        )
 3822   3864   
                    ),
 3823   3865   
                )
 3824   3866   
    }
 3825   3867   
}
 3826   3868   
 3827   3869   
/// A service to test aspects of code generation where shapes have constraint traits.
 3828   3870   
///
 3829   3871   
/// See the [root](crate) documentation for more information.
 3830   3872   
#[derive(Clone)]
 3831   3873   
pub struct ConstraintsService<
 3832         -
    S = ::aws_smithy_http_server::routing::RoutingService<
 3833         -
        ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 3834         -
            ::aws_smithy_http_server::routing::Route<::aws_smithy_http_server::body::BoxBody>,
        3874  +
    S = ::aws_smithy_legacy_http_server::routing::RoutingService<
        3875  +
        ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        3876  +
            ::aws_smithy_legacy_http_server::routing::Route<
        3877  +
                ::aws_smithy_legacy_http_server::body::BoxBody,
 3835   3878   
            >,
 3836         -
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        3879  +
        >,
        3880  +
        ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 3837   3881   
    >,
 3838   3882   
> {
 3839   3883   
    // This is the router wrapped by layers.
 3840   3884   
    svc: S,
 3841   3885   
}
 3842   3886   
 3843   3887   
impl ConstraintsService<()> {
 3844   3888   
    /// Constructs a builder for [`ConstraintsService`].
 3845   3889   
    /// You must specify a configuration object holding any plugins and layers that should be applied
 3846   3890   
    /// to the operations in this service.
 3847   3891   
    pub fn builder<
 3848   3892   
        Body,
 3849   3893   
        L,
 3850         -
        HttpPl: ::aws_smithy_http_server::plugin::HttpMarker,
 3851         -
        ModelPl: ::aws_smithy_http_server::plugin::ModelMarker,
        3894  +
        HttpPl: ::aws_smithy_legacy_http_server::plugin::HttpMarker,
        3895  +
        ModelPl: ::aws_smithy_legacy_http_server::plugin::ModelMarker,
 3852   3896   
    >(
 3853   3897   
        config: ConstraintsServiceConfig<L, HttpPl, ModelPl>,
 3854   3898   
    ) -> ConstraintsServiceBuilder<Body, L, HttpPl, ModelPl> {
 3855   3899   
        ConstraintsServiceBuilder {
 3856   3900   
            constrained_http_bound_shapes_operation: None,
 3857   3901   
            constrained_http_payload_bound_shape_operation: None,
 3858   3902   
            constrained_recursive_shapes_operation: None,
 3859   3903   
            constrained_shapes_only_in_output_operation: None,
 3860   3904   
            constrained_shapes_operation: None,
 3861   3905   
            event_streams_operation: None,
 3862   3906   
            http_prefix_headers_targeting_length_map_operation: None,
 3863   3907   
            non_streaming_blob_operation: None,
 3864   3908   
            query_params_targeting_length_map_operation: None,
 3865   3909   
            query_params_targeting_map_of_enum_string_operation: None,
 3866   3910   
            query_params_targeting_map_of_length_list_of_pattern_string_operation: None,
 3867   3911   
            query_params_targeting_map_of_length_pattern_string_operation: None,
 3868   3912   
            query_params_targeting_map_of_length_string_operation: None,
 3869   3913   
            query_params_targeting_map_of_list_of_enum_string_operation: None,
 3870   3914   
            query_params_targeting_map_of_list_of_length_pattern_string_operation: None,
 3871   3915   
            query_params_targeting_map_of_list_of_length_string_operation: None,
 3872   3916   
            query_params_targeting_map_of_list_of_pattern_string_operation: None,
 3873   3917   
            query_params_targeting_map_of_pattern_string_operation: None,
 3874   3918   
            query_params_targeting_map_of_set_of_length_string_operation: None,
 3875   3919   
            streaming_blob_operation: None,
 3876   3920   
            layer: config.layers,
 3877   3921   
            http_plugin: config.http_plugins,
 3878   3922   
            model_plugin: config.model_plugins,
 3879   3923   
        }
 3880   3924   
    }
 3881   3925   
 3882   3926   
    /// Constructs a builder for [`ConstraintsService`].
 3883   3927   
    /// You must specify what plugins should be applied to the operations in this service.
 3884   3928   
    ///
 3885   3929   
    /// Use [`ConstraintsService::builder_without_plugins`] if you don't need to apply plugins.
 3886   3930   
    ///
 3887         -
    /// Check out [`HttpPlugins`](::aws_smithy_http_server::plugin::HttpPlugins) and
 3888         -
    /// [`ModelPlugins`](::aws_smithy_http_server::plugin::ModelPlugins) if you need to apply
        3931  +
    /// Check out [`HttpPlugins`](::aws_smithy_legacy_http_server::plugin::HttpPlugins) and
        3932  +
    /// [`ModelPlugins`](::aws_smithy_legacy_http_server::plugin::ModelPlugins) if you need to apply
 3889   3933   
    /// multiple plugins.
 3890   3934   
    #[deprecated(
 3891   3935   
        since = "0.57.0",
 3892   3936   
        note = "please use the `builder` constructor and register plugins on the `ConstraintsServiceConfig` object instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 3893   3937   
    )]
 3894   3938   
    pub fn builder_with_plugins<
 3895   3939   
        Body,
 3896         -
        HttpPl: ::aws_smithy_http_server::plugin::HttpMarker,
 3897         -
        ModelPl: ::aws_smithy_http_server::plugin::ModelMarker,
        3940  +
        HttpPl: ::aws_smithy_legacy_http_server::plugin::HttpMarker,
        3941  +
        ModelPl: ::aws_smithy_legacy_http_server::plugin::ModelMarker,
 3898   3942   
    >(
 3899   3943   
        http_plugin: HttpPl,
 3900   3944   
        model_plugin: ModelPl,
 3901   3945   
    ) -> ConstraintsServiceBuilder<Body, ::tower::layer::util::Identity, HttpPl, ModelPl> {
 3902   3946   
        ConstraintsServiceBuilder {
 3903   3947   
            constrained_http_bound_shapes_operation: None,
 3904   3948   
            constrained_http_payload_bound_shape_operation: None,
 3905   3949   
            constrained_recursive_shapes_operation: None,
 3906   3950   
            constrained_shapes_only_in_output_operation: None,
 3907   3951   
            constrained_shapes_operation: None,
 3908   3952   
            event_streams_operation: None,
 3909   3953   
            http_prefix_headers_targeting_length_map_operation: None,
 3910   3954   
            non_streaming_blob_operation: None,
 3911   3955   
            query_params_targeting_length_map_operation: None,
 3912   3956   
            query_params_targeting_map_of_enum_string_operation: None,
 3913   3957   
            query_params_targeting_map_of_length_list_of_pattern_string_operation: None,
 3914   3958   
            query_params_targeting_map_of_length_pattern_string_operation: None,
 3915   3959   
            query_params_targeting_map_of_length_string_operation: None,
 3916   3960   
            query_params_targeting_map_of_list_of_enum_string_operation: None,
 3917   3961   
            query_params_targeting_map_of_list_of_length_pattern_string_operation: None,
 3918   3962   
            query_params_targeting_map_of_list_of_length_string_operation: None,
 3919   3963   
            query_params_targeting_map_of_list_of_pattern_string_operation: None,
 3920   3964   
            query_params_targeting_map_of_pattern_string_operation: None,
 3921   3965   
            query_params_targeting_map_of_set_of_length_string_operation: None,
 3922   3966   
            streaming_blob_operation: None,
 3923   3967   
            layer: ::tower::layer::util::Identity::new(),
 3924   3968   
            http_plugin,
 3925   3969   
            model_plugin,
 3926   3970   
        }
 3927   3971   
    }
 3928   3972   
 3929   3973   
    /// Constructs a builder for [`ConstraintsService`].
 3930   3974   
    ///
 3931   3975   
    /// Use [`ConstraintsService::builder_with_plugins`] if you need to specify plugins.
 3932   3976   
    #[deprecated(
 3933   3977   
        since = "0.57.0",
 3934   3978   
        note = "please use the `builder` constructor instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 3935   3979   
    )]
 3936   3980   
    pub fn builder_without_plugins<Body>() -> ConstraintsServiceBuilder<
 3937   3981   
        Body,
 3938   3982   
        ::tower::layer::util::Identity,
 3939         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
 3940         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
        3983  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        3984  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 3941   3985   
    > {
 3942   3986   
        Self::builder_with_plugins(
 3943         -
            ::aws_smithy_http_server::plugin::IdentityPlugin,
 3944         -
            ::aws_smithy_http_server::plugin::IdentityPlugin,
        3987  +
            ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        3988  +
            ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 3945   3989   
        )
 3946   3990   
    }
 3947   3991   
}
 3948   3992   
 3949   3993   
impl<S> ConstraintsService<S> {
 3950   3994   
    /// Converts [`ConstraintsService`] into a [`MakeService`](tower::make::MakeService).
 3951         -
    pub fn into_make_service(self) -> ::aws_smithy_http_server::routing::IntoMakeService<Self> {
 3952         -
        ::aws_smithy_http_server::routing::IntoMakeService::new(self)
        3995  +
    pub fn into_make_service(
        3996  +
        self,
        3997  +
    ) -> ::aws_smithy_legacy_http_server::routing::IntoMakeService<Self> {
        3998  +
        ::aws_smithy_legacy_http_server::routing::IntoMakeService::new(self)
 3953   3999   
    }
 3954   4000   
 3955         -
    /// Converts [`ConstraintsService`] into a [`MakeService`](tower::make::MakeService) with [`ConnectInfo`](::aws_smithy_http_server::request::connect_info::ConnectInfo).
        4001  +
    /// Converts [`ConstraintsService`] into a [`MakeService`](tower::make::MakeService) with [`ConnectInfo`](::aws_smithy_legacy_http_server::request::connect_info::ConnectInfo).
 3956   4002   
    pub fn into_make_service_with_connect_info<C>(
 3957   4003   
        self,
 3958         -
    ) -> ::aws_smithy_http_server::routing::IntoMakeServiceWithConnectInfo<Self, C> {
 3959         -
        ::aws_smithy_http_server::routing::IntoMakeServiceWithConnectInfo::new(self)
        4004  +
    ) -> ::aws_smithy_legacy_http_server::routing::IntoMakeServiceWithConnectInfo<Self, C> {
        4005  +
        ::aws_smithy_legacy_http_server::routing::IntoMakeServiceWithConnectInfo::new(self)
 3960   4006   
    }
 3961   4007   
}
 3962   4008   
 3963   4009   
impl<S>
 3964   4010   
    ConstraintsService<
 3965         -
        ::aws_smithy_http_server::routing::RoutingService<
 3966         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<S>,
 3967         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        4011  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        4012  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<S>,
        4013  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 3968   4014   
        >,
 3969   4015   
    >
 3970   4016   
{
 3971   4017   
    /// Applies a [`Layer`](::tower::Layer) uniformly to all routes.
 3972   4018   
    #[deprecated(
 3973   4019   
        since = "0.57.0",
 3974   4020   
        note = "please add layers to the `ConstraintsServiceConfig` object instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 3975   4021   
    )]
 3976   4022   
    pub fn layer<L>(
 3977   4023   
        self,
 3978   4024   
        layer: &L,
 3979   4025   
    ) -> ConstraintsService<
 3980         -
        ::aws_smithy_http_server::routing::RoutingService<
 3981         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<L::Service>,
 3982         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        4026  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        4027  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<L::Service>,
        4028  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 3983   4029   
        >,
 3984   4030   
    >
 3985   4031   
    where
 3986   4032   
        L: ::tower::Layer<S>,
 3987   4033   
    {
 3988   4034   
        ConstraintsService {
 3989   4035   
            svc: self.svc.map(|s| s.layer(layer)),
 3990   4036   
        }
 3991   4037   
    }
 3992   4038   
 3993         -
    /// Applies [`Route::new`](::aws_smithy_http_server::routing::Route::new) to all routes.
        4039  +
    /// Applies [`Route::new`](::aws_smithy_legacy_http_server::routing::Route::new) to all routes.
 3994   4040   
    ///
 3995   4041   
    /// This has the effect of erasing all types accumulated via layers.
 3996   4042   
    pub fn boxed<B>(
 3997   4043   
        self,
 3998   4044   
    ) -> ConstraintsService<
 3999         -
        ::aws_smithy_http_server::routing::RoutingService<
 4000         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 4001         -
                ::aws_smithy_http_server::routing::Route<B>,
        4045  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        4046  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        4047  +
                ::aws_smithy_legacy_http_server::routing::Route<B>,
 4002   4048   
            >,
 4003         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        4049  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 4004   4050   
        >,
 4005   4051   
    >
 4006   4052   
    where
 4007   4053   
        S: ::tower::Service<
 4008   4054   
            ::http::Request<B>,
 4009         -
            Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        4055  +
            Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 4010   4056   
            Error = std::convert::Infallible,
 4011   4057   
        >,
 4012   4058   
        S: Clone + Send + 'static,
 4013   4059   
        S::Future: Send + 'static,
 4014   4060   
    {
 4015   4061   
        self.layer(&::tower::layer::layer_fn(
 4016         -
            ::aws_smithy_http_server::routing::Route::new,
        4062  +
            ::aws_smithy_legacy_http_server::routing::Route::new,
 4017   4063   
        ))
 4018   4064   
    }
 4019   4065   
}
 4020   4066   
 4021   4067   
impl<S, R> ::tower::Service<R> for ConstraintsService<S>
 4022   4068   
where
 4023   4069   
    S: ::tower::Service<R>,
 4024   4070   
{
 4025   4071   
    type Response = S::Response;
 4026   4072   
    type Error = S::Error;
 4027   4073   
    type Future = S::Future;
 4028   4074   
 4029   4075   
    fn poll_ready(
 4030   4076   
        &mut self,
 4031   4077   
        cx: &mut std::task::Context,
 4032   4078   
    ) -> std::task::Poll<::std::result::Result<(), Self::Error>> {
 4033   4079   
        self.svc.poll_ready(cx)
 4034   4080   
    }
 4035   4081   
 4036   4082   
    fn call(&mut self, request: R) -> Self::Future {
 4037   4083   
        self.svc.call(request)
 4038   4084   
    }
 4039   4085   
}
 4040   4086   
 4041   4087   
/// An enumeration of all [operations](https://smithy.io/2.0/spec/service-types.html#operation) in ConstraintsService.
 4042   4088   
#[allow(clippy::enum_variant_names)]
 4043   4089   
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
 4044   4090   
pub enum Operation {
 4045   4091   
    ConstrainedHttpBoundShapesOperation,
 4046   4092   
    ConstrainedHttpPayloadBoundShapeOperation,
 4047   4093   
    ConstrainedRecursiveShapesOperation,
 4048   4094   
    ConstrainedShapesOnlyInOutputOperation,
 4049   4095   
    ConstrainedShapesOperation,
 4050   4096   
    EventStreamsOperation,
 4051   4097   
    HttpPrefixHeadersTargetingLengthMapOperation,
 4052   4098   
    NonStreamingBlobOperation,
 4053   4099   
    QueryParamsTargetingLengthMapOperation,
 4054   4100   
    QueryParamsTargetingMapOfEnumStringOperation,
 4055   4101   
    QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 4056   4102   
    QueryParamsTargetingMapOfLengthPatternStringOperation,
 4057   4103   
    QueryParamsTargetingMapOfLengthStringOperation,
 4058   4104   
    QueryParamsTargetingMapOfListOfEnumStringOperation,
 4059   4105   
    QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 4060   4106   
    QueryParamsTargetingMapOfListOfLengthStringOperation,
 4061   4107   
    QueryParamsTargetingMapOfListOfPatternStringOperation,
 4062   4108   
    QueryParamsTargetingMapOfPatternStringOperation,
 4063   4109   
    QueryParamsTargetingMapOfSetOfLengthStringOperation,
 4064   4110   
    StreamingBlobOperation,
 4065   4111   
}
 4066   4112   
 4067   4113   
impl Operation {
 4068         -
    /// Returns the [operations](https://smithy.io/2.0/spec/service-types.html#operation) [`ShapeId`](::aws_smithy_http_server::shape_id::ShapeId).
 4069         -
    pub fn shape_id(&self) -> ::aws_smithy_http_server::shape_id::ShapeId {
        4114  +
    /// Returns the [operations](https://smithy.io/2.0/spec/service-types.html#operation) [`ShapeId`](::aws_smithy_legacy_http_server::shape_id::ShapeId).
        4115  +
    pub fn shape_id(&self) -> ::aws_smithy_legacy_http_server::shape_id::ShapeId {
 4070   4116   
        match self {
 4071         -
                            Operation::ConstrainedHttpBoundShapesOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedHttpBoundShapesOperation", "com.amazonaws.constraints", "ConstrainedHttpBoundShapesOperation")
 4072         -
,Operation::ConstrainedHttpPayloadBoundShapeOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedHttpPayloadBoundShapeOperation", "com.amazonaws.constraints", "ConstrainedHttpPayloadBoundShapeOperation")
 4073         -
,Operation::ConstrainedRecursiveShapesOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedRecursiveShapesOperation", "com.amazonaws.constraints", "ConstrainedRecursiveShapesOperation")
 4074         -
,Operation::ConstrainedShapesOnlyInOutputOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedShapesOnlyInOutputOperation", "com.amazonaws.constraints", "ConstrainedShapesOnlyInOutputOperation")
 4075         -
,Operation::ConstrainedShapesOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedShapesOperation", "com.amazonaws.constraints", "ConstrainedShapesOperation")
 4076         -
,Operation::EventStreamsOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#EventStreamsOperation", "com.amazonaws.constraints", "EventStreamsOperation")
 4077         -
,Operation::HttpPrefixHeadersTargetingLengthMapOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#HttpPrefixHeadersTargetingLengthMapOperation", "com.amazonaws.constraints", "HttpPrefixHeadersTargetingLengthMapOperation")
 4078         -
,Operation::NonStreamingBlobOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#NonStreamingBlobOperation", "com.amazonaws.constraints", "NonStreamingBlobOperation")
 4079         -
,Operation::QueryParamsTargetingLengthMapOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingLengthMapOperation", "com.amazonaws.constraints", "QueryParamsTargetingLengthMapOperation")
 4080         -
,Operation::QueryParamsTargetingMapOfEnumStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfEnumStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfEnumStringOperation")
 4081         -
,Operation::QueryParamsTargetingMapOfLengthListOfPatternStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthListOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthListOfPatternStringOperation")
 4082         -
,Operation::QueryParamsTargetingMapOfLengthPatternStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthPatternStringOperation")
 4083         -
,Operation::QueryParamsTargetingMapOfLengthStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthStringOperation")
 4084         -
,Operation::QueryParamsTargetingMapOfListOfEnumStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfEnumStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfEnumStringOperation")
 4085         -
,Operation::QueryParamsTargetingMapOfListOfLengthPatternStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfLengthPatternStringOperation")
 4086         -
,Operation::QueryParamsTargetingMapOfListOfLengthStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfLengthStringOperation")
 4087         -
,Operation::QueryParamsTargetingMapOfListOfPatternStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfPatternStringOperation")
 4088         -
,Operation::QueryParamsTargetingMapOfPatternStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfPatternStringOperation")
 4089         -
,Operation::QueryParamsTargetingMapOfSetOfLengthStringOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfSetOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfSetOfLengthStringOperation")
 4090         -
,Operation::StreamingBlobOperation => ::aws_smithy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#StreamingBlobOperation", "com.amazonaws.constraints", "StreamingBlobOperation")
        4117  +
                            Operation::ConstrainedHttpBoundShapesOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedHttpBoundShapesOperation", "com.amazonaws.constraints", "ConstrainedHttpBoundShapesOperation")
        4118  +
,Operation::ConstrainedHttpPayloadBoundShapeOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedHttpPayloadBoundShapeOperation", "com.amazonaws.constraints", "ConstrainedHttpPayloadBoundShapeOperation")
        4119  +
,Operation::ConstrainedRecursiveShapesOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedRecursiveShapesOperation", "com.amazonaws.constraints", "ConstrainedRecursiveShapesOperation")
        4120  +
,Operation::ConstrainedShapesOnlyInOutputOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedShapesOnlyInOutputOperation", "com.amazonaws.constraints", "ConstrainedShapesOnlyInOutputOperation")
        4121  +
,Operation::ConstrainedShapesOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#ConstrainedShapesOperation", "com.amazonaws.constraints", "ConstrainedShapesOperation")
        4122  +
,Operation::EventStreamsOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#EventStreamsOperation", "com.amazonaws.constraints", "EventStreamsOperation")
        4123  +
,Operation::HttpPrefixHeadersTargetingLengthMapOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#HttpPrefixHeadersTargetingLengthMapOperation", "com.amazonaws.constraints", "HttpPrefixHeadersTargetingLengthMapOperation")
        4124  +
,Operation::NonStreamingBlobOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#NonStreamingBlobOperation", "com.amazonaws.constraints", "NonStreamingBlobOperation")
        4125  +
,Operation::QueryParamsTargetingLengthMapOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingLengthMapOperation", "com.amazonaws.constraints", "QueryParamsTargetingLengthMapOperation")
        4126  +
,Operation::QueryParamsTargetingMapOfEnumStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfEnumStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfEnumStringOperation")
        4127  +
,Operation::QueryParamsTargetingMapOfLengthListOfPatternStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthListOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthListOfPatternStringOperation")
        4128  +
,Operation::QueryParamsTargetingMapOfLengthPatternStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthPatternStringOperation")
        4129  +
,Operation::QueryParamsTargetingMapOfLengthStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfLengthStringOperation")
        4130  +
,Operation::QueryParamsTargetingMapOfListOfEnumStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfEnumStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfEnumStringOperation")
        4131  +
,Operation::QueryParamsTargetingMapOfListOfLengthPatternStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfLengthPatternStringOperation")
        4132  +
,Operation::QueryParamsTargetingMapOfListOfLengthStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfLengthStringOperation")
        4133  +
,Operation::QueryParamsTargetingMapOfListOfPatternStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfListOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfListOfPatternStringOperation")
        4134  +
,Operation::QueryParamsTargetingMapOfPatternStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfPatternStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfPatternStringOperation")
        4135  +
,Operation::QueryParamsTargetingMapOfSetOfLengthStringOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#QueryParamsTargetingMapOfSetOfLengthStringOperation", "com.amazonaws.constraints", "QueryParamsTargetingMapOfSetOfLengthStringOperation")
        4136  +
,Operation::StreamingBlobOperation => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new("com.amazonaws.constraints#StreamingBlobOperation", "com.amazonaws.constraints", "StreamingBlobOperation")
 4091   4137   
                        }
 4092   4138   
    }
 4093   4139   
}
 4094   4140   
impl<L>
 4095         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4141  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4096   4142   
        crate::operation_shape::ConstrainedHttpBoundShapesOperation,
 4097   4143   
    > for ConstraintsService<L>
 4098   4144   
{
 4099   4145   
    const VALUE: Operation = Operation::ConstrainedHttpBoundShapesOperation;
 4100   4146   
}
 4101   4147   
impl<L>
 4102         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4148  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4103   4149   
        crate::operation_shape::ConstrainedHttpPayloadBoundShapeOperation,
 4104   4150   
    > for ConstraintsService<L>
 4105   4151   
{
 4106   4152   
    const VALUE: Operation = Operation::ConstrainedHttpPayloadBoundShapeOperation;
 4107   4153   
}
 4108   4154   
impl<L>
 4109         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4155  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4110   4156   
        crate::operation_shape::ConstrainedRecursiveShapesOperation,
 4111   4157   
    > for ConstraintsService<L>
 4112   4158   
{
 4113   4159   
    const VALUE: Operation = Operation::ConstrainedRecursiveShapesOperation;
 4114   4160   
}
 4115   4161   
impl<L>
 4116         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4162  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4117   4163   
        crate::operation_shape::ConstrainedShapesOnlyInOutputOperation,
 4118   4164   
    > for ConstraintsService<L>
 4119   4165   
{
 4120   4166   
    const VALUE: Operation = Operation::ConstrainedShapesOnlyInOutputOperation;
 4121   4167   
}
 4122   4168   
impl<L>
 4123         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4169  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4124   4170   
        crate::operation_shape::ConstrainedShapesOperation,
 4125   4171   
    > for ConstraintsService<L>
 4126   4172   
{
 4127   4173   
    const VALUE: Operation = Operation::ConstrainedShapesOperation;
 4128   4174   
}
 4129   4175   
impl<L>
 4130         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4176  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4131   4177   
        crate::operation_shape::EventStreamsOperation,
 4132   4178   
    > for ConstraintsService<L>
 4133   4179   
{
 4134   4180   
    const VALUE: Operation = Operation::EventStreamsOperation;
 4135   4181   
}
 4136   4182   
impl<L>
 4137         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4183  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4138   4184   
        crate::operation_shape::HttpPrefixHeadersTargetingLengthMapOperation,
 4139   4185   
    > for ConstraintsService<L>
 4140   4186   
{
 4141   4187   
    const VALUE: Operation = Operation::HttpPrefixHeadersTargetingLengthMapOperation;
 4142   4188   
}
 4143   4189   
impl<L>
 4144         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4190  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4145   4191   
        crate::operation_shape::NonStreamingBlobOperation,
 4146   4192   
    > for ConstraintsService<L>
 4147   4193   
{
 4148   4194   
    const VALUE: Operation = Operation::NonStreamingBlobOperation;
 4149   4195   
}
 4150   4196   
impl<L>
 4151         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4197  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4152   4198   
        crate::operation_shape::QueryParamsTargetingLengthMapOperation,
 4153   4199   
    > for ConstraintsService<L>
 4154   4200   
{
 4155   4201   
    const VALUE: Operation = Operation::QueryParamsTargetingLengthMapOperation;
 4156   4202   
}
 4157   4203   
impl<L>
 4158         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4204  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4159   4205   
        crate::operation_shape::QueryParamsTargetingMapOfEnumStringOperation,
 4160   4206   
    > for ConstraintsService<L>
 4161   4207   
{
 4162   4208   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfEnumStringOperation;
 4163   4209   
}
 4164   4210   
impl<L>
 4165         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4211  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4166   4212   
        crate::operation_shape::QueryParamsTargetingMapOfLengthListOfPatternStringOperation,
 4167   4213   
    > for ConstraintsService<L>
 4168   4214   
{
 4169   4215   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfLengthListOfPatternStringOperation;
 4170   4216   
}
 4171   4217   
impl<L>
 4172         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4218  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4173   4219   
        crate::operation_shape::QueryParamsTargetingMapOfLengthPatternStringOperation,
 4174   4220   
    > for ConstraintsService<L>
 4175   4221   
{
 4176   4222   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfLengthPatternStringOperation;
 4177   4223   
}
 4178   4224   
impl<L>
 4179         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4225  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4180   4226   
        crate::operation_shape::QueryParamsTargetingMapOfLengthStringOperation,
 4181   4227   
    > for ConstraintsService<L>
 4182   4228   
{
 4183   4229   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfLengthStringOperation;
 4184   4230   
}
 4185   4231   
impl<L>
 4186         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4232  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4187   4233   
        crate::operation_shape::QueryParamsTargetingMapOfListOfEnumStringOperation,
 4188   4234   
    > for ConstraintsService<L>
 4189   4235   
{
 4190   4236   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfListOfEnumStringOperation;
 4191   4237   
}
 4192   4238   
impl<L>
 4193         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4239  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4194   4240   
        crate::operation_shape::QueryParamsTargetingMapOfListOfLengthPatternStringOperation,
 4195   4241   
    > for ConstraintsService<L>
 4196   4242   
{
 4197   4243   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfListOfLengthPatternStringOperation;
 4198   4244   
}
 4199   4245   
impl<L>
 4200         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4246  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4201   4247   
        crate::operation_shape::QueryParamsTargetingMapOfListOfLengthStringOperation,
 4202   4248   
    > for ConstraintsService<L>
 4203   4249   
{
 4204   4250   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfListOfLengthStringOperation;
 4205   4251   
}
 4206   4252   
impl<L>
 4207         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4253  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4208   4254   
        crate::operation_shape::QueryParamsTargetingMapOfListOfPatternStringOperation,
 4209   4255   
    > for ConstraintsService<L>
 4210   4256   
{
 4211   4257   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfListOfPatternStringOperation;
 4212   4258   
}
 4213   4259   
impl<L>
 4214         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4260  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4215   4261   
        crate::operation_shape::QueryParamsTargetingMapOfPatternStringOperation,
 4216   4262   
    > for ConstraintsService<L>
 4217   4263   
{
 4218   4264   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfPatternStringOperation;
 4219   4265   
}
 4220   4266   
impl<L>
 4221         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4267  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4222   4268   
        crate::operation_shape::QueryParamsTargetingMapOfSetOfLengthStringOperation,
 4223   4269   
    > for ConstraintsService<L>
 4224   4270   
{
 4225   4271   
    const VALUE: Operation = Operation::QueryParamsTargetingMapOfSetOfLengthStringOperation;
 4226   4272   
}
 4227   4273   
impl<L>
 4228         -
    ::aws_smithy_http_server::service::ContainsOperation<
        4274  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
 4229   4275   
        crate::operation_shape::StreamingBlobOperation,
 4230   4276   
    > for ConstraintsService<L>
 4231   4277   
{
 4232   4278   
    const VALUE: Operation = Operation::StreamingBlobOperation;
 4233   4279   
}
 4234   4280   
 4235         -
impl<S> ::aws_smithy_http_server::service::ServiceShape for ConstraintsService<S> {
 4236         -
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
 4237         -
        ::aws_smithy_http_server::shape_id::ShapeId::new(
        4281  +
impl<S> ::aws_smithy_legacy_http_server::service::ServiceShape for ConstraintsService<S> {
        4282  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        4283  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4238   4284   
            "com.amazonaws.constraints#ConstraintsService",
 4239   4285   
            "com.amazonaws.constraints",
 4240   4286   
            "ConstraintsService",
 4241   4287   
        );
 4242   4288   
 4243   4289   
    const VERSION: Option<&'static str> = Some("");
 4244   4290   
 4245         -
    type Protocol = ::aws_smithy_http_server::protocol::rest_json_1::RestJson1;
        4291  +
    type Protocol = ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1;
 4246   4292   
 4247   4293   
    type Operations = Operation;
 4248   4294   
}
 4249   4295   
/// Configuration for the [`ConstraintsService`]. This is the central place where to register and
 4250   4296   
/// configure [`::tower::Layer`]s, HTTP plugins, and model plugins.
 4251   4297   
///
 4252   4298   
/// ```rust,no_run
 4253   4299   
/// # use constraints::ConstraintsServiceConfig;
 4254         -
/// # use ::aws_smithy_http_server::plugin::IdentityPlugin;
        4300  +
/// # use ::aws_smithy_legacy_http_server::plugin::IdentityPlugin;
 4255   4301   
/// # use ::tower::layer::util::Identity;
 4256   4302   
/// # let authentication_plugin = IdentityPlugin;
 4257   4303   
/// # let authorization_plugin = IdentityPlugin;
 4258   4304   
/// # let server_request_id_provider_layer = Identity::new();
 4259   4305   
/// let config = ConstraintsServiceConfig::builder()
 4260   4306   
///     // Layers get executed first...
 4261   4307   
///     .layer(server_request_id_provider_layer)
 4262   4308   
///     // ...then HTTP plugins...
 4263   4309   
///     .http_plugin(authentication_plugin)
 4264   4310   
///     // ...and right after deserialization, model plugins.
 4265   4311   
///     .model_plugin(authorization_plugin)
 4266   4312   
///     .build();
 4267   4313   
/// ```
 4268   4314   
///
 4269   4315   
/// See the [`plugin`] system for details.
 4270   4316   
///
 4271         -
/// [`plugin`]: ::aws_smithy_http_server::plugin
        4317  +
/// [`plugin`]: ::aws_smithy_legacy_http_server::plugin
 4272   4318   
#[derive(::std::fmt::Debug)]
 4273   4319   
pub struct ConstraintsServiceConfig<L, H, M> {
 4274   4320   
    layers: L,
 4275   4321   
    http_plugins: H,
 4276   4322   
    model_plugins: M,
 4277   4323   
}
 4278   4324   
 4279   4325   
impl ConstraintsServiceConfig<(), (), ()> {
 4280   4326   
    /// Returns a builder to construct the configuration.
 4281   4327   
    pub fn builder() -> ConstraintsServiceConfigBuilder<
 4282   4328   
        ::tower::layer::util::Identity,
 4283         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
 4284         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
        4329  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        4330  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 4285   4331   
    > {
 4286   4332   
        ConstraintsServiceConfigBuilder {
 4287   4333   
            layers: ::tower::layer::util::Identity::new(),
 4288         -
            http_plugins: ::aws_smithy_http_server::plugin::IdentityPlugin,
 4289         -
            model_plugins: ::aws_smithy_http_server::plugin::IdentityPlugin,
        4334  +
            http_plugins: ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        4335  +
            model_plugins: ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 4290   4336   
        }
 4291   4337   
    }
 4292   4338   
}
 4293   4339   
 4294   4340   
/// Builder returned by [`ConstraintsServiceConfig::builder()`].
 4295   4341   
#[derive(::std::fmt::Debug)]
 4296   4342   
pub struct ConstraintsServiceConfigBuilder<L, H, M> {
 4297   4343   
    pub(crate) layers: L,
 4298   4344   
    pub(crate) http_plugins: H,
 4299   4345   
    pub(crate) model_plugins: M,
 4300   4346   
}
 4301   4347   
 4302   4348   
impl<L, H, M> ConstraintsServiceConfigBuilder<L, H, M> {
 4303   4349   
    /// Add a [`::tower::Layer`] to the service.
 4304   4350   
    pub fn layer<NewLayer>(
 4305   4351   
        self,
 4306   4352   
        layer: NewLayer,
 4307   4353   
    ) -> ConstraintsServiceConfigBuilder<::tower::layer::util::Stack<NewLayer, L>, H, M> {
 4308   4354   
        ConstraintsServiceConfigBuilder {
 4309   4355   
            layers: ::tower::layer::util::Stack::new(layer, self.layers),
 4310   4356   
            http_plugins: self.http_plugins,
 4311   4357   
            model_plugins: self.model_plugins,
 4312   4358   
        }
 4313   4359   
    }
 4314   4360   
 4315   4361   
    /// Add a HTTP [plugin] to the service.
 4316   4362   
    ///
 4317         -
    /// [plugin]: ::aws_smithy_http_server::plugin
        4363  +
    /// [plugin]: ::aws_smithy_legacy_http_server::plugin
 4318   4364   
    // We eagerly require `NewPlugin: HttpMarker`, despite not really needing it, because compiler
 4319   4365   
    // errors get _substantially_ better if the user makes a mistake.
 4320         -
    pub fn http_plugin<NewPlugin: ::aws_smithy_http_server::plugin::HttpMarker>(
        4366  +
    pub fn http_plugin<NewPlugin: ::aws_smithy_legacy_http_server::plugin::HttpMarker>(
 4321   4367   
        self,
 4322   4368   
        http_plugin: NewPlugin,
 4323   4369   
    ) -> ConstraintsServiceConfigBuilder<
 4324   4370   
        L,
 4325         -
        ::aws_smithy_http_server::plugin::PluginStack<NewPlugin, H>,
        4371  +
        ::aws_smithy_legacy_http_server::plugin::PluginStack<NewPlugin, H>,
 4326   4372   
        M,
 4327   4373   
    > {
 4328   4374   
        ConstraintsServiceConfigBuilder {
 4329   4375   
            layers: self.layers,
 4330         -
            http_plugins: ::aws_smithy_http_server::plugin::PluginStack::new(
        4376  +
            http_plugins: ::aws_smithy_legacy_http_server::plugin::PluginStack::new(
 4331   4377   
                http_plugin,
 4332   4378   
                self.http_plugins,
 4333   4379   
            ),
 4334   4380   
            model_plugins: self.model_plugins,
 4335   4381   
        }
 4336   4382   
    }
 4337   4383   
 4338   4384   
    /// Add a model [plugin] to the service.
 4339   4385   
    ///
 4340         -
    /// [plugin]: ::aws_smithy_http_server::plugin
        4386  +
    /// [plugin]: ::aws_smithy_legacy_http_server::plugin
 4341   4387   
    // We eagerly require `NewPlugin: ModelMarker`, despite not really needing it, because compiler
 4342   4388   
    // errors get _substantially_ better if the user makes a mistake.
 4343         -
    pub fn model_plugin<NewPlugin: ::aws_smithy_http_server::plugin::ModelMarker>(
        4389  +
    pub fn model_plugin<NewPlugin: ::aws_smithy_legacy_http_server::plugin::ModelMarker>(
 4344   4390   
        self,
 4345   4391   
        model_plugin: NewPlugin,
 4346   4392   
    ) -> ConstraintsServiceConfigBuilder<
 4347   4393   
        L,
 4348   4394   
        H,
 4349         -
        ::aws_smithy_http_server::plugin::PluginStack<NewPlugin, M>,
        4395  +
        ::aws_smithy_legacy_http_server::plugin::PluginStack<NewPlugin, M>,
 4350   4396   
    > {
 4351   4397   
        ConstraintsServiceConfigBuilder {
 4352   4398   
            layers: self.layers,
 4353   4399   
            http_plugins: self.http_plugins,
 4354         -
            model_plugins: ::aws_smithy_http_server::plugin::PluginStack::new(
        4400  +
            model_plugins: ::aws_smithy_legacy_http_server::plugin::PluginStack::new(
 4355   4401   
                model_plugin,
 4356   4402   
                self.model_plugins,
 4357   4403   
            ),
 4358   4404   
        }
 4359   4405   
    }
 4360   4406   
 4361   4407   
    /// Build the configuration.
 4362   4408   
    pub fn build(self) -> super::ConstraintsServiceConfig<L, H, M> {
 4363   4409   
        super::ConstraintsServiceConfig {
 4364   4410   
            layers: self.layers,