Server Test Python

Server Test Python

rev. 03e6e47f15dfd569240d570d98975ebba692c405

Files changed:

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

@@ -1,1 +324,324 @@
    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_start_snapshot_http_request<B>(
    4      4   
    #[allow(unused_variables)] request: ::http::Request<B>,
    5      5   
) -> std::result::Result<
    6      6   
    crate::input::StartSnapshotInput,
    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::start_snapshot_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 bytes = ::hyper::body::to_bytes(body).await?;
   23     23   
        if !bytes.is_empty() {
   24         -
            ::aws_smithy_http_server::protocol::content_type_header_classifier_smithy(
          24  +
            ::aws_smithy_legacy_http_server::protocol::content_type_header_classifier_smithy(
   25     25   
                &headers,
   26     26   
                Some("application/json"),
   27     27   
            )?;
   28     28   
            input = crate::protocol_serde::shape_start_snapshot::de_start_snapshot(
   29     29   
                bytes.as_ref(),
   30     30   
                input,
   31     31   
            )?;
   32     32   
        }
   33     33   
        input.build()?
   34     34   
    })
   35     35   
}
   36     36   
   37     37   
#[allow(clippy::unnecessary_wraps)]
   38     38   
pub fn ser_start_snapshot_http_response(
   39     39   
    #[allow(unused_variables)] output: crate::output::StartSnapshotOutput,
   40     40   
) -> std::result::Result<
   41         -
    ::aws_smithy_http_server::response::Response,
   42         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          41  +
    ::aws_smithy_legacy_http_server::response::Response,
          42  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   43     43   
> {
   44     44   
    Ok({
   45     45   
        #[allow(unused_mut)]
   46     46   
        let mut builder = ::http::Response::builder();
   47         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          47  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   48     48   
            builder,
   49     49   
            ::http::header::CONTENT_TYPE,
   50     50   
            "application/json",
   51     51   
        );
   52     52   
        let http_status: u16 = 201;
   53     53   
        builder = builder.status(http_status);
   54     54   
        let payload =
   55     55   
            crate::protocol_serde::shape_start_snapshot_output::ser_start_snapshot_output_output_output(&output)?
   56     56   
        ;
   57     57   
        let content_length = payload.len();
   58         -
        builder = ::aws_smithy_http::header::set_response_header_if_absent(
          58  +
        builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   59     59   
            builder,
   60     60   
            ::http::header::CONTENT_LENGTH,
   61     61   
            content_length,
   62     62   
        );
   63         -
        let body = ::aws_smithy_http_server::body::to_boxed(payload);
          63  +
        let body = ::aws_smithy_legacy_http_server::body::to_boxed(payload);
   64     64   
        builder.body(body)?
   65     65   
    })
   66     66   
}
   67     67   
   68     68   
#[allow(clippy::unnecessary_wraps)]
   69     69   
pub fn ser_start_snapshot_http_error(
   70     70   
    error: &crate::error::StartSnapshotError,
   71     71   
) -> std::result::Result<
   72         -
    ::aws_smithy_http_server::response::Response,
   73         -
    ::aws_smithy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
          72  +
    ::aws_smithy_legacy_http_server::response::Response,
          73  +
    ::aws_smithy_legacy_http_server::protocol::rest_json_1::rejection::ResponseRejection,
   74     74   
> {
   75     75   
    Ok({
   76     76   
        match error {
   77     77   
            crate::error::StartSnapshotError::InternalServerException(output) => {
   78     78   
                let payload = crate::protocol_serde::shape_internal_server_exception::ser_internal_server_exception_error(output)?;
   79     79   
                #[allow(unused_mut)]
   80     80   
                let mut builder = ::http::Response::builder();
   81         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          81  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   82     82   
                    builder,
   83     83   
                    ::http::header::CONTENT_TYPE,
   84     84   
                    "application/json",
   85     85   
                );
   86         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          86  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   87     87   
                    builder,
   88     88   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
   89     89   
                    "InternalServerException",
   90     90   
                );
   91     91   
                let content_length = payload.len();
   92         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
          92  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
   93     93   
                    builder,
   94     94   
                    ::http::header::CONTENT_LENGTH,
   95     95   
                    content_length,
   96     96   
                );
   97     97   
                builder
   98     98   
                    .status(500)
   99         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
          99  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  100    100   
            }
  101    101   
            crate::error::StartSnapshotError::ResourceNotFoundException(output) => {
  102    102   
                let payload = crate::protocol_serde::shape_resource_not_found_exception::ser_resource_not_found_exception_error(output)?;
  103    103   
                #[allow(unused_mut)]
  104    104   
                let mut builder = ::http::Response::builder();
  105         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         105  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  106    106   
                    builder,
  107    107   
                    ::http::header::CONTENT_TYPE,
  108    108   
                    "application/json",
  109    109   
                );
  110         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         110  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  111    111   
                    builder,
  112    112   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  113    113   
                    "ResourceNotFoundException",
  114    114   
                );
  115    115   
                let content_length = payload.len();
  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::CONTENT_LENGTH,
  119    119   
                    content_length,
  120    120   
                );
  121    121   
                builder
  122    122   
                    .status(404)
  123         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         123  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  124    124   
            }
  125    125   
            crate::error::StartSnapshotError::AccessDeniedException(output) => {
  126    126   
                let payload = crate::protocol_serde::shape_access_denied_exception::ser_access_denied_exception_error(output)?;
  127    127   
                #[allow(unused_mut)]
  128    128   
                let mut builder = ::http::Response::builder();
  129         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         129  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  130    130   
                    builder,
  131    131   
                    ::http::header::CONTENT_TYPE,
  132    132   
                    "application/json",
  133    133   
                );
  134         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         134  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  135    135   
                    builder,
  136    136   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  137    137   
                    "AccessDeniedException",
  138    138   
                );
  139    139   
                let content_length = payload.len();
  140         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         140  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  141    141   
                    builder,
  142    142   
                    ::http::header::CONTENT_LENGTH,
  143    143   
                    content_length,
  144    144   
                );
  145    145   
                builder
  146    146   
                    .status(403)
  147         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         147  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  148    148   
            }
  149    149   
            crate::error::StartSnapshotError::ConflictException(output) => {
  150    150   
                let payload =
  151    151   
                    crate::protocol_serde::shape_conflict_exception::ser_conflict_exception_error(
  152    152   
                        output,
  153    153   
                    )?;
  154    154   
                #[allow(unused_mut)]
  155    155   
                let mut builder = ::http::Response::builder();
  156         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         156  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  157    157   
                    builder,
  158    158   
                    ::http::header::CONTENT_TYPE,
  159    159   
                    "application/json",
  160    160   
                );
  161         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         161  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  162    162   
                    builder,
  163    163   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  164    164   
                    "ConflictException",
  165    165   
                );
  166    166   
                let content_length = payload.len();
  167         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         167  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  168    168   
                    builder,
  169    169   
                    ::http::header::CONTENT_LENGTH,
  170    170   
                    content_length,
  171    171   
                );
  172    172   
                builder
  173    173   
                    .status(503)
  174         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         174  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  175    175   
            }
  176    176   
            crate::error::StartSnapshotError::RequestThrottledException(output) => {
  177    177   
                let payload = crate::protocol_serde::shape_request_throttled_exception::ser_request_throttled_exception_error(output)?;
  178    178   
                #[allow(unused_mut)]
  179    179   
                let mut builder = ::http::Response::builder();
  180         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         180  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  181    181   
                    builder,
  182    182   
                    ::http::header::CONTENT_TYPE,
  183    183   
                    "application/json",
  184    184   
                );
  185         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         185  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  186    186   
                    builder,
  187    187   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  188    188   
                    "RequestThrottledException",
  189    189   
                );
  190    190   
                let content_length = payload.len();
  191         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         191  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  192    192   
                    builder,
  193    193   
                    ::http::header::CONTENT_LENGTH,
  194    194   
                    content_length,
  195    195   
                );
  196    196   
                builder
  197    197   
                    .status(400)
  198         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         198  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  199    199   
            }
  200    200   
            crate::error::StartSnapshotError::ServiceQuotaExceededException(output) => {
  201    201   
                let payload = crate::protocol_serde::shape_service_quota_exceeded_exception::ser_service_quota_exceeded_exception_error(output)?;
  202    202   
                #[allow(unused_mut)]
  203    203   
                let mut builder = ::http::Response::builder();
  204         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         204  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  205    205   
                    builder,
  206    206   
                    ::http::header::CONTENT_TYPE,
  207    207   
                    "application/json",
  208    208   
                );
  209         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         209  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  210    210   
                    builder,
  211    211   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  212    212   
                    "ServiceQuotaExceededException",
  213    213   
                );
  214    214   
                let content_length = payload.len();
  215         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         215  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  216    216   
                    builder,
  217    217   
                    ::http::header::CONTENT_LENGTH,
  218    218   
                    content_length,
  219    219   
                );
  220    220   
                builder
  221    221   
                    .status(402)
  222         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         222  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  223    223   
            }
  224    224   
            crate::error::StartSnapshotError::ConcurrentLimitExceededException(output) => {
  225    225   
                let payload = crate::protocol_serde::shape_concurrent_limit_exceeded_exception::ser_concurrent_limit_exceeded_exception_error(output)?;
  226    226   
                #[allow(unused_mut)]
  227    227   
                let mut builder = ::http::Response::builder();
  228         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         228  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  229    229   
                    builder,
  230    230   
                    ::http::header::CONTENT_TYPE,
  231    231   
                    "application/json",
  232    232   
                );
  233         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         233  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  234    234   
                    builder,
  235    235   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  236    236   
                    "ConcurrentLimitExceededException",
  237    237   
                );
  238    238   
                let content_length = payload.len();
  239         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         239  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  240    240   
                    builder,
  241    241   
                    ::http::header::CONTENT_LENGTH,
  242    242   
                    content_length,
  243    243   
                );
  244    244   
                builder
  245    245   
                    .status(400)
  246         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         246  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  247    247   
            }
  248    248   
            crate::error::StartSnapshotError::ValidationException(output) => {
  249    249   
                let payload = crate::protocol_serde::shape_validation_exception::ser_validation_exception_error(output)?;
  250    250   
                #[allow(unused_mut)]
  251    251   
                let mut builder = ::http::Response::builder();
  252         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         252  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  253    253   
                    builder,
  254    254   
                    ::http::header::CONTENT_TYPE,
  255    255   
                    "application/json",
  256    256   
                );
  257         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         257  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  258    258   
                    builder,
  259    259   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  260    260   
                    "ValidationException",
  261    261   
                );
  262    262   
                let content_length = payload.len();
  263         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         263  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  264    264   
                    builder,
  265    265   
                    ::http::header::CONTENT_LENGTH,
  266    266   
                    content_length,
  267    267   
                );
  268    268   
                builder
  269    269   
                    .status(400)
  270         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         270  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  271    271   
            }
  272    272   
            crate::error::StartSnapshotError::InternalServerError(output) => {
  273    273   
                let payload = crate::protocol_serde::shape_internal_server_error::ser_internal_server_error_error(output)?;
  274    274   
                #[allow(unused_mut)]
  275    275   
                let mut builder = ::http::Response::builder();
  276         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         276  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  277    277   
                    builder,
  278    278   
                    ::http::header::CONTENT_TYPE,
  279    279   
                    "application/json",
  280    280   
                );
  281         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         281  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  282    282   
                    builder,
  283    283   
                    ::http::header::HeaderName::from_static("x-amzn-errortype"),
  284    284   
                    "InternalServerError",
  285    285   
                );
  286    286   
                let content_length = payload.len();
  287         -
                builder = ::aws_smithy_http::header::set_response_header_if_absent(
         287  +
                builder = ::aws_smithy_legacy_http::header::set_response_header_if_absent(
  288    288   
                    builder,
  289    289   
                    ::http::header::CONTENT_LENGTH,
  290    290   
                    content_length,
  291    291   
                );
  292    292   
                builder
  293    293   
                    .status(500)
  294         -
                    .body(::aws_smithy_http_server::body::to_boxed(payload))?
         294  +
                    .body(::aws_smithy_legacy_http_server::body::to_boxed(payload))?
  295    295   
            }
  296    296   
        }
  297    297   
    })
  298    298   
}
  299    299   
  300    300   
pub(crate) fn de_start_snapshot(
  301    301   
    value: &[u8],
  302    302   
    mut builder: crate::input::start_snapshot_input_internal::Builder,
  303    303   
) -> ::std::result::Result<
  304    304   
    crate::input::start_snapshot_input_internal::Builder,

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

@@ -1,1 +288,300 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// Python handler for operation `StartSnapshot`.
    3      3   
pub(crate) async fn start_snapshot(
    4      4   
    input: crate::input::StartSnapshotInput,
    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<crate::output::StartSnapshotOutput, crate::error::StartSnapshotError> {
    8     10   
    // Async block used to run the handler and catch any Python error.
    9     11   
    let result = if handler.is_coroutine {
   10     12   
        ::tracing::trace!(
   11     13   
            name = "start_snapshot",
   12     14   
            "executing python handler coroutine"
   13     15   
        );
   14     16   
        let result = ::pyo3::Python::with_gil(|py| {
   15     17   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   16     18   
            let coroutine = if handler.args == 1 {
   17     19   
                pyhandler.call1((input,))?
   18     20   
            } else {
   19     21   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   20     22   
            };
   21     23   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   22     24   
        })?;
   23     25   
        result.await.and_then(|r| {
   24     26   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::StartSnapshotOutput>(py))
   25     27   
        })
   26     28   
    } else {
   27     29   
        ::tracing::trace!(name = "start_snapshot", "executing python handler function");
   28     30   
        ::pyo3::Python::with_gil(|py| {
   29     31   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   30     32   
            let output = if handler.args == 1 {
   31     33   
                pyhandler.call1((input,))?
   32     34   
            } else {
   33     35   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   34     36   
            };
   35     37   
            output.extract::<crate::output::StartSnapshotOutput>()
   36     38   
        })
   37     39   
    };
   38     40   
    // Catch and record a Python traceback.
   39     41   
    result.map_err(|e| {
   40     42   
        let rich_py_err =
   41     43   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
   42     44   
                e.clone_ref(py)
   43     45   
            }));
   44     46   
        ::tracing::error!(error = ?rich_py_err, "handler error");
   45     47   
        e.into()
   46     48   
    })
   47     49   
}
   48     50   
   49     51   
/// Python handler for operation `PutSnapshotBlock`.
   50     52   
pub(crate) async fn put_snapshot_block(
   51     53   
    input: crate::input::PutSnapshotBlockInput,
   52         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
          54  +
    state: ::aws_smithy_legacy_http_server::Extension<
          55  +
        ::aws_smithy_http_server_python::context::PyContext,
          56  +
    >,
   53     57   
    handler: ::aws_smithy_http_server_python::PyHandler,
   54     58   
) -> std::result::Result<crate::output::PutSnapshotBlockOutput, crate::error::PutSnapshotBlockError>
   55     59   
{
   56     60   
    // Async block used to run the handler and catch any Python error.
   57     61   
    let result = if handler.is_coroutine {
   58     62   
        ::tracing::trace!(
   59     63   
            name = "put_snapshot_block",
   60     64   
            "executing python handler coroutine"
   61     65   
        );
   62     66   
        let result = ::pyo3::Python::with_gil(|py| {
   63     67   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   64     68   
            let coroutine = if handler.args == 1 {
   65     69   
                pyhandler.call1((input,))?
   66     70   
            } else {
   67     71   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   68     72   
            };
   69     73   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   70     74   
        })?;
   71     75   
        result.await.and_then(|r| {
   72     76   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::PutSnapshotBlockOutput>(py))
   73     77   
        })
   74     78   
    } else {
   75     79   
        ::tracing::trace!(
   76     80   
            name = "put_snapshot_block",
   77     81   
            "executing python handler function"
   78     82   
        );
   79     83   
        ::pyo3::Python::with_gil(|py| {
   80     84   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   81     85   
            let output = if handler.args == 1 {
   82     86   
                pyhandler.call1((input,))?
   83     87   
            } else {
   84     88   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   85     89   
            };
   86     90   
            output.extract::<crate::output::PutSnapshotBlockOutput>()
   87     91   
        })
   88     92   
    };
   89     93   
    // Catch and record a Python traceback.
   90     94   
    result.map_err(|e| {
   91     95   
        let rich_py_err =
   92     96   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
   93     97   
                e.clone_ref(py)
   94     98   
            }));
   95     99   
        ::tracing::error!(error = ?rich_py_err, "handler error");
   96    100   
        e.into()
   97    101   
    })
   98    102   
}
   99    103   
  100    104   
/// Python handler for operation `ListSnapshotBlocks`.
  101    105   
pub(crate) async fn list_snapshot_blocks(
  102    106   
    input: crate::input::ListSnapshotBlocksInput,
  103         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         107  +
    state: ::aws_smithy_legacy_http_server::Extension<
         108  +
        ::aws_smithy_http_server_python::context::PyContext,
         109  +
    >,
  104    110   
    handler: ::aws_smithy_http_server_python::PyHandler,
  105    111   
) -> std::result::Result<
  106    112   
    crate::output::ListSnapshotBlocksOutput,
  107    113   
    crate::error::ListSnapshotBlocksError,
  108    114   
> {
  109    115   
    // Async block used to run the handler and catch any Python error.
  110    116   
    let result = if handler.is_coroutine {
  111    117   
        ::tracing::trace!(
  112    118   
            name = "list_snapshot_blocks",
  113    119   
            "executing python handler coroutine"
  114    120   
        );
  115    121   
        let result = ::pyo3::Python::with_gil(|py| {
  116    122   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  117    123   
            let coroutine = if handler.args == 1 {
  118    124   
                pyhandler.call1((input,))?
  119    125   
            } else {
  120    126   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  121    127   
            };
  122    128   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  123    129   
        })?;
  124    130   
        result.await.and_then(|r| {
  125    131   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::ListSnapshotBlocksOutput>(py))
  126    132   
        })
  127    133   
    } else {
  128    134   
        ::tracing::trace!(
  129    135   
            name = "list_snapshot_blocks",
  130    136   
            "executing python handler function"
  131    137   
        );
  132    138   
        ::pyo3::Python::with_gil(|py| {
  133    139   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  134    140   
            let output = if handler.args == 1 {
  135    141   
                pyhandler.call1((input,))?
  136    142   
            } else {
  137    143   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  138    144   
            };
  139    145   
            output.extract::<crate::output::ListSnapshotBlocksOutput>()
  140    146   
        })
  141    147   
    };
  142    148   
    // Catch and record a Python traceback.
  143    149   
    result.map_err(|e| {
  144    150   
        let rich_py_err =
  145    151   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  146    152   
                e.clone_ref(py)
  147    153   
            }));
  148    154   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  149    155   
        e.into()
  150    156   
    })
  151    157   
}
  152    158   
  153    159   
/// Python handler for operation `ListChangedBlocks`.
  154    160   
pub(crate) async fn list_changed_blocks(
  155    161   
    input: crate::input::ListChangedBlocksInput,
  156         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         162  +
    state: ::aws_smithy_legacy_http_server::Extension<
         163  +
        ::aws_smithy_http_server_python::context::PyContext,
         164  +
    >,
  157    165   
    handler: ::aws_smithy_http_server_python::PyHandler,
  158    166   
) -> std::result::Result<crate::output::ListChangedBlocksOutput, crate::error::ListChangedBlocksError>
  159    167   
{
  160    168   
    // Async block used to run the handler and catch any Python error.
  161    169   
    let result = if handler.is_coroutine {
  162    170   
        ::tracing::trace!(
  163    171   
            name = "list_changed_blocks",
  164    172   
            "executing python handler coroutine"
  165    173   
        );
  166    174   
        let result = ::pyo3::Python::with_gil(|py| {
  167    175   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  168    176   
            let coroutine = if handler.args == 1 {
  169    177   
                pyhandler.call1((input,))?
  170    178   
            } else {
  171    179   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  172    180   
            };
  173    181   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  174    182   
        })?;
  175    183   
        result.await.and_then(|r| {
  176    184   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::ListChangedBlocksOutput>(py))
  177    185   
        })
  178    186   
    } else {
  179    187   
        ::tracing::trace!(
  180    188   
            name = "list_changed_blocks",
  181    189   
            "executing python handler function"
  182    190   
        );
  183    191   
        ::pyo3::Python::with_gil(|py| {
  184    192   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  185    193   
            let output = if handler.args == 1 {
  186    194   
                pyhandler.call1((input,))?
  187    195   
            } else {
  188    196   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  189    197   
            };
  190    198   
            output.extract::<crate::output::ListChangedBlocksOutput>()
  191    199   
        })
  192    200   
    };
  193    201   
    // Catch and record a Python traceback.
  194    202   
    result.map_err(|e| {
  195    203   
        let rich_py_err =
  196    204   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  197    205   
                e.clone_ref(py)
  198    206   
            }));
  199    207   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  200    208   
        e.into()
  201    209   
    })
  202    210   
}
  203    211   
  204    212   
/// Python handler for operation `GetSnapshotBlock`.
  205    213   
pub(crate) async fn get_snapshot_block(
  206    214   
    input: crate::input::GetSnapshotBlockInput,
  207         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         215  +
    state: ::aws_smithy_legacy_http_server::Extension<
         216  +
        ::aws_smithy_http_server_python::context::PyContext,
         217  +
    >,
  208    218   
    handler: ::aws_smithy_http_server_python::PyHandler,
  209    219   
) -> std::result::Result<crate::output::GetSnapshotBlockOutput, crate::error::GetSnapshotBlockError>
  210    220   
{
  211    221   
    // Async block used to run the handler and catch any Python error.
  212    222   
    let result = if handler.is_coroutine {
  213    223   
        ::tracing::trace!(
  214    224   
            name = "get_snapshot_block",
  215    225   
            "executing python handler coroutine"
  216    226   
        );
  217    227   
        let result = ::pyo3::Python::with_gil(|py| {
  218    228   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  219    229   
            let coroutine = if handler.args == 1 {
  220    230   
                pyhandler.call1((input,))?
  221    231   
            } else {
  222    232   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  223    233   
            };
  224    234   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  225    235   
        })?;
  226    236   
        result.await.and_then(|r| {
  227    237   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetSnapshotBlockOutput>(py))
  228    238   
        })
  229    239   
    } else {
  230    240   
        ::tracing::trace!(
  231    241   
            name = "get_snapshot_block",
  232    242   
            "executing python handler function"
  233    243   
        );
  234    244   
        ::pyo3::Python::with_gil(|py| {
  235    245   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  236    246   
            let output = if handler.args == 1 {
  237    247   
                pyhandler.call1((input,))?
  238    248   
            } else {
  239    249   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  240    250   
            };
  241    251   
            output.extract::<crate::output::GetSnapshotBlockOutput>()
  242    252   
        })
  243    253   
    };
  244    254   
    // Catch and record a Python traceback.
  245    255   
    result.map_err(|e| {
  246    256   
        let rich_py_err =
  247    257   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  248    258   
                e.clone_ref(py)
  249    259   
            }));
  250    260   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  251    261   
        e.into()
  252    262   
    })
  253    263   
}
  254    264   
  255    265   
/// Python handler for operation `CompleteSnapshot`.
  256    266   
pub(crate) async fn complete_snapshot(
  257    267   
    input: crate::input::CompleteSnapshotInput,
  258         -
    state: ::aws_smithy_http_server::Extension<::aws_smithy_http_server_python::context::PyContext>,
         268  +
    state: ::aws_smithy_legacy_http_server::Extension<
         269  +
        ::aws_smithy_http_server_python::context::PyContext,
         270  +
    >,
  259    271   
    handler: ::aws_smithy_http_server_python::PyHandler,
  260    272   
) -> std::result::Result<crate::output::CompleteSnapshotOutput, crate::error::CompleteSnapshotError>
  261    273   
{
  262    274   
    // Async block used to run the handler and catch any Python error.
  263    275   
    let result = if handler.is_coroutine {
  264    276   
        ::tracing::trace!(
  265    277   
            name = "complete_snapshot",
  266    278   
            "executing python handler coroutine"
  267    279   
        );
  268    280   
        let result = ::pyo3::Python::with_gil(|py| {

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

@@ -91,91 +152,152 @@
  111    111   
    fn handlers(
  112    112   
        &mut self,
  113    113   
    ) -> &mut ::std::collections::HashMap<String, ::aws_smithy_http_server_python::PyHandler> {
  114    114   
        &mut self.handlers
  115    115   
    }
  116    116   
    fn build_service(
  117    117   
        &mut self,
  118    118   
        event_loop: &::pyo3::PyAny,
  119    119   
    ) -> ::pyo3::PyResult<
  120    120   
        ::tower::util::BoxCloneService<
  121         -
            ::http::Request<::aws_smithy_http_server::body::Body>,
  122         -
            ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         121  +
            ::http::Request<::aws_smithy_legacy_http_server::body::Body>,
         122  +
            ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  123    123   
            std::convert::Infallible,
  124    124   
        >,
  125    125   
    > {
  126    126   
        let builder = crate::service::Ebs::builder_without_plugins();
  127    127   
        let complete_snapshot_locals = ::pyo3_asyncio::TaskLocals::new(event_loop);
  128    128   
        let handler = self
  129    129   
            .handlers
  130    130   
            .get("complete_snapshot")
  131    131   
            .expect("Python handler for operation `complete_snapshot` not found")
  132    132   
            .clone();
@@ -185,185 +245,245 @@
  205    205   
        {
  206    206   
            use ::tower::Layer;
  207    207   
            ::tracing::trace!("adding middlewares to rust python router");
  208    208   
            let mut middlewares = self.middlewares.clone();
  209    209   
            // Reverse the middlewares, so they run with same order as they defined
  210    210   
            middlewares.reverse();
  211    211   
            for handler in middlewares {
  212    212   
                ::tracing::trace!(name = &handler.name, "adding python middleware");
  213    213   
                let locals = ::pyo3_asyncio::TaskLocals::new(event_loop);
  214    214   
                let layer = ::aws_smithy_http_server_python::PyMiddlewareLayer::<
  215         -
                    ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         215  +
                    ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
  216    216   
                >::new(handler, locals);
  217    217   
                service = ::tower::util::BoxCloneService::new(layer.layer(service));
  218    218   
            }
  219    219   
        }
  220    220   
        Ok(service)
  221    221   
    }
  222    222   
}
  223    223   
#[::pyo3::pymethods]
  224    224   
impl App {
  225    225   
    /// Create a new [App].

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

@@ -1,1 +1661,1690 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/// The service builder for [`Ebs`].
    3      3   
///
    4      4   
/// Constructed via [`Ebs::builder`].
    5      5   
pub struct EbsBuilder<Body, L, HttpPl, ModelPl> {
    6         -
    complete_snapshot: Option<::aws_smithy_http_server::routing::Route<Body>>,
    7         -
    get_snapshot_block: Option<::aws_smithy_http_server::routing::Route<Body>>,
    8         -
    list_changed_blocks: Option<::aws_smithy_http_server::routing::Route<Body>>,
    9         -
    list_snapshot_blocks: Option<::aws_smithy_http_server::routing::Route<Body>>,
   10         -
    put_snapshot_block: Option<::aws_smithy_http_server::routing::Route<Body>>,
   11         -
    start_snapshot: Option<::aws_smithy_http_server::routing::Route<Body>>,
           6  +
    complete_snapshot: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
           7  +
    get_snapshot_block: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
           8  +
    list_changed_blocks: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
           9  +
    list_snapshot_blocks: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          10  +
    put_snapshot_block: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
          11  +
    start_snapshot: Option<::aws_smithy_legacy_http_server::routing::Route<Body>>,
   12     12   
    layer: L,
   13     13   
    http_plugin: HttpPl,
   14     14   
    model_plugin: ModelPl,
   15     15   
}
   16     16   
   17     17   
impl<Body, L, HttpPl, ModelPl> EbsBuilder<Body, L, HttpPl, ModelPl> {
   18     18   
    /// Sets the [`CompleteSnapshot`](crate::operation_shape::CompleteSnapshot) operation.
   19     19   
    ///
   20         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
   21         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
          20  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
          21  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
   22     22   
    ///
   23     23   
    /// # Example
   24     24   
    ///
   25     25   
    /// ```no_run
   26     26   
    /// use ebs::{Ebs, EbsConfig};
   27     27   
    ///
   28     28   
    /// use ebs::{input, output, error};
   29     29   
    ///
   30     30   
    /// async fn handler(input: input::CompleteSnapshotInput) -> Result<output::CompleteSnapshotOutput, error::CompleteSnapshotError> {
   31     31   
    ///     todo!()
   32     32   
    /// }
   33     33   
    ///
   34     34   
    /// let config = EbsConfig::builder().build();
   35     35   
    /// let app = Ebs::builder(config)
   36     36   
    ///     .complete_snapshot(handler)
   37     37   
    ///     /* Set other handlers */
   38     38   
    ///     .build()
   39     39   
    ///     .unwrap();
   40         -
    /// # let app: Ebs<::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;
          40  +
    /// # let app: Ebs<::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;
   41     41   
    /// ```
   42     42   
    ///
   43     43   
                    pub fn complete_snapshot<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
   44     44   
                    where
   45         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::CompleteSnapshot, HandlerExtractors>,
          45  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::CompleteSnapshot, HandlerExtractors>,
   46     46   
   47         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
          47  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
   48     48   
                            Ebs<L>,
   49     49   
                            crate::operation_shape::CompleteSnapshot,
   50         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::CompleteSnapshot, HandlerType>
          50  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::CompleteSnapshot, HandlerType>
   51     51   
                        >,
   52         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
          52  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
   53     53   
                            Ebs<L>,
   54     54   
                            crate::operation_shape::CompleteSnapshot,
   55     55   
                            ModelPl::Output
   56     56   
                        >,
   57         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
          57  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
   58     58   
                            Ebs<L>,
   59     59   
                            crate::operation_shape::CompleteSnapshot,
   60     60   
                            <
   61         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
   62         -
                                as ::aws_smithy_http_server::plugin::Plugin<
          61  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
          62  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
   63     63   
                                    Ebs<L>,
   64     64   
                                    crate::operation_shape::CompleteSnapshot,
   65     65   
                                    ModelPl::Output
   66     66   
                                >
   67     67   
                            >::Output
   68     68   
                        >,
   69     69   
   70         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
          70  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
   71     71   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
   72     72   
   73     73   
                    {
   74         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
   75         -
        use ::aws_smithy_http_server::plugin::Plugin;
          74  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
          75  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
   76     76   
        let svc = crate::operation_shape::CompleteSnapshot::from_handler(handler);
   77     77   
        let svc = self.model_plugin.apply(svc);
   78         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
   79         -
            .apply(svc);
          78  +
        let svc =
          79  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
          80  +
                .apply(svc);
   80     81   
        let svc = self.http_plugin.apply(svc);
   81     82   
        self.complete_snapshot_custom(svc)
   82     83   
    }
   83     84   
   84     85   
    /// Sets the [`CompleteSnapshot`](crate::operation_shape::CompleteSnapshot) operation.
   85     86   
    ///
   86         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
   87         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
          87  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
          88  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
   88     89   
    ///
   89     90   
    /// # Example
   90     91   
    ///
   91     92   
    /// ```no_run
   92     93   
    /// use ebs::{Ebs, EbsConfig};
   93     94   
    ///
   94     95   
    /// use ebs::{input, output, error};
   95     96   
    ///
   96     97   
    /// async fn handler(input: input::CompleteSnapshotInput) -> Result<output::CompleteSnapshotOutput, error::CompleteSnapshotError> {
   97     98   
    ///     todo!()
   98     99   
    /// }
   99    100   
    ///
  100    101   
    /// let config = EbsConfig::builder().build();
  101    102   
    /// let svc = ::tower::util::service_fn(handler);
  102    103   
    /// let app = Ebs::builder(config)
  103    104   
    ///     .complete_snapshot_service(svc)
  104    105   
    ///     /* Set other handlers */
  105    106   
    ///     .build()
  106    107   
    ///     .unwrap();
  107         -
    /// # let app: Ebs<::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;
         108  +
    /// # let app: Ebs<::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;
  108    109   
    /// ```
  109    110   
    ///
  110    111   
                    pub fn complete_snapshot_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  111    112   
                    where
  112         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::CompleteSnapshot, ServiceExtractors>,
         113  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::CompleteSnapshot, ServiceExtractors>,
  113    114   
  114         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         115  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  115    116   
                            Ebs<L>,
  116    117   
                            crate::operation_shape::CompleteSnapshot,
  117         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::CompleteSnapshot, S>
         118  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::CompleteSnapshot, S>
  118    119   
                        >,
  119         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         120  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  120    121   
                            Ebs<L>,
  121    122   
                            crate::operation_shape::CompleteSnapshot,
  122    123   
                            ModelPl::Output
  123    124   
                        >,
  124         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         125  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  125    126   
                            Ebs<L>,
  126    127   
                            crate::operation_shape::CompleteSnapshot,
  127    128   
                            <
  128         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  129         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         129  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         130  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  130    131   
                                    Ebs<L>,
  131    132   
                                    crate::operation_shape::CompleteSnapshot,
  132    133   
                                    ModelPl::Output
  133    134   
                                >
  134    135   
                            >::Output
  135    136   
                        >,
  136    137   
  137         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         138  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  138    139   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  139    140   
  140    141   
                    {
  141         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  142         -
        use ::aws_smithy_http_server::plugin::Plugin;
         142  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         143  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  143    144   
        let svc = crate::operation_shape::CompleteSnapshot::from_service(service);
  144    145   
        let svc = self.model_plugin.apply(svc);
  145         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  146         -
            .apply(svc);
         146  +
        let svc =
         147  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         148  +
                .apply(svc);
  147    149   
        let svc = self.http_plugin.apply(svc);
  148    150   
        self.complete_snapshot_custom(svc)
  149    151   
    }
  150    152   
  151    153   
    /// Sets the [`CompleteSnapshot`](crate::operation_shape::CompleteSnapshot) to a custom [`Service`](tower::Service).
  152    154   
    /// not constrained by the Smithy contract.
  153    155   
    fn complete_snapshot_custom<S>(mut self, svc: S) -> Self
  154    156   
    where
  155    157   
        S: ::tower::Service<
  156    158   
                ::http::Request<Body>,
  157         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         159  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  158    160   
                Error = ::std::convert::Infallible,
  159    161   
            > + Clone
  160    162   
            + Send
  161    163   
            + 'static,
  162    164   
        S::Future: Send + 'static,
  163    165   
    {
  164         -
        self.complete_snapshot = Some(::aws_smithy_http_server::routing::Route::new(svc));
         166  +
        self.complete_snapshot = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  165    167   
        self
  166    168   
    }
  167    169   
  168    170   
    /// Sets the [`GetSnapshotBlock`](crate::operation_shape::GetSnapshotBlock) operation.
  169    171   
    ///
  170         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  171         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         172  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         173  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  172    174   
    ///
  173    175   
    /// # Example
  174    176   
    ///
  175    177   
    /// ```no_run
  176    178   
    /// use ebs::{Ebs, EbsConfig};
  177    179   
    ///
  178    180   
    /// use ebs::{input, output, error};
  179    181   
    ///
  180    182   
    /// async fn handler(input: input::GetSnapshotBlockInput) -> Result<output::GetSnapshotBlockOutput, error::GetSnapshotBlockError> {
  181    183   
    ///     todo!()
  182    184   
    /// }
  183    185   
    ///
  184    186   
    /// let config = EbsConfig::builder().build();
  185    187   
    /// let app = Ebs::builder(config)
  186    188   
    ///     .get_snapshot_block(handler)
  187    189   
    ///     /* Set other handlers */
  188    190   
    ///     .build()
  189    191   
    ///     .unwrap();
  190         -
    /// # let app: Ebs<::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;
         192  +
    /// # let app: Ebs<::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;
  191    193   
    /// ```
  192    194   
    ///
  193    195   
                    pub fn get_snapshot_block<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  194    196   
                    where
  195         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::GetSnapshotBlock, HandlerExtractors>,
         197  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::GetSnapshotBlock, HandlerExtractors>,
  196    198   
  197         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         199  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  198    200   
                            Ebs<L>,
  199    201   
                            crate::operation_shape::GetSnapshotBlock,
  200         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::GetSnapshotBlock, HandlerType>
         202  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::GetSnapshotBlock, HandlerType>
  201    203   
                        >,
  202         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         204  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  203    205   
                            Ebs<L>,
  204    206   
                            crate::operation_shape::GetSnapshotBlock,
  205    207   
                            ModelPl::Output
  206    208   
                        >,
  207         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         209  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  208    210   
                            Ebs<L>,
  209    211   
                            crate::operation_shape::GetSnapshotBlock,
  210    212   
                            <
  211         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  212         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         213  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         214  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  213    215   
                                    Ebs<L>,
  214    216   
                                    crate::operation_shape::GetSnapshotBlock,
  215    217   
                                    ModelPl::Output
  216    218   
                                >
  217    219   
                            >::Output
  218    220   
                        >,
  219    221   
  220         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         222  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  221    223   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  222    224   
  223    225   
                    {
  224         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  225         -
        use ::aws_smithy_http_server::plugin::Plugin;
         226  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         227  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  226    228   
        let svc = crate::operation_shape::GetSnapshotBlock::from_handler(handler);
  227    229   
        let svc = self.model_plugin.apply(svc);
  228         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  229         -
            .apply(svc);
         230  +
        let svc =
         231  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         232  +
                .apply(svc);
  230    233   
        let svc = self.http_plugin.apply(svc);
  231    234   
        self.get_snapshot_block_custom(svc)
  232    235   
    }
  233    236   
  234    237   
    /// Sets the [`GetSnapshotBlock`](crate::operation_shape::GetSnapshotBlock) operation.
  235    238   
    ///
  236         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  237         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         239  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         240  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  238    241   
    ///
  239    242   
    /// # Example
  240    243   
    ///
  241    244   
    /// ```no_run
  242    245   
    /// use ebs::{Ebs, EbsConfig};
  243    246   
    ///
  244    247   
    /// use ebs::{input, output, error};
  245    248   
    ///
  246    249   
    /// async fn handler(input: input::GetSnapshotBlockInput) -> Result<output::GetSnapshotBlockOutput, error::GetSnapshotBlockError> {
  247    250   
    ///     todo!()
  248    251   
    /// }
  249    252   
    ///
  250    253   
    /// let config = EbsConfig::builder().build();
  251    254   
    /// let svc = ::tower::util::service_fn(handler);
  252    255   
    /// let app = Ebs::builder(config)
  253    256   
    ///     .get_snapshot_block_service(svc)
  254    257   
    ///     /* Set other handlers */
  255    258   
    ///     .build()
  256    259   
    ///     .unwrap();
  257         -
    /// # let app: Ebs<::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;
         260  +
    /// # let app: Ebs<::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;
  258    261   
    /// ```
  259    262   
    ///
  260    263   
                    pub fn get_snapshot_block_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  261    264   
                    where
  262         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::GetSnapshotBlock, ServiceExtractors>,
         265  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::GetSnapshotBlock, ServiceExtractors>,
  263    266   
  264         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         267  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  265    268   
                            Ebs<L>,
  266    269   
                            crate::operation_shape::GetSnapshotBlock,
  267         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::GetSnapshotBlock, S>
         270  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::GetSnapshotBlock, S>
  268    271   
                        >,
  269         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         272  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  270    273   
                            Ebs<L>,
  271    274   
                            crate::operation_shape::GetSnapshotBlock,
  272    275   
                            ModelPl::Output
  273    276   
                        >,
  274         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         277  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  275    278   
                            Ebs<L>,
  276    279   
                            crate::operation_shape::GetSnapshotBlock,
  277    280   
                            <
  278         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  279         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         281  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         282  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  280    283   
                                    Ebs<L>,
  281    284   
                                    crate::operation_shape::GetSnapshotBlock,
  282    285   
                                    ModelPl::Output
  283    286   
                                >
  284    287   
                            >::Output
  285    288   
                        >,
  286    289   
  287         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         290  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  288    291   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  289    292   
  290    293   
                    {
  291         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  292         -
        use ::aws_smithy_http_server::plugin::Plugin;
         294  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         295  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  293    296   
        let svc = crate::operation_shape::GetSnapshotBlock::from_service(service);
  294    297   
        let svc = self.model_plugin.apply(svc);
  295         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  296         -
            .apply(svc);
         298  +
        let svc =
         299  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         300  +
                .apply(svc);
  297    301   
        let svc = self.http_plugin.apply(svc);
  298    302   
        self.get_snapshot_block_custom(svc)
  299    303   
    }
  300    304   
  301    305   
    /// Sets the [`GetSnapshotBlock`](crate::operation_shape::GetSnapshotBlock) to a custom [`Service`](tower::Service).
  302    306   
    /// not constrained by the Smithy contract.
  303    307   
    fn get_snapshot_block_custom<S>(mut self, svc: S) -> Self
  304    308   
    where
  305    309   
        S: ::tower::Service<
  306    310   
                ::http::Request<Body>,
  307         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         311  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  308    312   
                Error = ::std::convert::Infallible,
  309    313   
            > + Clone
  310    314   
            + Send
  311    315   
            + 'static,
  312    316   
        S::Future: Send + 'static,
  313    317   
    {
  314         -
        self.get_snapshot_block = Some(::aws_smithy_http_server::routing::Route::new(svc));
         318  +
        self.get_snapshot_block = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  315    319   
        self
  316    320   
    }
  317    321   
  318    322   
    /// Sets the [`ListChangedBlocks`](crate::operation_shape::ListChangedBlocks) operation.
  319    323   
    ///
  320         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  321         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         324  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         325  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  322    326   
    ///
  323    327   
    /// # Example
  324    328   
    ///
  325    329   
    /// ```no_run
  326    330   
    /// use ebs::{Ebs, EbsConfig};
  327    331   
    ///
  328    332   
    /// use ebs::{input, output, error};
  329    333   
    ///
  330    334   
    /// async fn handler(input: input::ListChangedBlocksInput) -> Result<output::ListChangedBlocksOutput, error::ListChangedBlocksError> {
  331    335   
    ///     todo!()
  332    336   
    /// }
  333    337   
    ///
  334    338   
    /// let config = EbsConfig::builder().build();
  335    339   
    /// let app = Ebs::builder(config)
  336    340   
    ///     .list_changed_blocks(handler)
  337    341   
    ///     /* Set other handlers */
  338    342   
    ///     .build()
  339    343   
    ///     .unwrap();
  340         -
    /// # let app: Ebs<::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;
         344  +
    /// # let app: Ebs<::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;
  341    345   
    /// ```
  342    346   
    ///
  343    347   
                    pub fn list_changed_blocks<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  344    348   
                    where
  345         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ListChangedBlocks, HandlerExtractors>,
         349  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ListChangedBlocks, HandlerExtractors>,
  346    350   
  347         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         351  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  348    352   
                            Ebs<L>,
  349    353   
                            crate::operation_shape::ListChangedBlocks,
  350         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ListChangedBlocks, HandlerType>
         354  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ListChangedBlocks, HandlerType>
  351    355   
                        >,
  352         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         356  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  353    357   
                            Ebs<L>,
  354    358   
                            crate::operation_shape::ListChangedBlocks,
  355    359   
                            ModelPl::Output
  356    360   
                        >,
  357         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         361  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  358    362   
                            Ebs<L>,
  359    363   
                            crate::operation_shape::ListChangedBlocks,
  360    364   
                            <
  361         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  362         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         365  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         366  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  363    367   
                                    Ebs<L>,
  364    368   
                                    crate::operation_shape::ListChangedBlocks,
  365    369   
                                    ModelPl::Output
  366    370   
                                >
  367    371   
                            >::Output
  368    372   
                        >,
  369    373   
  370         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         374  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  371    375   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  372    376   
  373    377   
                    {
  374         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  375         -
        use ::aws_smithy_http_server::plugin::Plugin;
         378  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         379  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  376    380   
        let svc = crate::operation_shape::ListChangedBlocks::from_handler(handler);
  377    381   
        let svc = self.model_plugin.apply(svc);
  378         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  379         -
            .apply(svc);
         382  +
        let svc =
         383  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         384  +
                .apply(svc);
  380    385   
        let svc = self.http_plugin.apply(svc);
  381    386   
        self.list_changed_blocks_custom(svc)
  382    387   
    }
  383    388   
  384    389   
    /// Sets the [`ListChangedBlocks`](crate::operation_shape::ListChangedBlocks) operation.
  385    390   
    ///
  386         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  387         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         391  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         392  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  388    393   
    ///
  389    394   
    /// # Example
  390    395   
    ///
  391    396   
    /// ```no_run
  392    397   
    /// use ebs::{Ebs, EbsConfig};
  393    398   
    ///
  394    399   
    /// use ebs::{input, output, error};
  395    400   
    ///
  396    401   
    /// async fn handler(input: input::ListChangedBlocksInput) -> Result<output::ListChangedBlocksOutput, error::ListChangedBlocksError> {
  397    402   
    ///     todo!()
  398    403   
    /// }
  399    404   
    ///
  400    405   
    /// let config = EbsConfig::builder().build();
  401    406   
    /// let svc = ::tower::util::service_fn(handler);
  402    407   
    /// let app = Ebs::builder(config)
  403    408   
    ///     .list_changed_blocks_service(svc)
  404    409   
    ///     /* Set other handlers */
  405    410   
    ///     .build()
  406    411   
    ///     .unwrap();
  407         -
    /// # let app: Ebs<::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;
         412  +
    /// # let app: Ebs<::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;
  408    413   
    /// ```
  409    414   
    ///
  410    415   
                    pub fn list_changed_blocks_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  411    416   
                    where
  412         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ListChangedBlocks, ServiceExtractors>,
         417  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ListChangedBlocks, ServiceExtractors>,
  413    418   
  414         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         419  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  415    420   
                            Ebs<L>,
  416    421   
                            crate::operation_shape::ListChangedBlocks,
  417         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ListChangedBlocks, S>
         422  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ListChangedBlocks, S>
  418    423   
                        >,
  419         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         424  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  420    425   
                            Ebs<L>,
  421    426   
                            crate::operation_shape::ListChangedBlocks,
  422    427   
                            ModelPl::Output
  423    428   
                        >,
  424         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         429  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  425    430   
                            Ebs<L>,
  426    431   
                            crate::operation_shape::ListChangedBlocks,
  427    432   
                            <
  428         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  429         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         433  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         434  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  430    435   
                                    Ebs<L>,
  431    436   
                                    crate::operation_shape::ListChangedBlocks,
  432    437   
                                    ModelPl::Output
  433    438   
                                >
  434    439   
                            >::Output
  435    440   
                        >,
  436    441   
  437         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         442  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  438    443   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  439    444   
  440    445   
                    {
  441         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  442         -
        use ::aws_smithy_http_server::plugin::Plugin;
         446  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         447  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  443    448   
        let svc = crate::operation_shape::ListChangedBlocks::from_service(service);
  444    449   
        let svc = self.model_plugin.apply(svc);
  445         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  446         -
            .apply(svc);
         450  +
        let svc =
         451  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         452  +
                .apply(svc);
  447    453   
        let svc = self.http_plugin.apply(svc);
  448    454   
        self.list_changed_blocks_custom(svc)
  449    455   
    }
  450    456   
  451    457   
    /// Sets the [`ListChangedBlocks`](crate::operation_shape::ListChangedBlocks) to a custom [`Service`](tower::Service).
  452    458   
    /// not constrained by the Smithy contract.
  453    459   
    fn list_changed_blocks_custom<S>(mut self, svc: S) -> Self
  454    460   
    where
  455    461   
        S: ::tower::Service<
  456    462   
                ::http::Request<Body>,
  457         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         463  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  458    464   
                Error = ::std::convert::Infallible,
  459    465   
            > + Clone
  460    466   
            + Send
  461    467   
            + 'static,
  462    468   
        S::Future: Send + 'static,
  463    469   
    {
  464         -
        self.list_changed_blocks = Some(::aws_smithy_http_server::routing::Route::new(svc));
         470  +
        self.list_changed_blocks = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  465    471   
        self
  466    472   
    }
  467    473   
  468    474   
    /// Sets the [`ListSnapshotBlocks`](crate::operation_shape::ListSnapshotBlocks) operation.
  469    475   
    ///
  470         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  471         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         476  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         477  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  472    478   
    ///
  473    479   
    /// # Example
  474    480   
    ///
  475    481   
    /// ```no_run
  476    482   
    /// use ebs::{Ebs, EbsConfig};
  477    483   
    ///
  478    484   
    /// use ebs::{input, output, error};
  479    485   
    ///
  480    486   
    /// async fn handler(input: input::ListSnapshotBlocksInput) -> Result<output::ListSnapshotBlocksOutput, error::ListSnapshotBlocksError> {
  481    487   
    ///     todo!()
  482    488   
    /// }
  483    489   
    ///
  484    490   
    /// let config = EbsConfig::builder().build();
  485    491   
    /// let app = Ebs::builder(config)
  486    492   
    ///     .list_snapshot_blocks(handler)
  487    493   
    ///     /* Set other handlers */
  488    494   
    ///     .build()
  489    495   
    ///     .unwrap();
  490         -
    /// # let app: Ebs<::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;
         496  +
    /// # let app: Ebs<::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;
  491    497   
    /// ```
  492    498   
    ///
  493    499   
                    pub fn list_snapshot_blocks<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  494    500   
                    where
  495         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::ListSnapshotBlocks, HandlerExtractors>,
         501  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::ListSnapshotBlocks, HandlerExtractors>,
  496    502   
  497         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         503  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  498    504   
                            Ebs<L>,
  499    505   
                            crate::operation_shape::ListSnapshotBlocks,
  500         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::ListSnapshotBlocks, HandlerType>
         506  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::ListSnapshotBlocks, HandlerType>
  501    507   
                        >,
  502         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         508  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  503    509   
                            Ebs<L>,
  504    510   
                            crate::operation_shape::ListSnapshotBlocks,
  505    511   
                            ModelPl::Output
  506    512   
                        >,
  507         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         513  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  508    514   
                            Ebs<L>,
  509    515   
                            crate::operation_shape::ListSnapshotBlocks,
  510    516   
                            <
  511         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  512         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         517  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         518  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  513    519   
                                    Ebs<L>,
  514    520   
                                    crate::operation_shape::ListSnapshotBlocks,
  515    521   
                                    ModelPl::Output
  516    522   
                                >
  517    523   
                            >::Output
  518    524   
                        >,
  519    525   
  520         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         526  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  521    527   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  522    528   
  523    529   
                    {
  524         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  525         -
        use ::aws_smithy_http_server::plugin::Plugin;
         530  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         531  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  526    532   
        let svc = crate::operation_shape::ListSnapshotBlocks::from_handler(handler);
  527    533   
        let svc = self.model_plugin.apply(svc);
  528         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  529         -
            .apply(svc);
         534  +
        let svc =
         535  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         536  +
                .apply(svc);
  530    537   
        let svc = self.http_plugin.apply(svc);
  531    538   
        self.list_snapshot_blocks_custom(svc)
  532    539   
    }
  533    540   
  534    541   
    /// Sets the [`ListSnapshotBlocks`](crate::operation_shape::ListSnapshotBlocks) operation.
  535    542   
    ///
  536         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  537         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         543  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         544  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  538    545   
    ///
  539    546   
    /// # Example
  540    547   
    ///
  541    548   
    /// ```no_run
  542    549   
    /// use ebs::{Ebs, EbsConfig};
  543    550   
    ///
  544    551   
    /// use ebs::{input, output, error};
  545    552   
    ///
  546    553   
    /// async fn handler(input: input::ListSnapshotBlocksInput) -> Result<output::ListSnapshotBlocksOutput, error::ListSnapshotBlocksError> {
  547    554   
    ///     todo!()
  548    555   
    /// }
  549    556   
    ///
  550    557   
    /// let config = EbsConfig::builder().build();
  551    558   
    /// let svc = ::tower::util::service_fn(handler);
  552    559   
    /// let app = Ebs::builder(config)
  553    560   
    ///     .list_snapshot_blocks_service(svc)
  554    561   
    ///     /* Set other handlers */
  555    562   
    ///     .build()
  556    563   
    ///     .unwrap();
  557         -
    /// # let app: Ebs<::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;
         564  +
    /// # let app: Ebs<::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;
  558    565   
    /// ```
  559    566   
    ///
  560    567   
                    pub fn list_snapshot_blocks_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  561    568   
                    where
  562         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::ListSnapshotBlocks, ServiceExtractors>,
         569  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::ListSnapshotBlocks, ServiceExtractors>,
  563    570   
  564         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         571  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  565    572   
                            Ebs<L>,
  566    573   
                            crate::operation_shape::ListSnapshotBlocks,
  567         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::ListSnapshotBlocks, S>
         574  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::ListSnapshotBlocks, S>
  568    575   
                        >,
  569         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         576  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  570    577   
                            Ebs<L>,
  571    578   
                            crate::operation_shape::ListSnapshotBlocks,
  572    579   
                            ModelPl::Output
  573    580   
                        >,
  574         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         581  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  575    582   
                            Ebs<L>,
  576    583   
                            crate::operation_shape::ListSnapshotBlocks,
  577    584   
                            <
  578         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  579         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         585  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         586  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  580    587   
                                    Ebs<L>,
  581    588   
                                    crate::operation_shape::ListSnapshotBlocks,
  582    589   
                                    ModelPl::Output
  583    590   
                                >
  584    591   
                            >::Output
  585    592   
                        >,
  586    593   
  587         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         594  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  588    595   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  589    596   
  590    597   
                    {
  591         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  592         -
        use ::aws_smithy_http_server::plugin::Plugin;
         598  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         599  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  593    600   
        let svc = crate::operation_shape::ListSnapshotBlocks::from_service(service);
  594    601   
        let svc = self.model_plugin.apply(svc);
  595         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  596         -
            .apply(svc);
         602  +
        let svc =
         603  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         604  +
                .apply(svc);
  597    605   
        let svc = self.http_plugin.apply(svc);
  598    606   
        self.list_snapshot_blocks_custom(svc)
  599    607   
    }
  600    608   
  601    609   
    /// Sets the [`ListSnapshotBlocks`](crate::operation_shape::ListSnapshotBlocks) to a custom [`Service`](tower::Service).
  602    610   
    /// not constrained by the Smithy contract.
  603    611   
    fn list_snapshot_blocks_custom<S>(mut self, svc: S) -> Self
  604    612   
    where
  605    613   
        S: ::tower::Service<
  606    614   
                ::http::Request<Body>,
  607         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         615  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  608    616   
                Error = ::std::convert::Infallible,
  609    617   
            > + Clone
  610    618   
            + Send
  611    619   
            + 'static,
  612    620   
        S::Future: Send + 'static,
  613    621   
    {
  614         -
        self.list_snapshot_blocks = Some(::aws_smithy_http_server::routing::Route::new(svc));
         622  +
        self.list_snapshot_blocks = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  615    623   
        self
  616    624   
    }
  617    625   
  618    626   
    /// Sets the [`PutSnapshotBlock`](crate::operation_shape::PutSnapshotBlock) operation.
  619    627   
    ///
  620         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  621         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         628  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         629  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  622    630   
    ///
  623    631   
    /// # Example
  624    632   
    ///
  625    633   
    /// ```no_run
  626    634   
    /// use ebs::{Ebs, EbsConfig};
  627    635   
    ///
  628    636   
    /// use ebs::{input, output, error};
  629    637   
    ///
  630    638   
    /// async fn handler(input: input::PutSnapshotBlockInput) -> Result<output::PutSnapshotBlockOutput, error::PutSnapshotBlockError> {
  631    639   
    ///     todo!()
  632    640   
    /// }
  633    641   
    ///
  634    642   
    /// let config = EbsConfig::builder().build();
  635    643   
    /// let app = Ebs::builder(config)
  636    644   
    ///     .put_snapshot_block(handler)
  637    645   
    ///     /* Set other handlers */
  638    646   
    ///     .build()
  639    647   
    ///     .unwrap();
  640         -
    /// # let app: Ebs<::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;
         648  +
    /// # let app: Ebs<::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;
  641    649   
    /// ```
  642    650   
    ///
  643    651   
                    pub fn put_snapshot_block<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  644    652   
                    where
  645         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::PutSnapshotBlock, HandlerExtractors>,
         653  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::PutSnapshotBlock, HandlerExtractors>,
  646    654   
  647         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         655  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  648    656   
                            Ebs<L>,
  649    657   
                            crate::operation_shape::PutSnapshotBlock,
  650         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::PutSnapshotBlock, HandlerType>
         658  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::PutSnapshotBlock, HandlerType>
  651    659   
                        >,
  652         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         660  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  653    661   
                            Ebs<L>,
  654    662   
                            crate::operation_shape::PutSnapshotBlock,
  655    663   
                            ModelPl::Output
  656    664   
                        >,
  657         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         665  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  658    666   
                            Ebs<L>,
  659    667   
                            crate::operation_shape::PutSnapshotBlock,
  660    668   
                            <
  661         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  662         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         669  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         670  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  663    671   
                                    Ebs<L>,
  664    672   
                                    crate::operation_shape::PutSnapshotBlock,
  665    673   
                                    ModelPl::Output
  666    674   
                                >
  667    675   
                            >::Output
  668    676   
                        >,
  669    677   
  670         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         678  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  671    679   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  672    680   
  673    681   
                    {
  674         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  675         -
        use ::aws_smithy_http_server::plugin::Plugin;
         682  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         683  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  676    684   
        let svc = crate::operation_shape::PutSnapshotBlock::from_handler(handler);
  677    685   
        let svc = self.model_plugin.apply(svc);
  678         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  679         -
            .apply(svc);
         686  +
        let svc =
         687  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         688  +
                .apply(svc);
  680    689   
        let svc = self.http_plugin.apply(svc);
  681    690   
        self.put_snapshot_block_custom(svc)
  682    691   
    }
  683    692   
  684    693   
    /// Sets the [`PutSnapshotBlock`](crate::operation_shape::PutSnapshotBlock) operation.
  685    694   
    ///
  686         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  687         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         695  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         696  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  688    697   
    ///
  689    698   
    /// # Example
  690    699   
    ///
  691    700   
    /// ```no_run
  692    701   
    /// use ebs::{Ebs, EbsConfig};
  693    702   
    ///
  694    703   
    /// use ebs::{input, output, error};
  695    704   
    ///
  696    705   
    /// async fn handler(input: input::PutSnapshotBlockInput) -> Result<output::PutSnapshotBlockOutput, error::PutSnapshotBlockError> {
  697    706   
    ///     todo!()
  698    707   
    /// }
  699    708   
    ///
  700    709   
    /// let config = EbsConfig::builder().build();
  701    710   
    /// let svc = ::tower::util::service_fn(handler);
  702    711   
    /// let app = Ebs::builder(config)
  703    712   
    ///     .put_snapshot_block_service(svc)
  704    713   
    ///     /* Set other handlers */
  705    714   
    ///     .build()
  706    715   
    ///     .unwrap();
  707         -
    /// # let app: Ebs<::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;
         716  +
    /// # let app: Ebs<::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;
  708    717   
    /// ```
  709    718   
    ///
  710    719   
                    pub fn put_snapshot_block_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  711    720   
                    where
  712         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::PutSnapshotBlock, ServiceExtractors>,
         721  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::PutSnapshotBlock, ServiceExtractors>,
  713    722   
  714         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         723  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  715    724   
                            Ebs<L>,
  716    725   
                            crate::operation_shape::PutSnapshotBlock,
  717         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::PutSnapshotBlock, S>
         726  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::PutSnapshotBlock, S>
  718    727   
                        >,
  719         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         728  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  720    729   
                            Ebs<L>,
  721    730   
                            crate::operation_shape::PutSnapshotBlock,
  722    731   
                            ModelPl::Output
  723    732   
                        >,
  724         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         733  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  725    734   
                            Ebs<L>,
  726    735   
                            crate::operation_shape::PutSnapshotBlock,
  727    736   
                            <
  728         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  729         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         737  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         738  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  730    739   
                                    Ebs<L>,
  731    740   
                                    crate::operation_shape::PutSnapshotBlock,
  732    741   
                                    ModelPl::Output
  733    742   
                                >
  734    743   
                            >::Output
  735    744   
                        >,
  736    745   
  737         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         746  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  738    747   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  739    748   
  740    749   
                    {
  741         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  742         -
        use ::aws_smithy_http_server::plugin::Plugin;
         750  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         751  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  743    752   
        let svc = crate::operation_shape::PutSnapshotBlock::from_service(service);
  744    753   
        let svc = self.model_plugin.apply(svc);
  745         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  746         -
            .apply(svc);
         754  +
        let svc =
         755  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         756  +
                .apply(svc);
  747    757   
        let svc = self.http_plugin.apply(svc);
  748    758   
        self.put_snapshot_block_custom(svc)
  749    759   
    }
  750    760   
  751    761   
    /// Sets the [`PutSnapshotBlock`](crate::operation_shape::PutSnapshotBlock) to a custom [`Service`](tower::Service).
  752    762   
    /// not constrained by the Smithy contract.
  753    763   
    fn put_snapshot_block_custom<S>(mut self, svc: S) -> Self
  754    764   
    where
  755    765   
        S: ::tower::Service<
  756    766   
                ::http::Request<Body>,
  757         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         767  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  758    768   
                Error = ::std::convert::Infallible,
  759    769   
            > + Clone
  760    770   
            + Send
  761    771   
            + 'static,
  762    772   
        S::Future: Send + 'static,
  763    773   
    {
  764         -
        self.put_snapshot_block = Some(::aws_smithy_http_server::routing::Route::new(svc));
         774  +
        self.put_snapshot_block = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  765    775   
        self
  766    776   
    }
  767    777   
  768    778   
    /// Sets the [`StartSnapshot`](crate::operation_shape::StartSnapshot) operation.
  769    779   
    ///
  770         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  771         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         780  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         781  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  772    782   
    ///
  773    783   
    /// # Example
  774    784   
    ///
  775    785   
    /// ```no_run
  776    786   
    /// use ebs::{Ebs, EbsConfig};
  777    787   
    ///
  778    788   
    /// use ebs::{input, output, error};
  779    789   
    ///
  780    790   
    /// async fn handler(input: input::StartSnapshotInput) -> Result<output::StartSnapshotOutput, error::StartSnapshotError> {
  781    791   
    ///     todo!()
  782    792   
    /// }
  783    793   
    ///
  784    794   
    /// let config = EbsConfig::builder().build();
  785    795   
    /// let app = Ebs::builder(config)
  786    796   
    ///     .start_snapshot(handler)
  787    797   
    ///     /* Set other handlers */
  788    798   
    ///     .build()
  789    799   
    ///     .unwrap();
  790         -
    /// # let app: Ebs<::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;
         800  +
    /// # let app: Ebs<::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;
  791    801   
    /// ```
  792    802   
    ///
  793    803   
                    pub fn start_snapshot<HandlerType, HandlerExtractors, UpgradeExtractors>(self, handler: HandlerType) -> Self
  794    804   
                    where
  795         -
                        HandlerType: ::aws_smithy_http_server::operation::Handler<crate::operation_shape::StartSnapshot, HandlerExtractors>,
         805  +
                        HandlerType: ::aws_smithy_legacy_http_server::operation::Handler<crate::operation_shape::StartSnapshot, HandlerExtractors>,
  796    806   
  797         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         807  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  798    808   
                            Ebs<L>,
  799    809   
                            crate::operation_shape::StartSnapshot,
  800         -
                            ::aws_smithy_http_server::operation::IntoService<crate::operation_shape::StartSnapshot, HandlerType>
         810  +
                            ::aws_smithy_legacy_http_server::operation::IntoService<crate::operation_shape::StartSnapshot, HandlerType>
  801    811   
                        >,
  802         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         812  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  803    813   
                            Ebs<L>,
  804    814   
                            crate::operation_shape::StartSnapshot,
  805    815   
                            ModelPl::Output
  806    816   
                        >,
  807         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         817  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  808    818   
                            Ebs<L>,
  809    819   
                            crate::operation_shape::StartSnapshot,
  810    820   
                            <
  811         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  812         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         821  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         822  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  813    823   
                                    Ebs<L>,
  814    824   
                                    crate::operation_shape::StartSnapshot,
  815    825   
                                    ModelPl::Output
  816    826   
                                >
  817    827   
                            >::Output
  818    828   
                        >,
  819    829   
  820         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         830  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  821    831   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  822    832   
  823    833   
                    {
  824         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  825         -
        use ::aws_smithy_http_server::plugin::Plugin;
         834  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         835  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  826    836   
        let svc = crate::operation_shape::StartSnapshot::from_handler(handler);
  827    837   
        let svc = self.model_plugin.apply(svc);
  828         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  829         -
            .apply(svc);
         838  +
        let svc =
         839  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         840  +
                .apply(svc);
  830    841   
        let svc = self.http_plugin.apply(svc);
  831    842   
        self.start_snapshot_custom(svc)
  832    843   
    }
  833    844   
  834    845   
    /// Sets the [`StartSnapshot`](crate::operation_shape::StartSnapshot) operation.
  835    846   
    ///
  836         -
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_http_server::operation::Handler) trait.
  837         -
    /// See the [operation module documentation](::aws_smithy_http_server::operation) for more information.
         847  +
    /// This should be an async function satisfying the [`Handler`](::aws_smithy_legacy_http_server::operation::Handler) trait.
         848  +
    /// See the [operation module documentation](::aws_smithy_legacy_http_server::operation) for more information.
  838    849   
    ///
  839    850   
    /// # Example
  840    851   
    ///
  841    852   
    /// ```no_run
  842    853   
    /// use ebs::{Ebs, EbsConfig};
  843    854   
    ///
  844    855   
    /// use ebs::{input, output, error};
  845    856   
    ///
  846    857   
    /// async fn handler(input: input::StartSnapshotInput) -> Result<output::StartSnapshotOutput, error::StartSnapshotError> {
  847    858   
    ///     todo!()
  848    859   
    /// }
  849    860   
    ///
  850    861   
    /// let config = EbsConfig::builder().build();
  851    862   
    /// let svc = ::tower::util::service_fn(handler);
  852    863   
    /// let app = Ebs::builder(config)
  853    864   
    ///     .start_snapshot_service(svc)
  854    865   
    ///     /* Set other handlers */
  855    866   
    ///     .build()
  856    867   
    ///     .unwrap();
  857         -
    /// # let app: Ebs<::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;
         868  +
    /// # let app: Ebs<::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;
  858    869   
    /// ```
  859    870   
    ///
  860    871   
                    pub fn start_snapshot_service<S, ServiceExtractors, UpgradeExtractors>(self, service: S) -> Self
  861    872   
                    where
  862         -
                        S: ::aws_smithy_http_server::operation::OperationService<crate::operation_shape::StartSnapshot, ServiceExtractors>,
         873  +
                        S: ::aws_smithy_legacy_http_server::operation::OperationService<crate::operation_shape::StartSnapshot, ServiceExtractors>,
  863    874   
  864         -
                        ModelPl: ::aws_smithy_http_server::plugin::Plugin<
         875  +
                        ModelPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  865    876   
                            Ebs<L>,
  866    877   
                            crate::operation_shape::StartSnapshot,
  867         -
                            ::aws_smithy_http_server::operation::Normalize<crate::operation_shape::StartSnapshot, S>
         878  +
                            ::aws_smithy_legacy_http_server::operation::Normalize<crate::operation_shape::StartSnapshot, S>
  868    879   
                        >,
  869         -
                        ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_http_server::plugin::Plugin<
         880  +
                        ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>: ::aws_smithy_legacy_http_server::plugin::Plugin<
  870    881   
                            Ebs<L>,
  871    882   
                            crate::operation_shape::StartSnapshot,
  872    883   
                            ModelPl::Output
  873    884   
                        >,
  874         -
                        HttpPl: ::aws_smithy_http_server::plugin::Plugin<
         885  +
                        HttpPl: ::aws_smithy_legacy_http_server::plugin::Plugin<
  875    886   
                            Ebs<L>,
  876    887   
                            crate::operation_shape::StartSnapshot,
  877    888   
                            <
  878         -
                                ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
  879         -
                                as ::aws_smithy_http_server::plugin::Plugin<
         889  +
                                ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>
         890  +
                                as ::aws_smithy_legacy_http_server::plugin::Plugin<
  880    891   
                                    Ebs<L>,
  881    892   
                                    crate::operation_shape::StartSnapshot,
  882    893   
                                    ModelPl::Output
  883    894   
                                >
  884    895   
                            >::Output
  885    896   
                        >,
  886    897   
  887         -
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
         898  +
                        HttpPl::Output: ::tower::Service<::http::Request<Body>, Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>, Error = ::std::convert::Infallible> + Clone + Send + 'static,
  888    899   
                        <HttpPl::Output as ::tower::Service<::http::Request<Body>>>::Future: Send + 'static,
  889    900   
  890    901   
                    {
  891         -
        use ::aws_smithy_http_server::operation::OperationShapeExt;
  892         -
        use ::aws_smithy_http_server::plugin::Plugin;
         902  +
        use ::aws_smithy_legacy_http_server::operation::OperationShapeExt;
         903  +
        use ::aws_smithy_legacy_http_server::plugin::Plugin;
  893    904   
        let svc = crate::operation_shape::StartSnapshot::from_service(service);
  894    905   
        let svc = self.model_plugin.apply(svc);
  895         -
        let svc = ::aws_smithy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
  896         -
            .apply(svc);
         906  +
        let svc =
         907  +
            ::aws_smithy_legacy_http_server::operation::UpgradePlugin::<UpgradeExtractors>::new()
         908  +
                .apply(svc);
  897    909   
        let svc = self.http_plugin.apply(svc);
  898    910   
        self.start_snapshot_custom(svc)
  899    911   
    }
  900    912   
  901    913   
    /// Sets the [`StartSnapshot`](crate::operation_shape::StartSnapshot) to a custom [`Service`](tower::Service).
  902    914   
    /// not constrained by the Smithy contract.
  903    915   
    fn start_snapshot_custom<S>(mut self, svc: S) -> Self
  904    916   
    where
  905    917   
        S: ::tower::Service<
  906    918   
                ::http::Request<Body>,
  907         -
                Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
         919  +
                Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
  908    920   
                Error = ::std::convert::Infallible,
  909    921   
            > + Clone
  910    922   
            + Send
  911    923   
            + 'static,
  912    924   
        S::Future: Send + 'static,
  913    925   
    {
  914         -
        self.start_snapshot = Some(::aws_smithy_http_server::routing::Route::new(svc));
         926  +
        self.start_snapshot = Some(::aws_smithy_legacy_http_server::routing::Route::new(svc));
  915    927   
        self
  916    928   
    }
  917    929   
}
  918    930   
  919    931   
impl<Body, L, HttpPl, ModelPl> EbsBuilder<Body, L, HttpPl, ModelPl> {
  920    932   
    /// Constructs a [`Ebs`] from the arguments provided to the builder.
  921    933   
    ///
  922    934   
    /// Forgetting to register a handler for one or more operations will result in an error.
  923    935   
    ///
  924    936   
    /// Check out [`EbsBuilder::build_unchecked`] if you'd prefer the service to return status code 500 when an
  925    937   
    /// unspecified route is requested.
  926    938   
    pub fn build(
  927    939   
        self,
  928    940   
    ) -> ::std::result::Result<
  929    941   
        Ebs<
  930         -
            ::aws_smithy_http_server::routing::RoutingService<
  931         -
                ::aws_smithy_http_server::protocol::rest::router::RestRouter<L::Service>,
  932         -
                ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
         942  +
            ::aws_smithy_legacy_http_server::routing::RoutingService<
         943  +
                ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<L::Service>,
         944  +
                ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
  933    945   
            >,
  934    946   
        >,
  935    947   
        MissingOperationsError,
  936    948   
    >
  937    949   
    where
  938         -
        L: ::tower::Layer<::aws_smithy_http_server::routing::Route<Body>>,
         950  +
        L: ::tower::Layer<::aws_smithy_legacy_http_server::routing::Route<Body>>,
  939    951   
    {
  940    952   
        let router = {
  941         -
            use ::aws_smithy_http_server::operation::OperationShape;
         953  +
            use ::aws_smithy_legacy_http_server::operation::OperationShape;
  942    954   
            let mut missing_operation_names = std::collections::HashMap::new();
  943    955   
            if self.complete_snapshot.is_none() {
  944    956   
                missing_operation_names.insert(
  945    957   
                    crate::operation_shape::CompleteSnapshot::ID,
  946    958   
                    ".complete_snapshot()",
  947    959   
                );
  948    960   
            }
  949    961   
            if self.get_snapshot_block.is_none() {
  950    962   
                missing_operation_names.insert(
  951    963   
                    crate::operation_shape::GetSnapshotBlock::ID,
  952    964   
                    ".get_snapshot_block()",
  953    965   
                );
  954    966   
            }
  955    967   
            if self.list_changed_blocks.is_none() {
  956    968   
                missing_operation_names.insert(
  957    969   
                    crate::operation_shape::ListChangedBlocks::ID,
  958    970   
                    ".list_changed_blocks()",
  959    971   
                );
  960    972   
            }
  961    973   
            if self.list_snapshot_blocks.is_none() {
  962    974   
                missing_operation_names.insert(
  963    975   
                    crate::operation_shape::ListSnapshotBlocks::ID,
  964    976   
                    ".list_snapshot_blocks()",
  965    977   
                );
  966    978   
            }
  967    979   
            if self.put_snapshot_block.is_none() {
  968    980   
                missing_operation_names.insert(
  969    981   
                    crate::operation_shape::PutSnapshotBlock::ID,
  970    982   
                    ".put_snapshot_block()",
  971    983   
                );
  972    984   
            }
  973    985   
            if self.start_snapshot.is_none() {
  974    986   
                missing_operation_names.insert(
  975    987   
                    crate::operation_shape::StartSnapshot::ID,
  976    988   
                    ".start_snapshot()",
  977    989   
                );
  978    990   
            }
  979    991   
            if !missing_operation_names.is_empty() {
  980    992   
                return Err(MissingOperationsError {
  981    993   
                    operation_names2setter_methods: missing_operation_names,
  982    994   
                });
  983    995   
            }
  984    996   
            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";
  985    997   
  986    998   
            crate::model::SnapshotId::compile_regex();
  987    999   
            crate::model::Description::compile_regex();
  988   1000   
            crate::model::OwnerId::compile_regex();
  989   1001   
            crate::model::KmsKeyArn::compile_regex();
  990   1002   
            crate::model::TagValue::compile_regex();
  991   1003   
            crate::model::TagKey::compile_regex();
  992   1004   
            crate::model::IdempotencyToken::compile_regex();
  993   1005   
            crate::model::Checksum::compile_regex();
  994   1006   
            crate::model::BlockToken::compile_regex();
  995   1007   
            crate::model::PageToken::compile_regex();
  996   1008   
  997         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter::from_iter([
        1009  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter::from_iter([
  998   1010   
                (
  999   1011   
                    request_specs::complete_snapshot(),
 1000   1012   
                    self.complete_snapshot.expect(unexpected_error_msg),
 1001   1013   
                ),
 1002   1014   
                (
 1003   1015   
                    request_specs::get_snapshot_block(),
 1004   1016   
                    self.get_snapshot_block.expect(unexpected_error_msg),
 1005   1017   
                ),
 1006   1018   
                (
 1007   1019   
                    request_specs::list_changed_blocks(),
 1008   1020   
                    self.list_changed_blocks.expect(unexpected_error_msg),
 1009   1021   
                ),
 1010   1022   
                (
 1011   1023   
                    request_specs::list_snapshot_blocks(),
 1012   1024   
                    self.list_snapshot_blocks.expect(unexpected_error_msg),
 1013   1025   
                ),
 1014   1026   
                (
 1015   1027   
                    request_specs::put_snapshot_block(),
 1016   1028   
                    self.put_snapshot_block.expect(unexpected_error_msg),
 1017   1029   
                ),
 1018   1030   
                (
 1019   1031   
                    request_specs::start_snapshot(),
 1020   1032   
                    self.start_snapshot.expect(unexpected_error_msg),
 1021   1033   
                ),
 1022   1034   
            ])
 1023   1035   
        };
 1024         -
        let svc = ::aws_smithy_http_server::routing::RoutingService::new(router);
        1036  +
        let svc = ::aws_smithy_legacy_http_server::routing::RoutingService::new(router);
 1025   1037   
        let svc = svc.map(|s| s.layer(self.layer));
 1026   1038   
        Ok(Ebs { svc })
 1027   1039   
    }
 1028   1040   
 1029   1041   
    /// Constructs a [`Ebs`] from the arguments provided to the builder.
 1030   1042   
    /// Operations without a handler default to returning 500 Internal Server Error to the caller.
 1031   1043   
    ///
 1032   1044   
    /// Check out [`EbsBuilder::build`] if you'd prefer the builder to fail if one or more operations do
 1033   1045   
    /// not have a registered handler.
 1034   1046   
    pub fn build_unchecked(self) -> Ebs<L::Service>
 1035   1047   
    where
 1036   1048   
        Body: Send + 'static,
 1037   1049   
        L: ::tower::Layer<
 1038         -
            ::aws_smithy_http_server::routing::RoutingService<
 1039         -
                ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 1040         -
                    ::aws_smithy_http_server::routing::Route<Body>,
        1050  +
            ::aws_smithy_legacy_http_server::routing::RoutingService<
        1051  +
                ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        1052  +
                    ::aws_smithy_legacy_http_server::routing::Route<Body>,
 1041   1053   
                >,
 1042         -
                ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        1054  +
                ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 1043   1055   
            >,
 1044   1056   
        >,
 1045   1057   
    {
 1046         -
        let router = ::aws_smithy_http_server::protocol::rest::router::RestRouter::from_iter([
 1047         -
            (
 1048         -
                request_specs::complete_snapshot(),
 1049         -
                self.complete_snapshot.unwrap_or_else(|| {
 1050         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1051         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1052         -
                    >::default();
 1053         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1054         -
                }),
 1055         -
            ),
 1056         -
            (
 1057         -
                request_specs::get_snapshot_block(),
 1058         -
                self.get_snapshot_block.unwrap_or_else(|| {
 1059         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1060         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1061         -
                    >::default();
 1062         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1063         -
                }),
 1064         -
            ),
 1065         -
            (
 1066         -
                request_specs::list_changed_blocks(),
 1067         -
                self.list_changed_blocks.unwrap_or_else(|| {
 1068         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1069         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1070         -
                    >::default();
 1071         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1072         -
                }),
 1073         -
            ),
 1074         -
            (
 1075         -
                request_specs::list_snapshot_blocks(),
 1076         -
                self.list_snapshot_blocks.unwrap_or_else(|| {
 1077         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1078         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1079         -
                    >::default();
 1080         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1081         -
                }),
 1082         -
            ),
 1083         -
            (
 1084         -
                request_specs::put_snapshot_block(),
 1085         -
                self.put_snapshot_block.unwrap_or_else(|| {
 1086         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1087         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1088         -
                    >::default();
 1089         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1090         -
                }),
 1091         -
            ),
 1092         -
            (
 1093         -
                request_specs::start_snapshot(),
 1094         -
                self.start_snapshot.unwrap_or_else(|| {
 1095         -
                    let svc = ::aws_smithy_http_server::operation::MissingFailure::<
 1096         -
                        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
 1097         -
                    >::default();
 1098         -
                    ::aws_smithy_http_server::routing::Route::new(svc)
 1099         -
                }),
 1100         -
            ),
 1101         -
        ]);
        1058  +
        let router =
        1059  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter::from_iter([
        1060  +
                (
        1061  +
                    request_specs::complete_snapshot(),
        1062  +
                    self.complete_snapshot.unwrap_or_else(|| {
        1063  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1064  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1065  +
                        >::default();
        1066  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1067  +
                    }),
        1068  +
                ),
        1069  +
                (
        1070  +
                    request_specs::get_snapshot_block(),
        1071  +
                    self.get_snapshot_block.unwrap_or_else(|| {
        1072  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1073  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1074  +
                        >::default();
        1075  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1076  +
                    }),
        1077  +
                ),
        1078  +
                (
        1079  +
                    request_specs::list_changed_blocks(),
        1080  +
                    self.list_changed_blocks.unwrap_or_else(|| {
        1081  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1082  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1083  +
                        >::default();
        1084  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1085  +
                    }),
        1086  +
                ),
        1087  +
                (
        1088  +
                    request_specs::list_snapshot_blocks(),
        1089  +
                    self.list_snapshot_blocks.unwrap_or_else(|| {
        1090  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1091  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1092  +
                        >::default();
        1093  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1094  +
                    }),
        1095  +
                ),
        1096  +
                (
        1097  +
                    request_specs::put_snapshot_block(),
        1098  +
                    self.put_snapshot_block.unwrap_or_else(|| {
        1099  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1100  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1101  +
                        >::default();
        1102  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1103  +
                    }),
        1104  +
                ),
        1105  +
                (
        1106  +
                    request_specs::start_snapshot(),
        1107  +
                    self.start_snapshot.unwrap_or_else(|| {
        1108  +
                        let svc = ::aws_smithy_legacy_http_server::operation::MissingFailure::<
        1109  +
                            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
        1110  +
                        >::default();
        1111  +
                        ::aws_smithy_legacy_http_server::routing::Route::new(svc)
        1112  +
                    }),
        1113  +
                ),
        1114  +
            ]);
 1102   1115   
        let svc = self
 1103   1116   
            .layer
 1104         -
            .layer(::aws_smithy_http_server::routing::RoutingService::new(
 1105         -
                router,
 1106         -
            ));
        1117  +
            .layer(::aws_smithy_legacy_http_server::routing::RoutingService::new(router));
 1107   1118   
        Ebs { svc }
 1108   1119   
    }
 1109   1120   
}
 1110   1121   
 1111   1122   
/// The error encountered when calling the [`EbsBuilder::build`] method if one or more operation handlers are not
 1112   1123   
/// specified.
 1113   1124   
#[derive(Debug)]
 1114   1125   
pub struct MissingOperationsError {
 1115   1126   
    operation_names2setter_methods:
 1116         -
        std::collections::HashMap<::aws_smithy_http_server::shape_id::ShapeId, &'static str>,
        1127  +
        std::collections::HashMap<::aws_smithy_legacy_http_server::shape_id::ShapeId, &'static str>,
 1117   1128   
}
 1118   1129   
 1119   1130   
impl std::fmt::Display for MissingOperationsError {
 1120   1131   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1121   1132   
        write!(
 1122   1133   
            f,
 1123   1134   
            "You must specify a handler for all operations attached to `Ebs`.\n\
 1124   1135   
                            We are missing handlers for the following operations:\n",
 1125   1136   
        )?;
 1126   1137   
        for operation_name in self.operation_names2setter_methods.keys() {
 1127   1138   
            writeln!(f, "- {}", operation_name.absolute())?;
 1128   1139   
        }
 1129   1140   
 1130   1141   
        writeln!(
 1131   1142   
            f,
 1132   1143   
            "\nUse the dedicated methods on `EbsBuilder` to register the missing handlers:"
 1133   1144   
        )?;
 1134   1145   
        for setter_name in self.operation_names2setter_methods.values() {
 1135   1146   
            writeln!(f, "- {}", setter_name)?;
 1136   1147   
        }
 1137   1148   
        Ok(())
 1138   1149   
    }
 1139   1150   
}
 1140   1151   
 1141   1152   
impl std::error::Error for MissingOperationsError {}
 1142   1153   
 1143   1154   
mod request_specs {
 1144         -
    pub(super) fn complete_snapshot() -> ::aws_smithy_http_server::routing::request_spec::RequestSpec
 1145         -
    {
 1146         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1155  +
    pub(super) fn complete_snapshot(
        1156  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1157  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1147   1158   
                    ::http::Method::POST,
 1148         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1149         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1150         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1151         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1152         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("completion")),
 1153         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
        1159  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1160  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1161  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1162  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1163  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("completion")),
        1164  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
 1154   1165   
]),
 1155         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1166  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1156   1167   
])
 1157   1168   
                        )
 1158   1169   
                    ),
 1159   1170   
                )
 1160   1171   
    }
 1161   1172   
    pub(super) fn get_snapshot_block(
 1162         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 1163         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1173  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1174  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1164   1175   
                    ::http::Method::GET,
 1165         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1166         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1167         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1168         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1169         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 1170         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
 1171         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
        1176  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1177  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1178  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1179  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1180  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        1181  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
        1182  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
 1172   1183   
]),
 1173         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1184  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1174   1185   
])
 1175   1186   
                        )
 1176   1187   
                    ),
 1177   1188   
                )
 1178   1189   
    }
 1179   1190   
    pub(super) fn list_changed_blocks(
 1180         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 1181         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1191  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1192  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1182   1193   
                    ::http::Method::GET,
 1183         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1184         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1185         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1186         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1187         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 1188         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("changedblocks")),
        1194  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1195  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1196  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1197  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1198  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        1199  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("changedblocks")),
 1189   1200   
]),
 1190         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1201  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1191   1202   
])
 1192   1203   
                        )
 1193   1204   
                    ),
 1194   1205   
                )
 1195   1206   
    }
 1196   1207   
    pub(super) fn list_snapshot_blocks(
 1197         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 1198         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1208  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1209  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1199   1210   
                    ::http::Method::GET,
 1200         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1201         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1202         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1203         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1204         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 1205         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
        1211  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1212  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1213  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1214  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1215  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        1216  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
 1206   1217   
]),
 1207         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1218  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1208   1219   
])
 1209   1220   
                        )
 1210   1221   
                    ),
 1211   1222   
                )
 1212   1223   
    }
 1213   1224   
    pub(super) fn put_snapshot_block(
 1214         -
    ) -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 1215         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1225  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1226  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1216   1227   
                    ::http::Method::PUT,
 1217         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1218         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1219         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1220         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1221         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
 1222         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
 1223         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Label,
        1228  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1229  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1230  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1231  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1232  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
        1233  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("blocks")),
        1234  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Label,
 1224   1235   
]),
 1225         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1236  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1226   1237   
])
 1227   1238   
                        )
 1228   1239   
                    ),
 1229   1240   
                )
 1230   1241   
    }
 1231         -
    pub(super) fn start_snapshot() -> ::aws_smithy_http_server::routing::request_spec::RequestSpec {
 1232         -
        ::aws_smithy_http_server::routing::request_spec::RequestSpec::new(
        1242  +
    pub(super) fn start_snapshot(
        1243  +
    ) -> ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec {
        1244  +
        ::aws_smithy_legacy_http_server::routing::request_spec::RequestSpec::new(
 1233   1245   
                    ::http::Method::POST,
 1234         -
                    ::aws_smithy_http_server::routing::request_spec::UriSpec::new(
 1235         -
                        ::aws_smithy_http_server::routing::request_spec::PathAndQuerySpec::new(
 1236         -
                            ::aws_smithy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
 1237         -
    ::aws_smithy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
        1246  +
                    ::aws_smithy_legacy_http_server::routing::request_spec::UriSpec::new(
        1247  +
                        ::aws_smithy_legacy_http_server::routing::request_spec::PathAndQuerySpec::new(
        1248  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::PathSpec::from_vector_unchecked(vec![
        1249  +
    ::aws_smithy_legacy_http_server::routing::request_spec::PathSegment::Literal(String::from("snapshots")),
 1238   1250   
]),
 1239         -
                            ::aws_smithy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
        1251  +
                            ::aws_smithy_legacy_http_server::routing::request_spec::QuerySpec::from_vector_unchecked(vec![
 1240   1252   
])
 1241   1253   
                        )
 1242   1254   
                    ),
 1243   1255   
                )
 1244   1256   
    }
 1245   1257   
}
 1246   1258   
 1247   1259   
/// <p>You can use the Amazon Elastic Block Store (Amazon EBS) direct APIs to create EBS snapshots, write data directly to your snapshots, read data on your snapshots, and identify the differences or changes between two snapshots. If you’re an independent software vendor (ISV) who offers backup services for Amazon EBS, the EBS direct APIs make it more efficient and cost-effective to track incremental changes on your EBS volumes through snapshots. This can be done without having to create new volumes from snapshots, and then use Amazon Elastic Compute Cloud (Amazon EC2) instances to compare the differences.</p>
 1248   1260   
/// <p>You can create incremental snapshots directly from data on-premises into EBS volumes and the cloud to use for quick disaster recovery. With the ability to write and read snapshots, you can write your on-premises data to an EBS snapshot during a disaster. Then after recovery, you can restore it back to AWS or on-premises from the snapshot. You no longer need to build and maintain complex mechanisms to copy data to and from Amazon EBS.</p>
 1249   1261   
/// <p>This API reference provides detailed information about the actions, data types, parameters, and errors of the EBS direct APIs. For more information about the elements that make up the EBS direct APIs, and examples of how to use them effectively, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html">Accessing the Contents of an EBS Snapshot</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>. For more information about the supported AWS Regions, endpoints, and service quotas for the EBS direct APIs, see <a href="https://docs.aws.amazon.com/general/latest/gr/ebs-service.html">Amazon Elastic Block Store Endpoints and Quotas</a> in the <i>AWS General Reference</i>.</p>
 1250   1262   
///
 1251   1263   
/// See the [root](crate) documentation for more information.
 1252   1264   
#[derive(Clone)]
 1253   1265   
pub struct Ebs<
 1254         -
    S = ::aws_smithy_http_server::routing::RoutingService<
 1255         -
        ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 1256         -
            ::aws_smithy_http_server::routing::Route<::aws_smithy_http_server::body::BoxBody>,
        1266  +
    S = ::aws_smithy_legacy_http_server::routing::RoutingService<
        1267  +
        ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        1268  +
            ::aws_smithy_legacy_http_server::routing::Route<
        1269  +
                ::aws_smithy_legacy_http_server::body::BoxBody,
        1270  +
            >,
 1257   1271   
        >,
 1258         -
        ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        1272  +
        ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 1259   1273   
    >,
 1260   1274   
> {
 1261   1275   
    // This is the router wrapped by layers.
 1262   1276   
    svc: S,
 1263   1277   
}
 1264   1278   
 1265   1279   
impl Ebs<()> {
 1266   1280   
    /// Constructs a builder for [`Ebs`].
 1267   1281   
    /// You must specify a configuration object holding any plugins and layers that should be applied
 1268   1282   
    /// to the operations in this service.
 1269   1283   
    pub fn builder<
 1270   1284   
        Body,
 1271   1285   
        L,
 1272         -
        HttpPl: ::aws_smithy_http_server::plugin::HttpMarker,
 1273         -
        ModelPl: ::aws_smithy_http_server::plugin::ModelMarker,
        1286  +
        HttpPl: ::aws_smithy_legacy_http_server::plugin::HttpMarker,
        1287  +
        ModelPl: ::aws_smithy_legacy_http_server::plugin::ModelMarker,
 1274   1288   
    >(
 1275   1289   
        config: EbsConfig<L, HttpPl, ModelPl>,
 1276   1290   
    ) -> EbsBuilder<Body, L, HttpPl, ModelPl> {
 1277   1291   
        EbsBuilder {
 1278   1292   
            complete_snapshot: None,
 1279   1293   
            get_snapshot_block: None,
 1280   1294   
            list_changed_blocks: None,
 1281   1295   
            list_snapshot_blocks: None,
 1282   1296   
            put_snapshot_block: None,
 1283   1297   
            start_snapshot: None,
 1284   1298   
            layer: config.layers,
 1285   1299   
            http_plugin: config.http_plugins,
 1286   1300   
            model_plugin: config.model_plugins,
 1287   1301   
        }
 1288   1302   
    }
 1289   1303   
 1290   1304   
    /// Constructs a builder for [`Ebs`].
 1291   1305   
    /// You must specify what plugins should be applied to the operations in this service.
 1292   1306   
    ///
 1293   1307   
    /// Use [`Ebs::builder_without_plugins`] if you don't need to apply plugins.
 1294   1308   
    ///
 1295         -
    /// Check out [`HttpPlugins`](::aws_smithy_http_server::plugin::HttpPlugins) and
 1296         -
    /// [`ModelPlugins`](::aws_smithy_http_server::plugin::ModelPlugins) if you need to apply
        1309  +
    /// Check out [`HttpPlugins`](::aws_smithy_legacy_http_server::plugin::HttpPlugins) and
        1310  +
    /// [`ModelPlugins`](::aws_smithy_legacy_http_server::plugin::ModelPlugins) if you need to apply
 1297   1311   
    /// multiple plugins.
 1298   1312   
    #[deprecated(
 1299   1313   
        since = "0.57.0",
 1300   1314   
        note = "please use the `builder` constructor and register plugins on the `EbsConfig` object instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 1301   1315   
    )]
 1302   1316   
    pub fn builder_with_plugins<
 1303   1317   
        Body,
 1304         -
        HttpPl: ::aws_smithy_http_server::plugin::HttpMarker,
 1305         -
        ModelPl: ::aws_smithy_http_server::plugin::ModelMarker,
        1318  +
        HttpPl: ::aws_smithy_legacy_http_server::plugin::HttpMarker,
        1319  +
        ModelPl: ::aws_smithy_legacy_http_server::plugin::ModelMarker,
 1306   1320   
    >(
 1307   1321   
        http_plugin: HttpPl,
 1308   1322   
        model_plugin: ModelPl,
 1309   1323   
    ) -> EbsBuilder<Body, ::tower::layer::util::Identity, HttpPl, ModelPl> {
 1310   1324   
        EbsBuilder {
 1311   1325   
            complete_snapshot: None,
 1312   1326   
            get_snapshot_block: None,
 1313   1327   
            list_changed_blocks: None,
 1314   1328   
            list_snapshot_blocks: None,
 1315   1329   
            put_snapshot_block: None,
 1316   1330   
            start_snapshot: None,
 1317   1331   
            layer: ::tower::layer::util::Identity::new(),
 1318   1332   
            http_plugin,
 1319   1333   
            model_plugin,
 1320   1334   
        }
 1321   1335   
    }
 1322   1336   
 1323   1337   
    /// Constructs a builder for [`Ebs`].
 1324   1338   
    ///
 1325   1339   
    /// Use [`Ebs::builder_with_plugins`] if you need to specify plugins.
 1326   1340   
    #[deprecated(
 1327   1341   
        since = "0.57.0",
 1328   1342   
        note = "please use the `builder` constructor instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 1329   1343   
    )]
 1330   1344   
    pub fn builder_without_plugins<Body>() -> EbsBuilder<
 1331   1345   
        Body,
 1332   1346   
        ::tower::layer::util::Identity,
 1333         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
 1334         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
        1347  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        1348  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 1335   1349   
    > {
 1336   1350   
        Self::builder_with_plugins(
 1337         -
            ::aws_smithy_http_server::plugin::IdentityPlugin,
 1338         -
            ::aws_smithy_http_server::plugin::IdentityPlugin,
        1351  +
            ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        1352  +
            ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 1339   1353   
        )
 1340   1354   
    }
 1341   1355   
}
 1342   1356   
 1343   1357   
impl<S> Ebs<S> {
 1344   1358   
    /// Converts [`Ebs`] into a [`MakeService`](tower::make::MakeService).
 1345         -
    pub fn into_make_service(self) -> ::aws_smithy_http_server::routing::IntoMakeService<Self> {
 1346         -
        ::aws_smithy_http_server::routing::IntoMakeService::new(self)
        1359  +
    pub fn into_make_service(
        1360  +
        self,
        1361  +
    ) -> ::aws_smithy_legacy_http_server::routing::IntoMakeService<Self> {
        1362  +
        ::aws_smithy_legacy_http_server::routing::IntoMakeService::new(self)
 1347   1363   
    }
 1348   1364   
 1349         -
    /// Converts [`Ebs`] into a [`MakeService`](tower::make::MakeService) with [`ConnectInfo`](::aws_smithy_http_server::request::connect_info::ConnectInfo).
        1365  +
    /// Converts [`Ebs`] into a [`MakeService`](tower::make::MakeService) with [`ConnectInfo`](::aws_smithy_legacy_http_server::request::connect_info::ConnectInfo).
 1350   1366   
    pub fn into_make_service_with_connect_info<C>(
 1351   1367   
        self,
 1352         -
    ) -> ::aws_smithy_http_server::routing::IntoMakeServiceWithConnectInfo<Self, C> {
 1353         -
        ::aws_smithy_http_server::routing::IntoMakeServiceWithConnectInfo::new(self)
        1368  +
    ) -> ::aws_smithy_legacy_http_server::routing::IntoMakeServiceWithConnectInfo<Self, C> {
        1369  +
        ::aws_smithy_legacy_http_server::routing::IntoMakeServiceWithConnectInfo::new(self)
 1354   1370   
    }
 1355   1371   
}
 1356   1372   
 1357   1373   
impl<S>
 1358   1374   
    Ebs<
 1359         -
        ::aws_smithy_http_server::routing::RoutingService<
 1360         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<S>,
 1361         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        1375  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        1376  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<S>,
        1377  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 1362   1378   
        >,
 1363   1379   
    >
 1364   1380   
{
 1365   1381   
    /// Applies a [`Layer`](::tower::Layer) uniformly to all routes.
 1366   1382   
    #[deprecated(
 1367   1383   
        since = "0.57.0",
 1368   1384   
        note = "please add layers to the `EbsConfig` object instead; see https://github.com/smithy-lang/smithy-rs/discussions/3096"
 1369   1385   
    )]
 1370   1386   
    pub fn layer<L>(
 1371   1387   
        self,
 1372   1388   
        layer: &L,
 1373   1389   
    ) -> Ebs<
 1374         -
        ::aws_smithy_http_server::routing::RoutingService<
 1375         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<L::Service>,
 1376         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        1390  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        1391  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<L::Service>,
        1392  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 1377   1393   
        >,
 1378   1394   
    >
 1379   1395   
    where
 1380   1396   
        L: ::tower::Layer<S>,
 1381   1397   
    {
 1382   1398   
        Ebs {
 1383   1399   
            svc: self.svc.map(|s| s.layer(layer)),
 1384   1400   
        }
 1385   1401   
    }
 1386   1402   
 1387         -
    /// Applies [`Route::new`](::aws_smithy_http_server::routing::Route::new) to all routes.
        1403  +
    /// Applies [`Route::new`](::aws_smithy_legacy_http_server::routing::Route::new) to all routes.
 1388   1404   
    ///
 1389   1405   
    /// This has the effect of erasing all types accumulated via layers.
 1390   1406   
    pub fn boxed<B>(
 1391   1407   
        self,
 1392   1408   
    ) -> Ebs<
 1393         -
        ::aws_smithy_http_server::routing::RoutingService<
 1394         -
            ::aws_smithy_http_server::protocol::rest::router::RestRouter<
 1395         -
                ::aws_smithy_http_server::routing::Route<B>,
        1409  +
        ::aws_smithy_legacy_http_server::routing::RoutingService<
        1410  +
            ::aws_smithy_legacy_http_server::protocol::rest::router::RestRouter<
        1411  +
                ::aws_smithy_legacy_http_server::routing::Route<B>,
 1396   1412   
            >,
 1397         -
            ::aws_smithy_http_server::protocol::rest_json_1::RestJson1,
        1413  +
            ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1,
 1398   1414   
        >,
 1399   1415   
    >
 1400   1416   
    where
 1401   1417   
        S: ::tower::Service<
 1402   1418   
            ::http::Request<B>,
 1403         -
            Response = ::http::Response<::aws_smithy_http_server::body::BoxBody>,
        1419  +
            Response = ::http::Response<::aws_smithy_legacy_http_server::body::BoxBody>,
 1404   1420   
            Error = std::convert::Infallible,
 1405   1421   
        >,
 1406   1422   
        S: Clone + Send + 'static,
 1407   1423   
        S::Future: Send + 'static,
 1408   1424   
    {
 1409   1425   
        self.layer(&::tower::layer::layer_fn(
 1410         -
            ::aws_smithy_http_server::routing::Route::new,
        1426  +
            ::aws_smithy_legacy_http_server::routing::Route::new,
 1411   1427   
        ))
 1412   1428   
    }
 1413   1429   
}
 1414   1430   
 1415   1431   
impl<S, R> ::tower::Service<R> for Ebs<S>
 1416   1432   
where
 1417   1433   
    S: ::tower::Service<R>,
 1418   1434   
{
 1419   1435   
    type Response = S::Response;
 1420   1436   
    type Error = S::Error;
 1421   1437   
    type Future = S::Future;
 1422   1438   
 1423   1439   
    fn poll_ready(
 1424   1440   
        &mut self,
 1425   1441   
        cx: &mut std::task::Context,
 1426   1442   
    ) -> std::task::Poll<::std::result::Result<(), Self::Error>> {
 1427   1443   
        self.svc.poll_ready(cx)
 1428   1444   
    }
 1429   1445   
 1430   1446   
    fn call(&mut self, request: R) -> Self::Future {
 1431   1447   
        self.svc.call(request)
 1432   1448   
    }
 1433   1449   
}
 1434   1450   
 1435   1451   
/// An enumeration of all [operations](https://smithy.io/2.0/spec/service-types.html#operation) in Ebs.
 1436   1452   
#[allow(clippy::enum_variant_names)]
 1437   1453   
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
 1438   1454   
pub enum Operation {
 1439   1455   
    CompleteSnapshot,
 1440   1456   
    GetSnapshotBlock,
 1441   1457   
    ListChangedBlocks,
 1442   1458   
    ListSnapshotBlocks,
 1443   1459   
    PutSnapshotBlock,
 1444   1460   
    StartSnapshot,
 1445   1461   
}
 1446   1462   
 1447   1463   
impl Operation {
 1448         -
    /// Returns the [operations](https://smithy.io/2.0/spec/service-types.html#operation) [`ShapeId`](::aws_smithy_http_server::shape_id::ShapeId).
 1449         -
    pub fn shape_id(&self) -> ::aws_smithy_http_server::shape_id::ShapeId {
        1464  +
    /// Returns the [operations](https://smithy.io/2.0/spec/service-types.html#operation) [`ShapeId`](::aws_smithy_legacy_http_server::shape_id::ShapeId).
        1465  +
    pub fn shape_id(&self) -> ::aws_smithy_legacy_http_server::shape_id::ShapeId {
 1450   1466   
        match self {
 1451         -
            Operation::CompleteSnapshot => ::aws_smithy_http_server::shape_id::ShapeId::new(
        1467  +
            Operation::CompleteSnapshot => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1452   1468   
                "com.amazonaws.ebs#CompleteSnapshot",
 1453   1469   
                "com.amazonaws.ebs",
 1454   1470   
                "CompleteSnapshot",
 1455   1471   
            ),
 1456         -
            Operation::GetSnapshotBlock => ::aws_smithy_http_server::shape_id::ShapeId::new(
        1472  +
            Operation::GetSnapshotBlock => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1457   1473   
                "com.amazonaws.ebs#GetSnapshotBlock",
 1458   1474   
                "com.amazonaws.ebs",
 1459   1475   
                "GetSnapshotBlock",
 1460   1476   
            ),
 1461         -
            Operation::ListChangedBlocks => ::aws_smithy_http_server::shape_id::ShapeId::new(
 1462         -
                "com.amazonaws.ebs#ListChangedBlocks",
 1463         -
                "com.amazonaws.ebs",
 1464         -
                "ListChangedBlocks",
 1465         -
            ),
 1466         -
            Operation::ListSnapshotBlocks => ::aws_smithy_http_server::shape_id::ShapeId::new(
 1467         -
                "com.amazonaws.ebs#ListSnapshotBlocks",
 1468         -
                "com.amazonaws.ebs",
 1469         -
                "ListSnapshotBlocks",
 1470         -
            ),
 1471         -
            Operation::PutSnapshotBlock => ::aws_smithy_http_server::shape_id::ShapeId::new(
        1477  +
            Operation::ListChangedBlocks => {
        1478  +
                ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        1479  +
                    "com.amazonaws.ebs#ListChangedBlocks",
        1480  +
                    "com.amazonaws.ebs",
        1481  +
                    "ListChangedBlocks",
        1482  +
                )
        1483  +
            }
        1484  +
            Operation::ListSnapshotBlocks => {
        1485  +
                ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        1486  +
                    "com.amazonaws.ebs#ListSnapshotBlocks",
        1487  +
                    "com.amazonaws.ebs",
        1488  +
                    "ListSnapshotBlocks",
        1489  +
                )
        1490  +
            }
        1491  +
            Operation::PutSnapshotBlock => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1472   1492   
                "com.amazonaws.ebs#PutSnapshotBlock",
 1473   1493   
                "com.amazonaws.ebs",
 1474   1494   
                "PutSnapshotBlock",
 1475   1495   
            ),
 1476         -
            Operation::StartSnapshot => ::aws_smithy_http_server::shape_id::ShapeId::new(
        1496  +
            Operation::StartSnapshot => ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1477   1497   
                "com.amazonaws.ebs#StartSnapshot",
 1478   1498   
                "com.amazonaws.ebs",
 1479   1499   
                "StartSnapshot",
 1480   1500   
            ),
 1481   1501   
        }
 1482   1502   
    }
 1483   1503   
}
 1484   1504   
impl<L>
 1485         -
    ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::CompleteSnapshot>
 1486         -
    for Ebs<L>
        1505  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1506  +
        crate::operation_shape::CompleteSnapshot,
        1507  +
    > for Ebs<L>
 1487   1508   
{
 1488   1509   
    const VALUE: Operation = Operation::CompleteSnapshot;
 1489   1510   
}
 1490   1511   
impl<L>
 1491         -
    ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::GetSnapshotBlock>
 1492         -
    for Ebs<L>
        1512  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1513  +
        crate::operation_shape::GetSnapshotBlock,
        1514  +
    > for Ebs<L>
 1493   1515   
{
 1494   1516   
    const VALUE: Operation = Operation::GetSnapshotBlock;
 1495   1517   
}
 1496   1518   
impl<L>
 1497         -
    ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::ListChangedBlocks>
 1498         -
    for Ebs<L>
        1519  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1520  +
        crate::operation_shape::ListChangedBlocks,
        1521  +
    > for Ebs<L>
 1499   1522   
{
 1500   1523   
    const VALUE: Operation = Operation::ListChangedBlocks;
 1501   1524   
}
 1502   1525   
impl<L>
 1503         -
    ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::ListSnapshotBlocks>
 1504         -
    for Ebs<L>
        1526  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1527  +
        crate::operation_shape::ListSnapshotBlocks,
        1528  +
    > for Ebs<L>
 1505   1529   
{
 1506   1530   
    const VALUE: Operation = Operation::ListSnapshotBlocks;
 1507   1531   
}
 1508   1532   
impl<L>
 1509         -
    ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::PutSnapshotBlock>
 1510         -
    for Ebs<L>
        1533  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1534  +
        crate::operation_shape::PutSnapshotBlock,
        1535  +
    > for Ebs<L>
 1511   1536   
{
 1512   1537   
    const VALUE: Operation = Operation::PutSnapshotBlock;
 1513   1538   
}
 1514         -
impl<L> ::aws_smithy_http_server::service::ContainsOperation<crate::operation_shape::StartSnapshot>
 1515         -
    for Ebs<L>
        1539  +
impl<L>
        1540  +
    ::aws_smithy_legacy_http_server::service::ContainsOperation<
        1541  +
        crate::operation_shape::StartSnapshot,
        1542  +
    > for Ebs<L>
 1516   1543   
{
 1517   1544   
    const VALUE: Operation = Operation::StartSnapshot;
 1518   1545   
}
 1519   1546   
 1520         -
impl<S> ::aws_smithy_http_server::service::ServiceShape for Ebs<S> {
 1521         -
    const ID: ::aws_smithy_http_server::shape_id::ShapeId =
 1522         -
        ::aws_smithy_http_server::shape_id::ShapeId::new(
        1547  +
impl<S> ::aws_smithy_legacy_http_server::service::ServiceShape for Ebs<S> {
        1548  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        1549  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1523   1550   
            "com.amazonaws.ebs#Ebs",
 1524   1551   
            "com.amazonaws.ebs",
 1525   1552   
            "Ebs",
 1526   1553   
        );
 1527   1554   
 1528   1555   
    const VERSION: Option<&'static str> = Some("2019-11-02");
 1529   1556   
 1530         -
    type Protocol = ::aws_smithy_http_server::protocol::rest_json_1::RestJson1;
        1557  +
    type Protocol = ::aws_smithy_legacy_http_server::protocol::rest_json_1::RestJson1;
 1531   1558   
 1532   1559   
    type Operations = Operation;
 1533   1560   
}
 1534   1561   
/// Configuration for the [`Ebs`]. This is the central place where to register and
 1535   1562   
/// configure [`::tower::Layer`]s, HTTP plugins, and model plugins.
 1536   1563   
///
 1537   1564   
/// ```rust,no_run
 1538   1565   
/// # use ebs::EbsConfig;
 1539         -
/// # use ::aws_smithy_http_server::plugin::IdentityPlugin;
        1566  +
/// # use ::aws_smithy_legacy_http_server::plugin::IdentityPlugin;
 1540   1567   
/// # use ::tower::layer::util::Identity;
 1541   1568   
/// # let authentication_plugin = IdentityPlugin;
 1542   1569   
/// # let authorization_plugin = IdentityPlugin;
 1543   1570   
/// # let server_request_id_provider_layer = Identity::new();
 1544   1571   
/// let config = EbsConfig::builder()
 1545   1572   
///     // Layers get executed first...
 1546   1573   
///     .layer(server_request_id_provider_layer)
 1547   1574   
///     // ...then HTTP plugins...
 1548   1575   
///     .http_plugin(authentication_plugin)
 1549   1576   
///     // ...and right after deserialization, model plugins.
 1550   1577   
///     .model_plugin(authorization_plugin)
 1551   1578   
///     .build();
 1552   1579   
/// ```
 1553   1580   
///
 1554   1581   
/// See the [`plugin`] system for details.
 1555   1582   
///
 1556         -
/// [`plugin`]: ::aws_smithy_http_server::plugin
        1583  +
/// [`plugin`]: ::aws_smithy_legacy_http_server::plugin
 1557   1584   
#[derive(::std::fmt::Debug)]
 1558   1585   
pub struct EbsConfig<L, H, M> {
 1559   1586   
    layers: L,
 1560   1587   
    http_plugins: H,
 1561   1588   
    model_plugins: M,
 1562   1589   
}
 1563   1590   
 1564   1591   
impl EbsConfig<(), (), ()> {
 1565   1592   
    /// Returns a builder to construct the configuration.
 1566   1593   
    pub fn builder() -> EbsConfigBuilder<
 1567   1594   
        ::tower::layer::util::Identity,
 1568         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
 1569         -
        ::aws_smithy_http_server::plugin::IdentityPlugin,
        1595  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        1596  +
        ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 1570   1597   
    > {
 1571   1598   
        EbsConfigBuilder {
 1572   1599   
            layers: ::tower::layer::util::Identity::new(),
 1573         -
            http_plugins: ::aws_smithy_http_server::plugin::IdentityPlugin,
 1574         -
            model_plugins: ::aws_smithy_http_server::plugin::IdentityPlugin,
        1600  +
            http_plugins: ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
        1601  +
            model_plugins: ::aws_smithy_legacy_http_server::plugin::IdentityPlugin,
 1575   1602   
        }
 1576   1603   
    }
 1577   1604   
}
 1578   1605   
 1579   1606   
/// Builder returned by [`EbsConfig::builder()`].
 1580   1607   
#[derive(::std::fmt::Debug)]
 1581   1608   
pub struct EbsConfigBuilder<L, H, M> {
 1582   1609   
    pub(crate) layers: L,
 1583   1610   
    pub(crate) http_plugins: H,
 1584   1611   
    pub(crate) model_plugins: M,
 1585   1612   
}
 1586   1613   
 1587   1614   
impl<L, H, M> EbsConfigBuilder<L, H, M> {
 1588   1615   
    /// Add a [`::tower::Layer`] to the service.
 1589   1616   
    pub fn layer<NewLayer>(
 1590   1617   
        self,
 1591   1618   
        layer: NewLayer,
 1592   1619   
    ) -> EbsConfigBuilder<::tower::layer::util::Stack<NewLayer, L>, H, M> {
 1593   1620   
        EbsConfigBuilder {
 1594   1621   
            layers: ::tower::layer::util::Stack::new(layer, self.layers),
 1595   1622   
            http_plugins: self.http_plugins,
 1596   1623   
            model_plugins: self.model_plugins,
 1597   1624   
        }
 1598   1625   
    }
 1599   1626   
 1600   1627   
    /// Add a HTTP [plugin] to the service.
 1601   1628   
    ///
 1602         -
    /// [plugin]: ::aws_smithy_http_server::plugin
        1629  +
    /// [plugin]: ::aws_smithy_legacy_http_server::plugin
 1603   1630   
    // We eagerly require `NewPlugin: HttpMarker`, despite not really needing it, because compiler
 1604   1631   
    // errors get _substantially_ better if the user makes a mistake.
 1605         -
    pub fn http_plugin<NewPlugin: ::aws_smithy_http_server::plugin::HttpMarker>(
        1632  +
    pub fn http_plugin<NewPlugin: ::aws_smithy_legacy_http_server::plugin::HttpMarker>(
 1606   1633   
        self,
 1607   1634   
        http_plugin: NewPlugin,
 1608         -
    ) -> EbsConfigBuilder<L, ::aws_smithy_http_server::plugin::PluginStack<NewPlugin, H>, M> {
        1635  +
    ) -> EbsConfigBuilder<L, ::aws_smithy_legacy_http_server::plugin::PluginStack<NewPlugin, H>, M>
        1636  +
    {
 1609   1637   
        EbsConfigBuilder {
 1610   1638   
            layers: self.layers,
 1611         -
            http_plugins: ::aws_smithy_http_server::plugin::PluginStack::new(
        1639  +
            http_plugins: ::aws_smithy_legacy_http_server::plugin::PluginStack::new(
 1612   1640   
                http_plugin,
 1613   1641   
                self.http_plugins,
 1614   1642   
            ),
 1615   1643   
            model_plugins: self.model_plugins,
 1616   1644   
        }
 1617   1645   
    }
 1618   1646   
 1619   1647   
    /// Add a model [plugin] to the service.
 1620   1648   
    ///
 1621         -
    /// [plugin]: ::aws_smithy_http_server::plugin
        1649  +
    /// [plugin]: ::aws_smithy_legacy_http_server::plugin
 1622   1650   
    // We eagerly require `NewPlugin: ModelMarker`, despite not really needing it, because compiler
 1623   1651   
    // errors get _substantially_ better if the user makes a mistake.
 1624         -
    pub fn model_plugin<NewPlugin: ::aws_smithy_http_server::plugin::ModelMarker>(
        1652  +
    pub fn model_plugin<NewPlugin: ::aws_smithy_legacy_http_server::plugin::ModelMarker>(
 1625   1653   
        self,
 1626   1654   
        model_plugin: NewPlugin,
 1627         -
    ) -> EbsConfigBuilder<L, H, ::aws_smithy_http_server::plugin::PluginStack<NewPlugin, M>> {
        1655  +
    ) -> EbsConfigBuilder<L, H, ::aws_smithy_legacy_http_server::plugin::PluginStack<NewPlugin, M>>
        1656  +
    {
 1628   1657   
        EbsConfigBuilder {
 1629   1658   
            layers: self.layers,
 1630   1659   
            http_plugins: self.http_plugins,
 1631         -
            model_plugins: ::aws_smithy_http_server::plugin::PluginStack::new(
        1660  +
            model_plugins: ::aws_smithy_legacy_http_server::plugin::PluginStack::new(
 1632   1661   
                model_plugin,
 1633   1662   
                self.model_plugins,
 1634   1663   
            ),
 1635   1664   
        }
 1636   1665   
    }
 1637   1666   
 1638   1667   
    /// Build the configuration.
 1639   1668   
    pub fn build(self) -> super::EbsConfig<L, H, M> {
 1640   1669   
        super::EbsConfig {
 1641   1670   
            layers: self.layers,

tmp-codegen-diff/codegen-server-test-python/json_rpc10/rust-server-codegen-python/Cargo.toml

@@ -1,1 +59,59 @@
    2      2   
[package]
    3      3   
name = "json_rpc10"
    4      4   
version = "0.0.1"
    5      5   
authors = ["protocoltest@example.com"]
    6      6   
description = "test"
    7      7   
edition = "2021"
    8      8   
    9      9   
[package.metadata.smithy]
   10     10   
codegen-version = "ci"
   11     11   
protocol = "aws.protocols#awsJson1_0"
   12         -
[dependencies.aws-smithy-http]
   13         -
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-http"
   14         -
[dependencies.aws-smithy-http-server]
   15         -
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-http-server"
   16     12   
[dependencies.aws-smithy-http-server-python]
   17     13   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-http-server-python"
   18     14   
[dependencies.aws-smithy-json]
   19     15   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-json"
          16  +
[dependencies.aws-smithy-legacy-http]
          17  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http"
          18  +
[dependencies.aws-smithy-legacy-http-server]
          19  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http-server"
   20     20   
[dependencies.aws-smithy-runtime-api]
   21     21   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime-api"
          22  +
features = ["http-02x"]
   22     23   
[dependencies.aws-smithy-types]
   23     24   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
          25  +
features = ["http-body-0-4-x"]
   24     26   
[dependencies.futures-util]
   25     27   
version = "0.3"
   26     28   
[dependencies.http]
   27     29   
version = "0.2.9"
   28     30   
[dependencies.hyper]
   29     31   
version = "0.14.26"
   30     32   
[dependencies.mime]
   31     33   
version = "0.3"
   32     34   
[dependencies.parking_lot]
   33     35   
version = "0.12"
   34     36   
[dependencies.pin-project-lite]
   35     37   
version = "0.2"
   36     38   
[dependencies.pyo3]
   37     39   
version = "0.20"
   38     40   
[dependencies.pyo3-asyncio]
   39     41   
version = "0.20"
   40     42   
features = ["attributes", "tokio-runtime"]
   41     43   
[dependencies.tower]
   42     44   
version = "0.4"
   43     45   
[dependencies.tracing]
   44     46   
version = "0.1"
   45         -
[dev-dependencies.hyper]
   46         -
version = "0.14.12"
   47     47   
[dev-dependencies.tokio]
   48     48   
version = "1.23.1"
   49     49   
[features]
   50     50   
rt-tokio = ["aws-smithy-types/rt-tokio"]
   51         -
aws-lambda = ["aws-smithy-http-server/aws-lambda"]
   52         -
request-id = ["aws-smithy-http-server/request-id"]
          51  +
aws-lambda = ["aws-smithy-legacy-http-server/aws-lambda"]
          52  +
request-id = ["aws-smithy-legacy-http-server/request-id"]
   53     53   
extension-module = ["pyo3/extension-module"]
   54     54   
default = ["rt-tokio", "request-id", "extension-module"]
   55     55   
[lib]
   56     56   
name = "json_rpc10"
   57     57   
crate-type = ["cdylib"]
   58     58   
   59     59   

tmp-codegen-diff/codegen-server-test-python/json_rpc10/rust-server-codegen-python/python/json_rpc10/middleware/__init__.pyi

@@ -1,1 +38,38 @@
    1      1   
import typing
    2      2   
    3      3   
class MiddlewareException(Exception):
    4      4   
    """
    5      5   
    Exception that can be thrown from a Python middleware.
    6      6   
    7      7   
    It allows to specify a message and HTTP status code and implementing protocol specific capabilities
    8         -
    to build a [aws_smithy_http_server::response::Response] from it.
           8  +
    to build a [aws_smithy_legacy_http_server::response::Response] from it.
    9      9   
    """
   10     10   
   11     11   
    message: str
   12     12   
   13     13   
    status_code: int
   14     14   
   15     15   
    def __init__(self, message: str, status_code: typing.Optional[int] = ...) -> None:
   16     16   
        ...
   17     17   
   18     18   

tmp-codegen-diff/codegen-server-test-python/json_rpc10/rust-server-codegen-python/src/input.rs

@@ -957,957 +1017,1017 @@
  977    977   
            match self {
  978    978   
            ConstraintViolation::MissingTopLevel => crate::model::ValidationExceptionField {
  979    979   
                                                message: format!("Value at '{}/topLevel' failed to satisfy constraint: Member must not be null", path),
  980    980   
                                                path: path + "/topLevel",
  981    981   
                                            },
  982    982   
            ConstraintViolation::TopLevel(inner) => inner.as_validation_exception_field(path + "/topLevel"),
  983    983   
        }
  984    984   
        }
  985    985   
    }
  986    986   
    impl ::std::convert::From<ConstraintViolation>
  987         -
        for ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection
         987  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
  988    988   
    {
  989    989   
        fn from(constraint_violation: ConstraintViolation) -> Self {
  990    990   
            let first_validation_exception_field =
  991    991   
                constraint_violation.as_validation_exception_field("".to_owned());
  992    992   
            let validation_exception = crate::error::ValidationException {
  993    993   
                message: format!(
  994    994   
                    "1 validation error detected. {}",
  995    995   
                    &first_validation_exception_field.message
  996    996   
                ),
  997    997   
                field_list: Some(vec![first_validation_exception_field]),
@@ -1166,1166 +1226,1226 @@
 1186   1186   
            path: ::std::string::String,
 1187   1187   
        ) -> crate::model::ValidationExceptionField {
 1188   1188   
            match self {
 1189   1189   
                ConstraintViolation::Defaults(inner) => {
 1190   1190   
                    inner.as_validation_exception_field(path + "/defaults")
 1191   1191   
                }
 1192   1192   
            }
 1193   1193   
        }
 1194   1194   
    }
 1195   1195   
    impl ::std::convert::From<ConstraintViolation>
 1196         -
        for ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection
        1196  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 1197   1197   
    {
 1198   1198   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 1199   1199   
            let first_validation_exception_field =
 1200   1200   
                constraint_violation.as_validation_exception_field("".to_owned());
 1201   1201   
            let validation_exception = crate::error::ValidationException {
 1202   1202   
                message: format!(
 1203   1203   
                    "1 validation error detected. {}",
 1204   1204   
                    &first_validation_exception_field.message
 1205   1205   
                ),
 1206   1206   
                field_list: Some(vec![first_validation_exception_field]),
@@ -1548,1548 +1608,1608 @@
 1568   1568   
                    message: format!(
 1569   1569   
                        "Value at '{}/label' failed to satisfy constraint: Member must not be null",
 1570   1570   
                        path
 1571   1571   
                    ),
 1572   1572   
                    path: path + "/label",
 1573   1573   
                },
 1574   1574   
            }
 1575   1575   
        }
 1576   1576   
    }
 1577   1577   
    impl ::std::convert::From<ConstraintViolation>
 1578         -
        for ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection
        1578  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 1579   1579   
    {
 1580   1580   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 1581   1581   
            let first_validation_exception_field =
 1582   1582   
                constraint_violation.as_validation_exception_field("".to_owned());
 1583   1583   
            let validation_exception = crate::error::ValidationException {
 1584   1584   
                message: format!(
 1585   1585   
                    "1 validation error detected. {}",
 1586   1586   
                    &first_validation_exception_field.message
 1587   1587   
                ),
 1588   1588   
                field_list: Some(vec![first_validation_exception_field]),
@@ -1745,1745 +1805,1805 @@
 1765   1765   
            path: ::std::string::String,
 1766   1766   
        ) -> crate::model::ValidationExceptionField {
 1767   1767   
            match self {
 1768   1768   
                ConstraintViolation::Contents(inner) => {
 1769   1769   
                    inner.as_validation_exception_field(path + "/contents")
 1770   1770   
                }
 1771   1771   
            }
 1772   1772   
        }
 1773   1773   
    }
 1774   1774   
    impl ::std::convert::From<ConstraintViolation>
 1775         -
        for ::aws_smithy_http_server::protocol::aws_json::rejection::RequestRejection
        1775  +
        for ::aws_smithy_legacy_http_server::protocol::aws_json::rejection::RequestRejection
 1776   1776   
    {
 1777   1777   
        fn from(constraint_violation: ConstraintViolation) -> Self {
 1778   1778   
            let first_validation_exception_field =
 1779   1779   
                constraint_violation.as_validation_exception_field("".to_owned());
 1780   1780   
            let validation_exception = crate::error::ValidationException {
 1781   1781   
                message: format!(
 1782   1782   
                    "1 validation error detected. {}",
 1783   1783   
                    &first_validation_exception_field.message
 1784   1784   
                ),
 1785   1785   
                field_list: Some(vec![first_validation_exception_field]),

tmp-codegen-diff/codegen-server-test-python/json_rpc10/rust-server-codegen-python/src/lib.rs

@@ -29,29 +128,129 @@
   49     49   
//!
   50     50   
//! # let app = JsonRpc10::builder(
   51     51   
//! #     JsonRpc10Config::builder()
   52     52   
//! #         .build()
   53     53   
//! # ).build_unchecked();
   54     54   
//! let server = app.into_make_service();
   55     55   
//! let bind: SocketAddr = "127.0.0.1:6969".parse()
   56     56   
//!     .expect("unable to parse the server bind address and port");
   57     57   
//! ::hyper::Server::bind(&bind).serve(server).await.unwrap();
   58     58   
//! # }
          59  +
//!
   59     60   
//! ```
   60     61   
//!
   61     62   
//! ### Running on Lambda
   62     63   
//!
   63     64   
//! ```rust,ignore
   64     65   
//! use json_rpc10::server::routing::LambdaHandler;
   65     66   
//! use json_rpc10::JsonRpc10;
   66     67   
//!
   67     68   
//! # async fn dummy() {
   68     69   
//! # let app = JsonRpc10::builder(
   69     70   
//! #     JsonRpc10Config::builder()
   70     71   
//! #         .build()
   71     72   
//! # ).build_unchecked();
   72     73   
//! let handler = LambdaHandler::new(app);
   73     74   
//! lambda_http::run(handler).await.unwrap();
   74     75   
//! # }
   75     76   
//! ```
   76     77   
//!
   77     78   
//! # Building the JsonRpc10
   78     79   
//!
   79     80   
//! To construct [`JsonRpc10`] we use [`JsonRpc10Builder`] returned by [`JsonRpc10::builder`].
   80     81   
//!
   81     82   
//! ## Plugins
   82     83   
//!
   83     84   
//! The [`JsonRpc10::builder`] method, returning [`JsonRpc10Builder`],
   84     85   
//! accepts a config object on which plugins can be registered.
   85     86   
//! Plugins allow you to build middleware which is aware of the operation it is being applied to.
   86     87   
//!
   87     88   
//! ```rust,no_run
   88     89   
//! # use json_rpc10::server::plugin::IdentityPlugin as LoggingPlugin;
   89     90   
//! # use json_rpc10::server::plugin::IdentityPlugin as MetricsPlugin;
   90     91   
//! # use ::hyper::Body;
   91     92   
//! use json_rpc10::server::plugin::HttpPlugins;
   92     93   
//! use json_rpc10::{JsonRpc10, JsonRpc10Config, JsonRpc10Builder};
   93     94   
//!
   94     95   
//! let http_plugins = HttpPlugins::new()
   95     96   
//!         .push(LoggingPlugin)
   96     97   
//!         .push(MetricsPlugin);
   97     98   
//! let config = JsonRpc10Config::builder().build();
   98         -
//! let builder: JsonRpc10Builder<Body, _, _, _> = JsonRpc10::builder(config);
          99  +
//! let builder: JsonRpc10Builder<::hyper::Body, _, _, _> = JsonRpc10::builder(config);
   99    100   
//! ```
  100    101   
//!
  101    102   
//! Check out [`crate::server::plugin`] to learn more about plugins.
  102    103   
//!
  103    104   
//! ## Handlers
  104    105   
//!
  105    106   
//! [`JsonRpc10Builder`] provides a setter method for each operation in your Smithy model. The setter methods expect an async function as input, matching the signature for the corresponding operation in your Smithy model.
  106    107   
//! We call these async functions **handlers**. This is where your application business logic lives.
  107    108   
//!
  108    109   
//! Every handler must take an `Input`, and optional [`extractor arguments`](crate::server::request), while returning:
@@ -239,240 +334,335 @@
  259    260   
//!     todo!()
  260    261   
//! }
  261    262   
//!
  262    263   
//! async fn simple_scalar_properties(input: input::SimpleScalarPropertiesInput) -> Result<output::SimpleScalarPropertiesOutput, error::SimpleScalarPropertiesError> {
  263    264   
//!     todo!()
  264    265   
//! }
  265    266   
//!
  266    267   
//! ```
  267    268   
//!
  268    269   
//! [`serve`]: https://docs.rs/hyper/0.14.16/hyper/server/struct.Builder.html#method.serve
         270  +
//! [hyper server]: https://docs.rs/hyper/0.14.26/hyper/server/index.html
  269    271   
//! [`tower::make::MakeService`]: https://docs.rs/tower/latest/tower/make/trait.MakeService.html
  270    272   
//! [HTTP binding traits]: https://smithy.io/2.0/spec/http-bindings.html
  271    273   
//! [operations]: https://smithy.io/2.0/spec/service-types.html#operation
  272         -
//! [hyper server]: https://docs.rs/hyper/latest/hyper/server/index.html
  273    274   
//! [Service]: https://docs.rs/tower-service/latest/tower_service/trait.Service.html
  274    275   
pub use crate::service::{
  275    276   
    JsonRpc10, JsonRpc10Builder, JsonRpc10Config, JsonRpc10ConfigBuilder, MissingOperationsError,
  276    277   
};
  277    278   
  278    279   
/// Contains the types that are re-exported from the `aws-smithy-http-server` crate.
  279    280   
pub mod server {
  280    281   
    // Re-export all types from the `aws-smithy-http-server` crate.
  281         -
    pub use ::aws_smithy_http_server::*;
         282  +
    pub use ::aws_smithy_legacy_http_server::*;
  282    283   
}
  283    284   
  284    285   
/// Crate version number.
  285    286   
pub static PKG_VERSION: &str = env!("CARGO_PKG_VERSION");
  286    287   
  287    288   
/// All error types that operations can return. Documentation on these types is copied from the model.
  288    289   
pub mod error;
  289    290   
  290    291   
/// Input structures for operations. Documentation on these types is copied from the model.
  291    292   
pub mod input;
  292    293   
  293    294   
/// Data structures used by operation inputs/outputs. Documentation on these types is copied from the model.
  294    295   
pub mod model;
  295    296   
  296    297   
/// All operations that this crate can perform.
  297    298   
pub mod operation;
  298    299   
  299    300   
/// A collection of types representing each operation defined in the service closure.
  300    301   
///
  301         -
/// The [plugin system](::aws_smithy_http_server::plugin) makes use of these
         302  +
/// The [plugin system](::aws_smithy_legacy_http_server::plugin) makes use of these
  302    303   
/// [zero-sized types](https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts) (ZSTs) to
  303         -
/// parameterize [`Plugin`](::aws_smithy_http_server::plugin::Plugin) implementations. Their traits, such as
  304         -
/// [`OperationShape`](::aws_smithy_http_server::operation::OperationShape), can be used to provide
         304  +
/// parameterize [`Plugin`](::aws_smithy_legacy_http_server::plugin::Plugin) implementations. Their traits, such as
         305  +
/// [`OperationShape`](::aws_smithy_legacy_http_server::operation::OperationShape), can be used to provide
  305    306   
/// operation specific information to the [`Layer`](::tower::Layer) being applied.
  306    307   
pub mod operation_shape;
  307    308   
  308    309   
/// Output structures for operations. Documentation on these types is copied from the model.
  309    310   
pub mod output;
  310    311   
  311    312   
/// Export PyO3 symbols in the shared library
  312    313   
pub mod python_module_export;
  313    314   
  314    315   
/// Operation adapters that delegate to Python handlers.

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

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