Server Test Python

Server Test Python

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/python_module_export.rs

@@ -1,1 +68,68 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
#[::pyo3::pymodule]
    3      3   
#[pyo3(name = "pokemon_service_server_sdk")]
    4      4   
pub fn python_library(py: ::pyo3::Python<'_>, m: &::pyo3::types::PyModule) -> ::pyo3::PyResult<()> {
    5      5   
    let input = ::pyo3::types::PyModule::new(py, "input")?;
    6      6   
    let output = ::pyo3::types::PyModule::new(py, "output")?;
    7      7   
    let error = ::pyo3::types::PyModule::new(py, "error")?;
           8  +
    input.add_class::<crate::input::GetServerStatisticsInput>()?;
           9  +
    output.add_class::<crate::output::GetServerStatisticsOutput>()?;
    8     10   
    error.add_class::<crate::error::InternalServerError>()?;
          11  +
    input.add_class::<crate::input::DoNothingInput>()?;
          12  +
    output.add_class::<crate::output::DoNothingOutput>()?;
          13  +
    input.add_class::<crate::input::CapturePokemonInput>()?;
          14  +
    output.add_class::<crate::output::CapturePokemonOutput>()?;
          15  +
    error.add_class::<crate::error::UnsupportedRegionError>()?;
          16  +
    error.add_class::<crate::error::ThrottlingError>()?;
    9     17   
    error.add_class::<crate::error::ValidationException>()?;
   10         -
    let model = ::pyo3::types::PyModule::new(py, "model")?;
   11         -
    model.add_class::<crate::model::ValidationExceptionField>()?;
   12         -
    error.add_class::<crate::error::StorageAccessNotAuthorized>()?;
          18  +
    error.add_class::<crate::error::MasterBallUnsuccessful>()?;
          19  +
    error.add_class::<crate::error::InvalidPokeballError>()?;
          20  +
    input.add_class::<crate::input::CheckHealthInput>()?;
          21  +
    output.add_class::<crate::output::CheckHealthOutput>()?;
          22  +
    input.add_class::<crate::input::StreamPokemonRadioInput>()?;
          23  +
    output.add_class::<crate::output::StreamPokemonRadioOutput>()?;
          24  +
    input.add_class::<crate::input::GetPokemonSpeciesInput>()?;
          25  +
    output.add_class::<crate::output::GetPokemonSpeciesOutput>()?;
   13     26   
    error.add_class::<crate::error::ResourceNotFoundException>()?;
   14         -
    output.add_class::<crate::output::GetStorageOutput>()?;
   15     27   
    input.add_class::<crate::input::GetStorageInput>()?;
   16         -
    output.add_class::<crate::output::GetPokemonSpeciesOutput>()?;
   17         -
    model.add_class::<crate::model::FlavorText>()?;
   18         -
    model.add_class::<crate::model::Language>()?;
   19         -
    input.add_class::<crate::input::GetPokemonSpeciesInput>()?;
   20         -
    output.add_class::<crate::output::StreamPokemonRadioOutput>()?;
   21         -
    input.add_class::<crate::input::StreamPokemonRadioInput>()?;
   22         -
    output.add_class::<crate::output::CheckHealthOutput>()?;
   23         -
    input.add_class::<crate::input::CheckHealthInput>()?;
   24         -
    error.add_class::<crate::error::InvalidPokeballError>()?;
   25         -
    error.add_class::<crate::error::MasterBallUnsuccessful>()?;
   26         -
    error.add_class::<crate::error::ThrottlingError>()?;
   27         -
    error.add_class::<crate::error::UnsupportedRegionError>()?;
   28         -
    output.add_class::<crate::output::CapturePokemonOutput>()?;
   29         -
    model.add_class::<crate::model::PyUnionMarkerCapturePokemonEvents>()?;
   30         -
    model.add_class::<crate::model::CaptureEvent>()?;
   31         -
    input.add_class::<crate::input::CapturePokemonInput>()?;
          28  +
    output.add_class::<crate::output::GetStorageOutput>()?;
          29  +
    error.add_class::<crate::error::StorageAccessNotAuthorized>()?;
          30  +
    let model = ::pyo3::types::PyModule::new(py, "model")?;
   32     31   
    model.add_class::<crate::model::PyUnionMarkerAttemptCapturingPokemonEvent>()?;
          32  +
    model.add_class::<crate::model::PyUnionMarkerCapturePokemonEvents>()?;
   33     33   
    model.add_class::<crate::model::CapturingEvent>()?;
          34  +
    model.add_class::<crate::model::CaptureEvent>()?;
          35  +
    model.add_class::<crate::model::ValidationExceptionField>()?;
          36  +
    model.add_class::<crate::model::FlavorText>()?;
   34     37   
    model.add_class::<crate::model::CapturingPayload>()?;
   35         -
    output.add_class::<crate::output::DoNothingOutput>()?;
   36         -
    input.add_class::<crate::input::DoNothingInput>()?;
   37         -
    output.add_class::<crate::output::GetServerStatisticsOutput>()?;
   38         -
    input.add_class::<crate::input::GetServerStatisticsInput>()?;
          38  +
    model.add_class::<crate::model::Language>()?;
   39     39   
    ::pyo3::py_run!(
   40     40   
        py,
   41     41   
        input,
   42     42   
        "import sys; sys.modules['pokemon_service_server_sdk.input'] = input"
   43     43   
    );
   44     44   
    m.add_submodule(input)?;
   45     45   
    ::pyo3::py_run!(
   46     46   
        py,
   47     47   
        output,
   48     48   
        "import sys; sys.modules['pokemon_service_server_sdk.output'] = output"

tmp-codegen-diff/codegen-server-test-python/pokemon-service-server-sdk/rust-server-codegen-python/src/python_operation_adaptor.rs

@@ -1,1 +353,353 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/// Python handler for operation `GetStorage`.
    3         -
pub(crate) async fn get_storage(
    4         -
    input: crate::input::GetStorageInput,
           2  +
/// Python handler for operation `GetServerStatistics`.
           3  +
pub(crate) async fn get_server_statistics(
           4  +
    input: crate::input::GetServerStatisticsInput,
    5      5   
    state: ::aws_smithy_legacy_http_server::Extension<
    6      6   
        ::aws_smithy_http_server_python::context::PyContext,
    7      7   
    >,
    8      8   
    handler: ::aws_smithy_http_server_python::PyHandler,
    9         -
) -> std::result::Result<crate::output::GetStorageOutput, crate::error::GetStorageError> {
           9  +
) -> std::result::Result<
          10  +
    crate::output::GetServerStatisticsOutput,
          11  +
    crate::error::GetServerStatisticsError,
          12  +
> {
   10     13   
    // Async block used to run the handler and catch any Python error.
   11     14   
    let result = if handler.is_coroutine {
   12         -
        ::tracing::trace!(name = "get_storage", "executing python handler coroutine");
          15  +
        ::tracing::trace!(
          16  +
            name = "get_server_statistics",
          17  +
            "executing python handler coroutine"
          18  +
        );
   13     19   
        let result = ::pyo3::Python::with_gil(|py| {
   14     20   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   15     21   
            let coroutine = if handler.args == 1 {
   16     22   
                pyhandler.call1((input,))?
   17     23   
            } else {
   18     24   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   19     25   
            };
   20     26   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   21     27   
        })?;
   22     28   
        result.await.and_then(|r| {
   23         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetStorageOutput>(py))
          29  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetServerStatisticsOutput>(py))
   24     30   
        })
   25     31   
    } else {
   26         -
        ::tracing::trace!(name = "get_storage", "executing python handler function");
          32  +
        ::tracing::trace!(
          33  +
            name = "get_server_statistics",
          34  +
            "executing python handler function"
          35  +
        );
   27     36   
        ::pyo3::Python::with_gil(|py| {
   28     37   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   29     38   
            let output = if handler.args == 1 {
   30     39   
                pyhandler.call1((input,))?
   31     40   
            } else {
   32     41   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   33     42   
            };
   34         -
            output.extract::<crate::output::GetStorageOutput>()
          43  +
            output.extract::<crate::output::GetServerStatisticsOutput>()
   35     44   
        })
   36     45   
    };
   37     46   
    // Catch and record a Python traceback.
   38     47   
    result.map_err(|e| {
   39     48   
        let rich_py_err =
   40     49   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
   41     50   
                e.clone_ref(py)
   42     51   
            }));
   43     52   
        ::tracing::error!(error = ?rich_py_err, "handler error");
   44     53   
        e.into()
   45     54   
    })
   46     55   
}
   47     56   
   48         -
/// Python handler for operation `GetPokemonSpecies`.
   49         -
pub(crate) async fn get_pokemon_species(
   50         -
    input: crate::input::GetPokemonSpeciesInput,
          57  +
/// Python handler for operation `DoNothing`.
          58  +
pub(crate) async fn do_nothing(
          59  +
    input: crate::input::DoNothingInput,
   51     60   
    state: ::aws_smithy_legacy_http_server::Extension<
   52     61   
        ::aws_smithy_http_server_python::context::PyContext,
   53     62   
    >,
   54     63   
    handler: ::aws_smithy_http_server_python::PyHandler,
   55         -
) -> std::result::Result<crate::output::GetPokemonSpeciesOutput, crate::error::GetPokemonSpeciesError>
   56         -
{
          64  +
) -> std::result::Result<crate::output::DoNothingOutput, crate::error::DoNothingError> {
   57     65   
    // Async block used to run the handler and catch any Python error.
   58     66   
    let result = if handler.is_coroutine {
   59         -
        ::tracing::trace!(
   60         -
            name = "get_pokemon_species",
   61         -
            "executing python handler coroutine"
   62         -
        );
          67  +
        ::tracing::trace!(name = "do_nothing", "executing python handler coroutine");
   63     68   
        let result = ::pyo3::Python::with_gil(|py| {
   64     69   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   65     70   
            let coroutine = if handler.args == 1 {
   66     71   
                pyhandler.call1((input,))?
   67     72   
            } else {
   68     73   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   69     74   
            };
   70     75   
            ::pyo3_asyncio::tokio::into_future(coroutine)
   71     76   
        })?;
   72     77   
        result.await.and_then(|r| {
   73         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetPokemonSpeciesOutput>(py))
          78  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::DoNothingOutput>(py))
   74     79   
        })
   75     80   
    } else {
   76         -
        ::tracing::trace!(
   77         -
            name = "get_pokemon_species",
   78         -
            "executing python handler function"
   79         -
        );
          81  +
        ::tracing::trace!(name = "do_nothing", "executing python handler function");
   80     82   
        ::pyo3::Python::with_gil(|py| {
   81     83   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
   82     84   
            let output = if handler.args == 1 {
   83     85   
                pyhandler.call1((input,))?
   84     86   
            } else {
   85     87   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
   86     88   
            };
   87         -
            output.extract::<crate::output::GetPokemonSpeciesOutput>()
          89  +
            output.extract::<crate::output::DoNothingOutput>()
   88     90   
        })
   89     91   
    };
   90     92   
    // Catch and record a Python traceback.
   91     93   
    result.map_err(|e| {
   92     94   
        let rich_py_err =
   93     95   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
   94     96   
                e.clone_ref(py)
   95     97   
            }));
   96     98   
        ::tracing::error!(error = ?rich_py_err, "handler error");
   97     99   
        e.into()
   98    100   
    })
   99    101   
}
  100    102   
  101         -
/// Python handler for operation `StreamPokemonRadio`.
  102         -
pub(crate) async fn stream_pokemon_radio(
  103         -
    input: crate::input::StreamPokemonRadioInput,
         103  +
/// Python handler for operation `CapturePokemon`.
         104  +
pub(crate) async fn capture_pokemon(
         105  +
    input: crate::input::CapturePokemonInput,
  104    106   
    state: ::aws_smithy_legacy_http_server::Extension<
  105    107   
        ::aws_smithy_http_server_python::context::PyContext,
  106    108   
    >,
  107    109   
    handler: ::aws_smithy_http_server_python::PyHandler,
  108         -
) -> std::result::Result<
  109         -
    crate::output::StreamPokemonRadioOutput,
  110         -
    crate::error::StreamPokemonRadioError,
  111         -
> {
         110  +
) -> std::result::Result<crate::output::CapturePokemonOutput, crate::error::CapturePokemonError> {
  112    111   
    // Async block used to run the handler and catch any Python error.
  113    112   
    let result = if handler.is_coroutine {
  114    113   
        ::tracing::trace!(
  115         -
            name = "stream_pokemon_radio",
         114  +
            name = "capture_pokemon",
  116    115   
            "executing python handler coroutine"
  117    116   
        );
  118    117   
        let result = ::pyo3::Python::with_gil(|py| {
  119    118   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  120    119   
            let coroutine = if handler.args == 1 {
  121    120   
                pyhandler.call1((input,))?
  122    121   
            } else {
  123    122   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  124    123   
            };
  125    124   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  126    125   
        })?;
  127    126   
        result.await.and_then(|r| {
  128         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::StreamPokemonRadioOutput>(py))
         127  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::CapturePokemonOutput>(py))
  129    128   
        })
  130    129   
    } else {
  131    130   
        ::tracing::trace!(
  132         -
            name = "stream_pokemon_radio",
         131  +
            name = "capture_pokemon",
  133    132   
            "executing python handler function"
  134    133   
        );
  135    134   
        ::pyo3::Python::with_gil(|py| {
  136    135   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  137    136   
            let output = if handler.args == 1 {
  138    137   
                pyhandler.call1((input,))?
  139    138   
            } else {
  140    139   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  141    140   
            };
  142         -
            output.extract::<crate::output::StreamPokemonRadioOutput>()
         141  +
            output.extract::<crate::output::CapturePokemonOutput>()
  143    142   
        })
  144    143   
    };
  145    144   
    // Catch and record a Python traceback.
  146    145   
    result.map_err(|e| {
  147    146   
        let rich_py_err =
  148    147   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  149    148   
                e.clone_ref(py)
  150    149   
            }));
  151    150   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  152    151   
        e.into()
  153    152   
    })
  154    153   
}
  155    154   
  156    155   
/// Python handler for operation `CheckHealth`.
  157    156   
pub(crate) async fn check_health(
  158    157   
    input: crate::input::CheckHealthInput,
  159    158   
    state: ::aws_smithy_legacy_http_server::Extension<
  160    159   
        ::aws_smithy_http_server_python::context::PyContext,
  161    160   
    >,
  162    161   
    handler: ::aws_smithy_http_server_python::PyHandler,
  163    162   
) -> std::result::Result<crate::output::CheckHealthOutput, crate::error::CheckHealthError> {
  164    163   
    // Async block used to run the handler and catch any Python error.
  165    164   
    let result = if handler.is_coroutine {
  166    165   
        ::tracing::trace!(name = "check_health", "executing python handler coroutine");
  167    166   
        let result = ::pyo3::Python::with_gil(|py| {
  168    167   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  169    168   
            let coroutine = if handler.args == 1 {
  170    169   
                pyhandler.call1((input,))?
  171    170   
            } else {
  172    171   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  173    172   
            };
  174    173   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  175    174   
        })?;
  176    175   
        result.await.and_then(|r| {
  177    176   
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::CheckHealthOutput>(py))
  178    177   
        })
  179    178   
    } else {
  180    179   
        ::tracing::trace!(name = "check_health", "executing python handler function");
  181    180   
        ::pyo3::Python::with_gil(|py| {
  182    181   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  183    182   
            let output = if handler.args == 1 {
  184    183   
                pyhandler.call1((input,))?
  185    184   
            } else {
  186    185   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  187    186   
            };
  188    187   
            output.extract::<crate::output::CheckHealthOutput>()
  189    188   
        })
  190    189   
    };
  191    190   
    // Catch and record a Python traceback.
  192    191   
    result.map_err(|e| {
  193    192   
        let rich_py_err =
  194    193   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  195    194   
                e.clone_ref(py)
  196    195   
            }));
  197    196   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  198    197   
        e.into()
  199    198   
    })
  200    199   
}
  201    200   
  202         -
/// Python handler for operation `CapturePokemon`.
  203         -
pub(crate) async fn capture_pokemon(
  204         -
    input: crate::input::CapturePokemonInput,
         201  +
/// Python handler for operation `StreamPokemonRadio`.
         202  +
pub(crate) async fn stream_pokemon_radio(
         203  +
    input: crate::input::StreamPokemonRadioInput,
  205    204   
    state: ::aws_smithy_legacy_http_server::Extension<
  206    205   
        ::aws_smithy_http_server_python::context::PyContext,
  207    206   
    >,
  208    207   
    handler: ::aws_smithy_http_server_python::PyHandler,
  209         -
) -> std::result::Result<crate::output::CapturePokemonOutput, crate::error::CapturePokemonError> {
         208  +
) -> std::result::Result<
         209  +
    crate::output::StreamPokemonRadioOutput,
         210  +
    crate::error::StreamPokemonRadioError,
         211  +
> {
  210    212   
    // Async block used to run the handler and catch any Python error.
  211    213   
    let result = if handler.is_coroutine {
  212    214   
        ::tracing::trace!(
  213         -
            name = "capture_pokemon",
         215  +
            name = "stream_pokemon_radio",
  214    216   
            "executing python handler coroutine"
  215    217   
        );
  216    218   
        let result = ::pyo3::Python::with_gil(|py| {
  217    219   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  218    220   
            let coroutine = if handler.args == 1 {
  219    221   
                pyhandler.call1((input,))?
  220    222   
            } else {
  221    223   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  222    224   
            };
  223    225   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  224    226   
        })?;
  225    227   
        result.await.and_then(|r| {
  226         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::CapturePokemonOutput>(py))
         228  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::StreamPokemonRadioOutput>(py))
  227    229   
        })
  228    230   
    } else {
  229    231   
        ::tracing::trace!(
  230         -
            name = "capture_pokemon",
         232  +
            name = "stream_pokemon_radio",
  231    233   
            "executing python handler function"
  232    234   
        );
  233    235   
        ::pyo3::Python::with_gil(|py| {
  234    236   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  235    237   
            let output = if handler.args == 1 {
  236    238   
                pyhandler.call1((input,))?
  237    239   
            } else {
  238    240   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  239    241   
            };
  240         -
            output.extract::<crate::output::CapturePokemonOutput>()
         242  +
            output.extract::<crate::output::StreamPokemonRadioOutput>()
  241    243   
        })
  242    244   
    };
  243    245   
    // Catch and record a Python traceback.
  244    246   
    result.map_err(|e| {
  245    247   
        let rich_py_err =
  246    248   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  247    249   
                e.clone_ref(py)
  248    250   
            }));
  249    251   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  250    252   
        e.into()
  251    253   
    })
  252    254   
}
  253    255   
  254         -
/// Python handler for operation `DoNothing`.
  255         -
pub(crate) async fn do_nothing(
  256         -
    input: crate::input::DoNothingInput,
         256  +
/// Python handler for operation `GetPokemonSpecies`.
         257  +
pub(crate) async fn get_pokemon_species(
         258  +
    input: crate::input::GetPokemonSpeciesInput,
  257    259   
    state: ::aws_smithy_legacy_http_server::Extension<
  258    260   
        ::aws_smithy_http_server_python::context::PyContext,
  259    261   
    >,
  260    262   
    handler: ::aws_smithy_http_server_python::PyHandler,
  261         -
) -> std::result::Result<crate::output::DoNothingOutput, crate::error::DoNothingError> {
         263  +
) -> std::result::Result<crate::output::GetPokemonSpeciesOutput, crate::error::GetPokemonSpeciesError>
         264  +
{
  262    265   
    // Async block used to run the handler and catch any Python error.
  263    266   
    let result = if handler.is_coroutine {
  264         -
        ::tracing::trace!(name = "do_nothing", "executing python handler coroutine");
         267  +
        ::tracing::trace!(
         268  +
            name = "get_pokemon_species",
         269  +
            "executing python handler coroutine"
         270  +
        );
  265    271   
        let result = ::pyo3::Python::with_gil(|py| {
  266    272   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  267    273   
            let coroutine = if handler.args == 1 {
  268    274   
                pyhandler.call1((input,))?
  269    275   
            } else {
  270    276   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  271    277   
            };
  272    278   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  273    279   
        })?;
  274    280   
        result.await.and_then(|r| {
  275         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::DoNothingOutput>(py))
         281  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetPokemonSpeciesOutput>(py))
  276    282   
        })
  277    283   
    } else {
  278         -
        ::tracing::trace!(name = "do_nothing", "executing python handler function");
         284  +
        ::tracing::trace!(
         285  +
            name = "get_pokemon_species",
         286  +
            "executing python handler function"
         287  +
        );
  279    288   
        ::pyo3::Python::with_gil(|py| {
  280    289   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  281    290   
            let output = if handler.args == 1 {
  282    291   
                pyhandler.call1((input,))?
  283    292   
            } else {
  284    293   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  285    294   
            };
  286         -
            output.extract::<crate::output::DoNothingOutput>()
         295  +
            output.extract::<crate::output::GetPokemonSpeciesOutput>()
  287    296   
        })
  288    297   
    };
  289    298   
    // Catch and record a Python traceback.
  290    299   
    result.map_err(|e| {
  291    300   
        let rich_py_err =
  292    301   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  293    302   
                e.clone_ref(py)
  294    303   
            }));
  295    304   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  296    305   
        e.into()
  297    306   
    })
  298    307   
}
  299    308   
  300         -
/// Python handler for operation `GetServerStatistics`.
  301         -
pub(crate) async fn get_server_statistics(
  302         -
    input: crate::input::GetServerStatisticsInput,
         309  +
/// Python handler for operation `GetStorage`.
         310  +
pub(crate) async fn get_storage(
         311  +
    input: crate::input::GetStorageInput,
  303    312   
    state: ::aws_smithy_legacy_http_server::Extension<
  304    313   
        ::aws_smithy_http_server_python::context::PyContext,
  305    314   
    >,
  306    315   
    handler: ::aws_smithy_http_server_python::PyHandler,
  307         -
) -> std::result::Result<
  308         -
    crate::output::GetServerStatisticsOutput,
  309         -
    crate::error::GetServerStatisticsError,
  310         -
> {
         316  +
) -> std::result::Result<crate::output::GetStorageOutput, crate::error::GetStorageError> {
  311    317   
    // Async block used to run the handler and catch any Python error.
  312    318   
    let result = if handler.is_coroutine {
  313         -
        ::tracing::trace!(
  314         -
            name = "get_server_statistics",
  315         -
            "executing python handler coroutine"
  316         -
        );
         319  +
        ::tracing::trace!(name = "get_storage", "executing python handler coroutine");
  317    320   
        let result = ::pyo3::Python::with_gil(|py| {
  318    321   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  319    322   
            let coroutine = if handler.args == 1 {
  320    323   
                pyhandler.call1((input,))?
  321    324   
            } else {
  322    325   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  323    326   
            };
  324    327   
            ::pyo3_asyncio::tokio::into_future(coroutine)
  325    328   
        })?;
  326    329   
        result.await.and_then(|r| {
  327         -
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetServerStatisticsOutput>(py))
         330  +
            ::pyo3::Python::with_gil(|py| r.extract::<crate::output::GetStorageOutput>(py))
  328    331   
        })
  329    332   
    } else {
  330         -
        ::tracing::trace!(
  331         -
            name = "get_server_statistics",
  332         -
            "executing python handler function"
  333         -
        );
         333  +
        ::tracing::trace!(name = "get_storage", "executing python handler function");
  334    334   
        ::pyo3::Python::with_gil(|py| {
  335    335   
            let pyhandler: &::pyo3::types::PyFunction = handler.extract(py)?;
  336    336   
            let output = if handler.args == 1 {
  337    337   
                pyhandler.call1((input,))?
  338    338   
            } else {
  339    339   
                pyhandler.call1((input, ::pyo3::ToPyObject::to_object(&state.0, py)))?
  340    340   
            };
  341         -
            output.extract::<crate::output::GetServerStatisticsOutput>()
         341  +
            output.extract::<crate::output::GetStorageOutput>()
  342    342   
        })
  343    343   
    };
  344    344   
    // Catch and record a Python traceback.
  345    345   
    result.map_err(|e| {
  346    346   
        let rich_py_err =
  347    347   
            ::aws_smithy_http_server_python::rich_py_err(::pyo3::Python::with_gil(|py| {
  348    348   
                e.clone_ref(py)
  349    349   
            }));
  350    350   
        ::tracing::error!(error = ?rich_py_err, "handler error");
  351    351   
        e.into()

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

@@ -1,1 +65,73 @@
    2      2   
[package]
    3      3   
name = "rest_json"
    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#restJson1"
          12  +
[dependencies.aws-smithy-eventstream]
          13  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-eventstream"
   12     14   
[dependencies.aws-smithy-http-server-python]
   13     15   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-http-server-python"
   14     16   
[dependencies.aws-smithy-json]
   15     17   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-json"
   16     18   
[dependencies.aws-smithy-legacy-http]
   17     19   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http"
          20  +
features = ["event-stream"]
   18     21   
[dependencies.aws-smithy-legacy-http-server]
   19     22   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http-server"
   20     23   
[dependencies.aws-smithy-runtime-api]
   21     24   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime-api"
   22         -
features = ["http-02x"]
          25  +
features = ["http-02x", "client", "http-1x"]
   23     26   
[dependencies.aws-smithy-types]
   24     27   
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
   25     28   
features = ["http-body-0-4-x"]
   26     29   
[dependencies.form_urlencoded]
   27     30   
version = "1"
   28     31   
[dependencies.futures-util]
   29     32   
version = "0.3"
   30     33   
[dependencies.http]
   31     34   
version = "0.2.9"
   32     35   
[dependencies.hyper]
   33     36   
version = "0.14.26"
   34     37   
[dependencies.mime]
   35     38   
version = "0.3"
   36     39   
[dependencies.nom]
   37     40   
version = "7"
   38     41   
[dependencies.parking_lot]
   39     42   
version = "0.12"
   40     43   
[dependencies.percent-encoding]
   41     44   
version = "2.0.0"
   42     45   
[dependencies.pin-project-lite]
   43     46   
version = "0.2"
   44     47   
[dependencies.pyo3]
   45     48   
version = "0.20"
   46     49   
[dependencies.pyo3-asyncio]
   47     50   
version = "0.20"
   48         -
features = ["attributes", "tokio-runtime"]
          51  +
features = ["attributes", "tokio-runtime", "unstable-streams"]
          52  +
[dependencies.tokio]
          53  +
version = "1.20.1"
          54  +
features = ["full"]
          55  +
[dependencies.tokio-stream]
          56  +
version = "0.1.12"
   49     57   
[dependencies.tower]
   50     58   
version = "0.4"
   51     59   
[dependencies.tracing]
   52     60   
version = "0.1"
   53     61   
[dev-dependencies.tokio]
   54     62   
version = "1.23.1"
   55     63   
[features]
   56     64   
aws-lambda = ["aws-smithy-legacy-http-server/aws-lambda"]
   57     65   
request-id = ["aws-smithy-legacy-http-server/request-id"]
   58     66   
rt-tokio = ["aws-smithy-types/http-body-1-x", "aws-smithy-types/rt-tokio"]

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

@@ -1,0 +1484,0 @@
    1         -
import rest_json.input
    2         -
import rest_json.middleware
    3         -
import rest_json.output
    4         -
import rest_json.tls
    5         -
import typing
    6         -
    7         -
Ctx = typing.TypeVar('Ctx')
    8         -
    9         -
class App(typing.Generic[Ctx]):
   10         -
    """
   11         -
    Main Python application, used to register operations and context and start multiple
   12         -
    workers on the same shared socket.
   13         -
   14         -
    Operations can be registered using the application object as a decorator (`@app.operation_name`).
   15         -
   16         -
    Here's a full example to get you started:
   17         -
   18         -
    ```python
   19         -
    from rest_json import input
   20         -
    from rest_json import output
   21         -
    from rest_json import error
   22         -
    from rest_json import middleware
   23         -
    from rest_json import App
   24         -
   25         -
    @dataclass
   26         -
    class Context:
   27         -
        counter: int = 0
   28         -
   29         -
    app = App()
   30         -
    app.context(Context())
   31         -
   32         -
    @app.request_middleware
   33         -
    def request_middleware(request: middleware::Request):
   34         -
        if request.get_header("x-amzn-id") != "secret":
   35         -
            raise middleware.MiddlewareException("Unsupported `x-amz-id` header", 401)
   36         -
   37         -
    # This example uses all query string types.
   38         -
    @app.all_query_string_types
   39         -
    def all_query_string_types(input: input::AllQueryStringTypesInput, ctx: Context) -> output::AllQueryStringTypesOutput:
   40         -
        raise NotImplementedError
   41         -
   42         -
    # This example uses fixed query string params and variable query string params.
   43         -
    # The fixed query string parameters and variable parameters must both be
   44         -
    # serialized (implementations may need to merge them together).
   45         -
    @app.constant_and_variable_query_string
   46         -
    def constant_and_variable_query_string(input: input::ConstantAndVariableQueryStringInput, ctx: Context) -> output::ConstantAndVariableQueryStringOutput:
   47         -
        raise NotImplementedError
   48         -
   49         -
    # This example uses a constant query string parameters and a label.
   50         -
    # This simply tests that labels and query string parameters are
   51         -
    # compatible. The fixed query string parameter named "hello" should
   52         -
    # in no way conflict with the label, `{hello}`.
   53         -
    @app.constant_query_string
   54         -
    def constant_query_string(input: input::ConstantQueryStringInput, ctx: Context) -> output::ConstantQueryStringOutput:
   55         -
        raise NotImplementedError
   56         -
   57         -
    # The example tests how servers must support requests
   58         -
    # containing a `Content-Type` header with parameters.
   59         -
    @app.content_type_parameters
   60         -
    def content_type_parameters(input: input::ContentTypeParametersInput, ctx: Context) -> output::ContentTypeParametersOutput:
   61         -
        raise NotImplementedError
   62         -
   63         -
    @app.datetime_offsets
   64         -
    def datetime_offsets(input: input::DatetimeOffsetsInput, ctx: Context) -> output::DatetimeOffsetsOutput:
   65         -
        raise NotImplementedError
   66         -
   67         -
    # This example serializes a document as part of the payload.
   68         -
    @app.document_type
   69         -
    def document_type(input: input::DocumentTypeInput, ctx: Context) -> output::DocumentTypeOutput:
   70         -
        raise NotImplementedError
   71         -
   72         -
    # This example serializes documents as the value of maps.
   73         -
    @app.document_type_as_map_value
   74         -
    def document_type_as_map_value(input: input::DocumentTypeAsMapValueInput, ctx: Context) -> output::DocumentTypeAsMapValueOutput:
   75         -
        raise NotImplementedError
   76         -
   77         -
    # This example serializes a document as the entire HTTP payload.
   78         -
    @app.document_type_as_payload
   79         -
    def document_type_as_payload(input: input::DocumentTypeAsPayloadInput, ctx: Context) -> output::DocumentTypeAsPayloadOutput:
   80         -
        raise NotImplementedError
   81         -
   82         -
    # The example tests how requests and responses are serialized when there's
   83         -
    # no request or response payload because the operation has an empty input
   84         -
    # and empty output structure that reuses the same shape. While this should
   85         -
    # be rare, code generators must support this.
   86         -
    @app.empty_input_and_empty_output
   87         -
    def empty_input_and_empty_output(input: input::EmptyInputAndEmptyOutputInput, ctx: Context) -> output::EmptyInputAndEmptyOutputOutput:
   88         -
        raise NotImplementedError
   89         -
   90         -
    @app.endpoint_operation
   91         -
    def endpoint_operation(input: input::EndpointOperationInput, ctx: Context) -> output::EndpointOperationOutput:
   92         -
        raise NotImplementedError
   93         -
   94         -
    @app.endpoint_with_host_label_operation
   95         -
    def endpoint_with_host_label_operation(input: input::EndpointWithHostLabelOperationInput, ctx: Context) -> output::EndpointWithHostLabelOperationOutput:
   96         -
        raise NotImplementedError
   97         -
   98         -
    @app.fractional_seconds
   99         -
    def fractional_seconds(input: input::FractionalSecondsInput, ctx: Context) -> output::FractionalSecondsOutput:
  100         -
        raise NotImplementedError
  101         -
  102         -
    # This operation has four possible return values:
  103         -
    #
  104         -
    # 1. A successful response in the form of GreetingWithErrorsOutput
  105         -
    # 2. An InvalidGreeting error.
  106         -
    # 3. A BadRequest error.
  107         -
    # 4. A FooError.
  108         -
    #
  109         -
    # Implementations must be able to successfully take a response and
  110         -
    # properly (de)serialize successful and error responses based on the
  111         -
    # the presence of the
  112         -
    @app.greeting_with_errors
  113         -
    def greeting_with_errors(input: input::GreetingWithErrorsInput, ctx: Context) -> output::GreetingWithErrorsOutput:
  114         -
        raise NotImplementedError
  115         -
  116         -
    @app.host_with_path_operation
  117         -
    def host_with_path_operation(input: input::HostWithPathOperationInput, ctx: Context) -> output::HostWithPathOperationOutput:
  118         -
        raise NotImplementedError
  119         -
  120         -
    # This example tests httpChecksumRequired trait
  121         -
    @app.http_checksum_required
  122         -
    def http_checksum_required(input: input::HttpChecksumRequiredInput, ctx: Context) -> output::HttpChecksumRequiredOutput:
  123         -
        raise NotImplementedError
  124         -
  125         -
    # Clients that perform this test extract all headers from the response.
  126         -
    @app.http_empty_prefix_headers
  127         -
    def http_empty_prefix_headers(input: input::HttpEmptyPrefixHeadersInput, ctx: Context) -> output::HttpEmptyPrefixHeadersOutput:
  128         -
        raise NotImplementedError
  129         -
  130         -
    @app.http_enum_payload
  131         -
    def http_enum_payload(input: input::HttpEnumPayloadInput, ctx: Context) -> output::HttpEnumPayloadOutput:
  132         -
        raise NotImplementedError
  133         -
  134         -
    # This example serializes a blob shape in the payload.
  135         -
    #
  136         -
    # In this example, no JSON document is synthesized because the payload is
  137         -
    # not a structure or a union type.
  138         -
    @app.http_payload_traits
  139         -
    def http_payload_traits(input: input::HttpPayloadTraitsInput, ctx: Context) -> output::HttpPayloadTraitsOutput:
  140         -
        raise NotImplementedError
  141         -
  142         -
    # This example uses a `@mediaType` trait on the payload to force a custom
  143         -
    # content-type to be serialized.
  144         -
    @app.http_payload_traits_with_media_type
  145         -
    def http_payload_traits_with_media_type(input: input::HttpPayloadTraitsWithMediaTypeInput, ctx: Context) -> output::HttpPayloadTraitsWithMediaTypeOutput:
  146         -
        raise NotImplementedError
  147         -
  148         -
    # This example serializes a structure in the payload.
  149         -
    #
  150         -
    # Note that serializing a structure changes the wrapper element name
  151         -
    # to match the targeted structure.
  152         -
    @app.http_payload_with_structure
  153         -
    def http_payload_with_structure(input: input::HttpPayloadWithStructureInput, ctx: Context) -> output::HttpPayloadWithStructureOutput:
  154         -
        raise NotImplementedError
  155         -
  156         -
    # This example serializes a union in the payload.
  157         -
    @app.http_payload_with_union
  158         -
    def http_payload_with_union(input: input::HttpPayloadWithUnionInput, ctx: Context) -> output::HttpPayloadWithUnionOutput:
  159         -
        raise NotImplementedError
  160         -
  161         -
    # This examples adds headers to the input of a request and response by prefix.
  162         -
    @app.http_prefix_headers
  163         -
    def http_prefix_headers(input: input::HttpPrefixHeadersInput, ctx: Context) -> output::HttpPrefixHeadersOutput:
  164         -
        raise NotImplementedError
  165         -
  166         -
    # Clients that perform this test extract all headers from the response.
  167         -
    @app.http_prefix_headers_in_response
  168         -
    def http_prefix_headers_in_response(input: input::HttpPrefixHeadersInResponseInput, ctx: Context) -> output::HttpPrefixHeadersInResponseOutput:
  169         -
        raise NotImplementedError
  170         -
  171         -
    @app.http_request_with_float_labels
  172         -
    def http_request_with_float_labels(input: input::HttpRequestWithFloatLabelsInput, ctx: Context) -> output::HttpRequestWithFloatLabelsOutput:
  173         -
        raise NotImplementedError
  174         -
  175         -
    @app.http_request_with_greedy_label_in_path
  176         -
    def http_request_with_greedy_label_in_path(input: input::HttpRequestWithGreedyLabelInPathInput, ctx: Context) -> output::HttpRequestWithGreedyLabelInPathOutput:
  177         -
        raise NotImplementedError
  178         -
  179         -
    # The example tests how requests are serialized when there's no input
  180         -
    # payload but there are HTTP labels.
  181         -
    @app.http_request_with_labels
  182         -
    def http_request_with_labels(input: input::HttpRequestWithLabelsInput, ctx: Context) -> output::HttpRequestWithLabelsOutput:
  183         -
        raise NotImplementedError
  184         -
  185         -
    # The example tests how requests serialize different timestamp formats in the
  186         -
    # URI path.
  187         -
    @app.http_request_with_labels_and_timestamp_format
  188         -
    def http_request_with_labels_and_timestamp_format(input: input::HttpRequestWithLabelsAndTimestampFormatInput, ctx: Context) -> output::HttpRequestWithLabelsAndTimestampFormatOutput:
  189         -
        raise NotImplementedError
  190         -
  191         -
    @app.http_request_with_regex_literal
  192         -
    def http_request_with_regex_literal(input: input::HttpRequestWithRegexLiteralInput, ctx: Context) -> output::HttpRequestWithRegexLiteralOutput:
  193         -
        raise NotImplementedError
  194         -
  195         -
    @app.http_response_code
  196         -
    def http_response_code(input: input::HttpResponseCodeInput, ctx: Context) -> output::HttpResponseCodeOutput:
  197         -
        raise NotImplementedError
  198         -
  199         -
    @app.http_string_payload
  200         -
    def http_string_payload(input: input::HttpStringPayloadInput, ctx: Context) -> output::HttpStringPayloadOutput:
  201         -
        raise NotImplementedError
  202         -
  203         -
    # This example ensures that query string bound request parameters are
  204         -
    # serialized in the body of responses if the structure is used in both
  205         -
    # the request and response.
  206         -
    @app.ignore_query_params_in_response
  207         -
    def ignore_query_params_in_response(input: input::IgnoreQueryParamsInResponseInput, ctx: Context) -> output::IgnoreQueryParamsInResponseOutput:
  208         -
        raise NotImplementedError
  209         -
  210         -
    # The example tests how requests and responses are serialized when there is
  211         -
    # no input or output payload but there are HTTP header bindings.
  212         -
    @app.input_and_output_with_headers
  213         -
    def input_and_output_with_headers(input: input::InputAndOutputWithHeadersInput, ctx: Context) -> output::InputAndOutputWithHeadersOutput:
  214         -
        raise NotImplementedError
  215         -
  216         -
    # Blobs are base64 encoded
  217         -
    @app.json_blobs
  218         -
    def json_blobs(input: input::JsonBlobsInput, ctx: Context) -> output::JsonBlobsOutput:
  219         -
        raise NotImplementedError
  220         -
  221         -
    # This example serializes enums as top level properties, in lists, sets, and maps.
  222         -
    @app.json_enums
  223         -
    def json_enums(input: input::JsonEnumsInput, ctx: Context) -> output::JsonEnumsOutput:
  224         -
        raise NotImplementedError
  225         -
  226         -
    # This example serializes intEnums as top level properties, in lists, sets, and maps.
  227         -
    @app.json_int_enums
  228         -
    def json_int_enums(input: input::JsonIntEnumsInput, ctx: Context) -> output::JsonIntEnumsOutput:
  229         -
        raise NotImplementedError
  230         -
  231         -
    # This test case serializes JSON lists for the following cases for both
  232         -
    # input and output:
  233         -
    #
  234         -
    # 1. Normal JSON lists.
  235         -
    # 2. Normal JSON sets.
  236         -
    # 3. JSON lists of lists.
  237         -
    # 4. Lists of structures.
  238         -
    @app.json_lists
  239         -
    def json_lists(input: input::JsonListsInput, ctx: Context) -> output::JsonListsOutput:
  240         -
        raise NotImplementedError
  241         -
  242         -
    # The example tests basic map serialization.
  243         -
    @app.json_maps
  244         -
    def json_maps(input: input::JsonMapsInput, ctx: Context) -> output::JsonMapsOutput:
  245         -
        raise NotImplementedError
  246         -
  247         -
    # This tests how timestamps are serialized, including using the
  248         -
    # default format of date-time and various @timestampFormat trait
  249         -
    # values.
  250         -
    @app.json_timestamps
  251         -
    def json_timestamps(input: input::JsonTimestampsInput, ctx: Context) -> output::JsonTimestampsOutput:
  252         -
        raise NotImplementedError
  253         -
  254         -
    # This operation uses unions for inputs and outputs.
  255         -
    @app.json_unions
  256         -
    def json_unions(input: input::JsonUnionsInput, ctx: Context) -> output::JsonUnionsOutput:
  257         -
        raise NotImplementedError
  258         -
  259         -
    @app.malformed_accept_with_body
  260         -
    def malformed_accept_with_body(input: input::MalformedAcceptWithBodyInput, ctx: Context) -> output::MalformedAcceptWithBodyOutput:
  261         -
        raise NotImplementedError
  262         -
  263         -
    @app.malformed_accept_with_generic_string
  264         -
    def malformed_accept_with_generic_string(input: input::MalformedAcceptWithGenericStringInput, ctx: Context) -> output::MalformedAcceptWithGenericStringOutput:
  265         -
        raise NotImplementedError
  266         -
  267         -
    @app.malformed_accept_with_payload
  268         -
    def malformed_accept_with_payload(input: input::MalformedAcceptWithPayloadInput, ctx: Context) -> output::MalformedAcceptWithPayloadOutput:
  269         -
        raise NotImplementedError
  270         -
  271         -
    @app.malformed_blob
  272         -
    def malformed_blob(input: input::MalformedBlobInput, ctx: Context) -> output::MalformedBlobOutput:
  273         -
        raise NotImplementedError
  274         -
  275         -
    @app.malformed_boolean
  276         -
    def malformed_boolean(input: input::MalformedBooleanInput, ctx: Context) -> output::MalformedBooleanOutput:
  277         -
        raise NotImplementedError
  278         -
  279         -
    @app.malformed_byte
  280         -
    def malformed_byte(input: input::MalformedByteInput, ctx: Context) -> output::MalformedByteOutput:
  281         -
        raise NotImplementedError
  282         -
  283         -
    @app.malformed_content_type_with_body
  284         -
    def malformed_content_type_with_body(input: input::MalformedContentTypeWithBodyInput, ctx: Context) -> output::MalformedContentTypeWithBodyOutput:
  285         -
        raise NotImplementedError
  286         -
  287         -
    @app.malformed_content_type_with_generic_string
  288         -
    def malformed_content_type_with_generic_string(input: input::MalformedContentTypeWithGenericStringInput, ctx: Context) -> output::MalformedContentTypeWithGenericStringOutput:
  289         -
        raise NotImplementedError
  290         -
  291         -
    @app.malformed_content_type_without_body
  292         -
    def malformed_content_type_without_body(input: input::MalformedContentTypeWithoutBodyInput, ctx: Context) -> output::MalformedContentTypeWithoutBodyOutput:
  293         -
        raise NotImplementedError
  294         -
  295         -
    @app.malformed_content_type_without_body_empty_input
  296         -
    def malformed_content_type_without_body_empty_input(input: input::MalformedContentTypeWithoutBodyEmptyInputInput, ctx: Context) -> output::MalformedContentTypeWithoutBodyEmptyInputOutput:
  297         -
        raise NotImplementedError
  298         -
  299         -
    @app.malformed_content_type_with_payload
  300         -
    def malformed_content_type_with_payload(input: input::MalformedContentTypeWithPayloadInput, ctx: Context) -> output::MalformedContentTypeWithPayloadOutput:
  301         -
        raise NotImplementedError
  302         -
  303         -
    @app.malformed_double
  304         -
    def malformed_double(input: input::MalformedDoubleInput, ctx: Context) -> output::MalformedDoubleOutput:
  305         -
        raise NotImplementedError
  306         -
  307         -
    @app.malformed_float
  308         -
    def malformed_float(input: input::MalformedFloatInput, ctx: Context) -> output::MalformedFloatOutput:
  309         -
        raise NotImplementedError
  310         -
  311         -
    @app.malformed_integer
  312         -
    def malformed_integer(input: input::MalformedIntegerInput, ctx: Context) -> output::MalformedIntegerOutput:
  313         -
        raise NotImplementedError
  314         -
  315         -
    @app.malformed_list
  316         -
    def malformed_list(input: input::MalformedListInput, ctx: Context) -> output::MalformedListOutput:
  317         -
        raise NotImplementedError
  318         -
  319         -
    @app.malformed_long
  320         -
    def malformed_long(input: input::MalformedLongInput, ctx: Context) -> output::MalformedLongOutput:
  321         -
        raise NotImplementedError
  322         -
  323         -
    @app.malformed_map
  324         -
    def malformed_map(input: input::MalformedMapInput, ctx: Context) -> output::MalformedMapOutput:
  325         -
        raise NotImplementedError
  326         -
  327         -
    @app.malformed_request_body
  328         -
    def malformed_request_body(input: input::MalformedRequestBodyInput, ctx: Context) -> output::MalformedRequestBodyOutput:
  329         -
        raise NotImplementedError
  330         -
  331         -
    @app.malformed_short
  332         -
    def malformed_short(input: input::MalformedShortInput, ctx: Context) -> output::MalformedShortOutput:
  333         -
        raise NotImplementedError
  334         -
  335         -
    @app.malformed_string
  336         -
    def malformed_string(input: input::MalformedStringInput, ctx: Context) -> output::MalformedStringOutput:
  337         -
        raise NotImplementedError
  338         -
  339         -
    @app.malformed_timestamp_body_date_time
  340         -
    def malformed_timestamp_body_date_time(input: input::MalformedTimestampBodyDateTimeInput, ctx: Context) -> output::MalformedTimestampBodyDateTimeOutput:
  341         -
        raise NotImplementedError
  342         -
  343         -
    @app.malformed_timestamp_body_default
  344         -
    def malformed_timestamp_body_default(input: input::MalformedTimestampBodyDefaultInput, ctx: Context) -> output::MalformedTimestampBodyDefaultOutput:
  345         -
        raise NotImplementedError
  346         -
  347         -
    @app.malformed_timestamp_body_http_date
  348         -
    def malformed_timestamp_body_http_date(input: input::MalformedTimestampBodyHttpDateInput, ctx: Context) -> output::MalformedTimestampBodyHttpDateOutput:
  349         -
        raise NotImplementedError
  350         -
  351         -
    @app.malformed_timestamp_header_date_time
  352         -
    def malformed_timestamp_header_date_time(input: input::MalformedTimestampHeaderDateTimeInput, ctx: Context) -> output::MalformedTimestampHeaderDateTimeOutput:
  353         -
        raise NotImplementedError
  354         -
  355         -
    @app.malformed_timestamp_header_default
  356         -
    def malformed_timestamp_header_default(input: input::MalformedTimestampHeaderDefaultInput, ctx: Context) -> output::MalformedTimestampHeaderDefaultOutput:
  357         -
        raise NotImplementedError
  358         -
  359         -
    @app.malformed_timestamp_header_epoch
  360         -
    def malformed_timestamp_header_epoch(input: input::MalformedTimestampHeaderEpochInput, ctx: Context) -> output::MalformedTimestampHeaderEpochOutput:
  361         -
        raise NotImplementedError
  362         -
  363         -
    @app.malformed_timestamp_path_default
  364         -
    def malformed_timestamp_path_default(input: input::MalformedTimestampPathDefaultInput, ctx: Context) -> output::MalformedTimestampPathDefaultOutput:
  365         -
        raise NotImplementedError
  366         -
  367         -
    @app.malformed_timestamp_path_epoch
  368         -
    def malformed_timestamp_path_epoch(input: input::MalformedTimestampPathEpochInput, ctx: Context) -> output::MalformedTimestampPathEpochOutput:
  369         -
        raise NotImplementedError
  370         -
  371         -
    @app.malformed_timestamp_path_http_date
  372         -
    def malformed_timestamp_path_http_date(input: input::MalformedTimestampPathHttpDateInput, ctx: Context) -> output::MalformedTimestampPathHttpDateOutput:
  373         -
        raise NotImplementedError
  374         -
  375         -
    @app.malformed_timestamp_query_default
  376         -
    def malformed_timestamp_query_default(input: input::MalformedTimestampQueryDefaultInput, ctx: Context) -> output::MalformedTimestampQueryDefaultOutput:
  377         -
        raise NotImplementedError
  378         -
  379         -
    @app.malformed_timestamp_query_epoch
  380         -
    def malformed_timestamp_query_epoch(input: input::MalformedTimestampQueryEpochInput, ctx: Context) -> output::MalformedTimestampQueryEpochOutput:
  381         -
        raise NotImplementedError
  382         -
  383         -
    @app.malformed_timestamp_query_http_date
  384         -
    def malformed_timestamp_query_http_date(input: input::MalformedTimestampQueryHttpDateInput, ctx: Context) -> output::MalformedTimestampQueryHttpDateOutput:
  385         -
        raise NotImplementedError
  386         -
  387         -
    @app.malformed_union
  388         -
    def malformed_union(input: input::MalformedUnionInput, ctx: Context) -> output::MalformedUnionOutput:
  389         -
        raise NotImplementedError
  390         -
  391         -
    # This example ensures that mediaType strings are base64 encoded in headers.
  392         -
    @app.media_type_header
  393         -
    def media_type_header(input: input::MediaTypeHeaderInput, ctx: Context) -> output::MediaTypeHeaderOutput:
  394         -
        raise NotImplementedError
  395         -
  396         -
    # The example tests how requests and responses are serialized when there's
  397         -
    # no request or response payload because the operation has no input or output.
  398         -
    # While this should be rare, code generators must support this.
  399         -
    @app.no_input_and_no_output
  400         -
    def no_input_and_no_output(input: input::NoInputAndNoOutputInput, ctx: Context) -> output::NoInputAndNoOutputOutput:
  401         -
        raise NotImplementedError
  402         -
  403         -
    # The example tests how requests and responses are serialized when there's
  404         -
    # no request or response payload because the operation has no input and the
  405         -
    # output is empty. While this should be rare, code generators must support
  406         -
    # this.
  407         -
    @app.no_input_and_output
  408         -
    def no_input_and_output(input: input::NoInputAndOutputInput, ctx: Context) -> output::NoInputAndOutputOutput:
  409         -
        raise NotImplementedError
  410         -
  411         -
    # Null headers are not sent over the wire, empty headers are serialized to ""
  412         -
    @app.null_and_empty_headers_client
  413         -
    def null_and_empty_headers_client(input: input::NullAndEmptyHeadersClientInput, ctx: Context) -> output::NullAndEmptyHeadersClientOutput:
  414         -
        raise NotImplementedError
  415         -
  416         -
    # Null headers are not sent over the wire, empty headers are serialized to ""
  417         -
    @app.null_and_empty_headers_server
  418         -
    def null_and_empty_headers_server(input: input::NullAndEmptyHeadersServerInput, ctx: Context) -> output::NullAndEmptyHeadersServerOutput:
  419         -
        raise NotImplementedError
  420         -
  421         -
    # Omits null, but serializes empty string value.
  422         -
    @app.omits_null_serializes_empty_string
  423         -
    def omits_null_serializes_empty_string(input: input::OmitsNullSerializesEmptyStringInput, ctx: Context) -> output::OmitsNullSerializesEmptyStringOutput:
  424         -
        raise NotImplementedError
  425         -
  426         -
    # Omits serializing empty lists. Because empty strings are serilized as
  427         -
    # `Foo=`, empty lists cannot also be serialized as `Foo=` and instead
  428         -
    # must be omitted.
  429         -
    @app.omits_serializing_empty_lists
  430         -
    def omits_serializing_empty_lists(input: input::OmitsSerializingEmptyListsInput, ctx: Context) -> output::OmitsSerializingEmptyListsOutput:
  431         -
        raise NotImplementedError
  432         -
  433         -
    @app.operation_with_defaults
  434         -
    def operation_with_defaults(input: input::OperationWithDefaultsInput, ctx: Context) -> output::OperationWithDefaultsOutput:
  435         -
        raise NotImplementedError
  436         -
  437         -
    @app.operation_with_nested_structure
  438         -
    def operation_with_nested_structure(input: input::OperationWithNestedStructureInput, ctx: Context) -> output::OperationWithNestedStructureOutput:
  439         -
        raise NotImplementedError
  440         -
  441         -
    # This operation defines a union with a Unit member.
  442         -
    @app.post_player_action
  443         -
    def post_player_action(input: input::PostPlayerActionInput, ctx: Context) -> output::PostPlayerActionOutput:
  444         -
        raise NotImplementedError
  445         -
  446         -
    # This operation defines a union that uses jsonName on some members.
  447         -
    @app.post_union_with_json_name
  448         -
    def post_union_with_json_name(input: input::PostUnionWithJsonNameInput, ctx: Context) -> output::PostUnionWithJsonNameOutput:
  449         -
        raise NotImplementedError
  450         -
  451         -
    @app.put_with_content_encoding
  452         -
    def put_with_content_encoding(input: input::PutWithContentEncodingInput, ctx: Context) -> output::PutWithContentEncodingOutput:
  453         -
        raise NotImplementedError
  454         -
  455         -
    # Automatically adds idempotency tokens.
  456         -
    @app.query_idempotency_token_auto_fill
  457         -
    def query_idempotency_token_auto_fill(input: input::QueryIdempotencyTokenAutoFillInput, ctx: Context) -> output::QueryIdempotencyTokenAutoFillOutput:
  458         -
        raise NotImplementedError
  459         -
  460         -
    @app.query_params_as_string_list_map
  461         -
    def query_params_as_string_list_map(input: input::QueryParamsAsStringListMapInput, ctx: Context) -> output::QueryParamsAsStringListMapOutput:
  462         -
        raise NotImplementedError
  463         -
  464         -
    @app.query_precedence
  465         -
    def query_precedence(input: input::QueryPrecedenceInput, ctx: Context) -> output::QueryPrecedenceOutput:
  466         -
        raise NotImplementedError
  467         -
  468         -
    # Recursive shapes
  469         -
    @app.recursive_shapes
  470         -
    def recursive_shapes(input: input::RecursiveShapesInput, ctx: Context) -> output::RecursiveShapesOutput:
  471         -
        raise NotImplementedError
  472         -
  473         -
    @app.response_code_http_fallback
  474         -
    def response_code_http_fallback(input: input::ResponseCodeHttpFallbackInput, ctx: Context) -> output::ResponseCodeHttpFallbackOutput:
  475         -
        raise NotImplementedError
  476         -
  477         -
    @app.response_code_required
  478         -
    def response_code_required(input: input::ResponseCodeRequiredInput, ctx: Context) -> output::ResponseCodeRequiredOutput:
  479         -
        raise NotImplementedError
  480         -
  481         -
    @app.simple_scalar_properties
  482         -
    def simple_scalar_properties(input: input::SimpleScalarPropertiesInput, ctx: Context) -> output::SimpleScalarPropertiesOutput:
  483         -
        raise NotImplementedError
  484         -
  485         -
    @app.sparse_json_lists
  486         -
    def sparse_json_lists(input: input::SparseJsonListsInput, ctx: Context) -> output::SparseJsonListsOutput:
  487         -
        raise NotImplementedError
  488         -
  489         -
    # This example tests sparse map serialization.
  490         -
    @app.sparse_json_maps
  491         -
    def sparse_json_maps(input: input::SparseJsonMapsInput, ctx: Context) -> output::SparseJsonMapsOutput:
  492         -
        raise NotImplementedError
  493         -
  494         -
    # This examples serializes a streaming blob shape in the request body.
  495         -
    #
  496         -
    # In this example, no JSON document is synthesized because the payload is
  497         -
    # not a structure or a union type.
  498         -
    @app.streaming_traits
  499         -
    def streaming_traits(input: input::StreamingTraitsInput, ctx: Context) -> output::StreamingTraitsOutput:
  500         -
        raise NotImplementedError
  501         -
  502         -
    # This examples serializes a streaming blob shape with a required content
  503         -
    # length in the request body.
  504         -
    #
  505         -
    # In this example, no JSON document is synthesized because the payload is
  506         -
    # not a structure or a union type.
  507         -
    @app.streaming_traits_require_length
  508         -
    def streaming_traits_require_length(input: input::StreamingTraitsRequireLengthInput, ctx: Context) -> output::StreamingTraitsRequireLengthOutput:
  509         -
        raise NotImplementedError
  510         -
  511         -
    # This examples serializes a streaming media-typed blob shape in the request body.
  512         -
    #
  513         -
    # This examples uses a `@mediaType` trait on the payload to force a custom
  514         -
    # content-type to be serialized.
  515         -
    @app.streaming_traits_with_media_type
  516         -
    def streaming_traits_with_media_type(input: input::StreamingTraitsWithMediaTypeInput, ctx: Context) -> output::StreamingTraitsWithMediaTypeOutput:
  517         -
        raise NotImplementedError
  518         -
  519         -
    # This example operation serializes a structure in the HTTP body.
  520         -
    #
  521         -
    # It should ensure Content-Type: application/json is
  522         -
    # used in all requests and that an "empty" body is
  523         -
    # an empty JSON document ({}).
  524         -
    #
  525         -
    @app.test_body_structure
  526         -
    def test_body_structure(input: input::TestBodyStructureInput, ctx: Context) -> output::TestBodyStructureOutput:
  527         -
        raise NotImplementedError
  528         -
  529         -
    # This example GET operation has no input and serializes a request without a HTTP body.
  530         -
    #
  531         -
    # These tests are to ensure we do not attach a body or related headers
  532         -
    # (Content-Length, Content-Type) to operations that semantically
  533         -
    # cannot produce an HTTP body.
  534         -
    #
  535         -
    @app.test_get_no_input_no_payload
  536         -
    def test_get_no_input_no_payload(input: input::TestGetNoInputNoPayloadInput, ctx: Context) -> output::TestGetNoInputNoPayloadOutput:
  537         -
        raise NotImplementedError
  538         -
  539         -
    # This example GET operation serializes a request without a modeled HTTP body.
  540         -
    #
  541         -
    # These tests are to ensure we do not attach a body or related headers
  542         -
    # (Content-Length, Content-Type) to operations that semantically
  543         -
    # cannot produce an HTTP body.
  544         -
    #
  545         -
    @app.test_get_no_payload
  546         -
    def test_get_no_payload(input: input::TestGetNoPayloadInput, ctx: Context) -> output::TestGetNoPayloadOutput:
  547         -
        raise NotImplementedError
  548         -
  549         -
    # This example operation serializes a payload targeting a blob.
  550         -
    #
  551         -
    # The Blob shape is not structured content and we cannot
  552         -
    # make assumptions about what data will be sent. This test ensures
  553         -
    # only a generic "Content-Type: application/octet-stream" header
  554         -
    # is used, and that we are not treating an empty body as an
  555         -
    # empty JSON document.
  556         -
    #
  557         -
    @app.test_payload_blob
  558         -
    def test_payload_blob(input: input::TestPayloadBlobInput, ctx: Context) -> output::TestPayloadBlobOutput:
  559         -
        raise NotImplementedError
  560         -
  561         -
    # This example operation serializes a payload targeting a structure.
  562         -
    #
  563         -
    # This enforces the same requirements as TestBodyStructure
  564         -
    # but with the body specified by the @httpPayload trait.
  565         -
    #
  566         -
    @app.test_payload_structure
  567         -
    def test_payload_structure(input: input::TestPayloadStructureInput, ctx: Context) -> output::TestPayloadStructureOutput:
  568         -
        raise NotImplementedError
  569         -
  570         -
    # This example POST operation has no input and serializes a request without a HTTP body.
  571         -
    #
  572         -
    # These tests are to ensure we do not attach a body or related headers
  573         -
    # (Content-Type) to a POST operation with no modeled input.
  574         -
    #
  575         -
    @app.test_post_no_input_no_payload
  576         -
    def test_post_no_input_no_payload(input: input::TestPostNoInputNoPayloadInput, ctx: Context) -> output::TestPostNoInputNoPayloadOutput:
  577         -
        raise NotImplementedError
  578         -
  579         -
    # This example POST operation serializes a request without a modeled HTTP body.
  580         -
    #
  581         -
    # These tests are to ensure we do not attach a body or related headers
  582         -
    # (Content-Type) to a POST operation with no modeled payload.
  583         -
    #
  584         -
    @app.test_post_no_payload
  585         -
    def test_post_no_payload(input: input::TestPostNoPayloadInput, ctx: Context) -> output::TestPostNoPayloadOutput:
  586         -
        raise NotImplementedError
  587         -
  588         -
    # This example tests how timestamp request and response headers are serialized.
  589         -
    @app.timestamp_format_headers
  590         -
    def timestamp_format_headers(input: input::TimestampFormatHeadersInput, ctx: Context) -> output::TimestampFormatHeadersOutput:
  591         -
        raise NotImplementedError
  592         -
  593         -
    # This test is similar to NoInputAndNoOutput, but uses explicit Unit types.
  594         -
    @app.unit_input_and_output
  595         -
    def unit_input_and_output(input: input::UnitInputAndOutputInput, ctx: Context) -> output::UnitInputAndOutputOutput:
  596         -
        raise NotImplementedError
  597         -
  598         -
    app.run()
  599         -
    ```
  600         -
  601         -
    Any of operations above can be written as well prepending the `async` keyword and
  602         -
    the Python application will automatically handle it and schedule it on the event loop for you.
  603         -
    """
  604         -
  605         -
    def all_query_string_types(self, func: typing.Union[typing.Callable[[rest_json.input.AllQueryStringTypesInput, Ctx], typing.Union[rest_json.output.AllQueryStringTypesOutput, typing.Awaitable[rest_json.output.AllQueryStringTypesOutput]]], typing.Callable[[rest_json.input.AllQueryStringTypesInput], typing.Union[rest_json.output.AllQueryStringTypesOutput, typing.Awaitable[rest_json.output.AllQueryStringTypesOutput]]]]) -> None:
  606         -
        """
  607         -
        Method to register `all_query_string_types` Python implementation inside the handlers map.
  608         -
        It can be used as a function decorator in Python.
  609         -
        """
  610         -
        ...
  611         -
  612         -
  613         -
    def constant_and_variable_query_string(self, func: typing.Union[typing.Callable[[rest_json.input.ConstantAndVariableQueryStringInput, Ctx], typing.Union[rest_json.output.ConstantAndVariableQueryStringOutput, typing.Awaitable[rest_json.output.ConstantAndVariableQueryStringOutput]]], typing.Callable[[rest_json.input.ConstantAndVariableQueryStringInput], typing.Union[rest_json.output.ConstantAndVariableQueryStringOutput, typing.Awaitable[rest_json.output.ConstantAndVariableQueryStringOutput]]]]) -> None:
  614         -
        """
  615         -
        Method to register `constant_and_variable_query_string` Python implementation inside the handlers map.
  616         -
        It can be used as a function decorator in Python.
  617         -
        """
  618         -
        ...
  619         -
  620         -
  621         -
    def constant_query_string(self, func: typing.Union[typing.Callable[[rest_json.input.ConstantQueryStringInput, Ctx], typing.Union[rest_json.output.ConstantQueryStringOutput, typing.Awaitable[rest_json.output.ConstantQueryStringOutput]]], typing.Callable[[rest_json.input.ConstantQueryStringInput], typing.Union[rest_json.output.ConstantQueryStringOutput, typing.Awaitable[rest_json.output.ConstantQueryStringOutput]]]]) -> None:
  622         -
        """
  623         -
        Method to register `constant_query_string` Python implementation inside the handlers map.
  624         -
        It can be used as a function decorator in Python.
  625         -
        """
  626         -
        ...
  627         -
  628         -
  629         -
    def content_type_parameters(self, func: typing.Union[typing.Callable[[rest_json.input.ContentTypeParametersInput, Ctx], typing.Union[rest_json.output.ContentTypeParametersOutput, typing.Awaitable[rest_json.output.ContentTypeParametersOutput]]], typing.Callable[[rest_json.input.ContentTypeParametersInput], typing.Union[rest_json.output.ContentTypeParametersOutput, typing.Awaitable[rest_json.output.ContentTypeParametersOutput]]]]) -> None:
  630         -
        """
  631         -
        Method to register `content_type_parameters` Python implementation inside the handlers map.
  632         -
        It can be used as a function decorator in Python.
  633         -
        """
  634         -
        ...
  635         -
  636         -
  637         -
    def context(self, context: Ctx) -> None:
  638         -
        """
  639         -
        Register a context object that will be shared between handlers.
  640         -
        """
  641         -
        ...
  642         -
  643         -
  644         -
    def datetime_offsets(self, func: typing.Union[typing.Callable[[rest_json.input.DatetimeOffsetsInput, Ctx], typing.Union[rest_json.output.DatetimeOffsetsOutput, typing.Awaitable[rest_json.output.DatetimeOffsetsOutput]]], typing.Callable[[rest_json.input.DatetimeOffsetsInput], typing.Union[rest_json.output.DatetimeOffsetsOutput, typing.Awaitable[rest_json.output.DatetimeOffsetsOutput]]]]) -> None:
  645         -
        """
  646         -
        Method to register `datetime_offsets` Python implementation inside the handlers map.
  647         -
        It can be used as a function decorator in Python.
  648         -
        """
  649         -
        ...
  650         -
  651         -
  652         -
    def document_type(self, func: typing.Union[typing.Callable[[rest_json.input.DocumentTypeInput, Ctx], typing.Union[rest_json.output.DocumentTypeOutput, typing.Awaitable[rest_json.output.DocumentTypeOutput]]], typing.Callable[[rest_json.input.DocumentTypeInput], typing.Union[rest_json.output.DocumentTypeOutput, typing.Awaitable[rest_json.output.DocumentTypeOutput]]]]) -> None:
  653         -
        """
  654         -
        Method to register `document_type` Python implementation inside the handlers map.
  655         -
        It can be used as a function decorator in Python.
  656         -
        """
  657         -
        ...
  658         -
  659         -
  660         -
    def document_type_as_map_value(self, func: typing.Union[typing.Callable[[rest_json.input.DocumentTypeAsMapValueInput, Ctx], typing.Union[rest_json.output.DocumentTypeAsMapValueOutput, typing.Awaitable[rest_json.output.DocumentTypeAsMapValueOutput]]], typing.Callable[[rest_json.input.DocumentTypeAsMapValueInput], typing.Union[rest_json.output.DocumentTypeAsMapValueOutput, typing.Awaitable[rest_json.output.DocumentTypeAsMapValueOutput]]]]) -> None:
  661         -
        """
  662         -
        Method to register `document_type_as_map_value` Python implementation inside the handlers map.
  663         -
        It can be used as a function decorator in Python.
  664         -
        """
  665         -
        ...
  666         -
  667         -
  668         -
    def document_type_as_payload(self, func: typing.Union[typing.Callable[[rest_json.input.DocumentTypeAsPayloadInput, Ctx], typing.Union[rest_json.output.DocumentTypeAsPayloadOutput, typing.Awaitable[rest_json.output.DocumentTypeAsPayloadOutput]]], typing.Callable[[rest_json.input.DocumentTypeAsPayloadInput], typing.Union[rest_json.output.DocumentTypeAsPayloadOutput, typing.Awaitable[rest_json.output.DocumentTypeAsPayloadOutput]]]]) -> None:
  669         -
        """
  670         -
        Method to register `document_type_as_payload` Python implementation inside the handlers map.
  671         -
        It can be used as a function decorator in Python.
  672         -
        """
  673         -
        ...
  674         -
  675         -
  676         -
    def empty_input_and_empty_output(self, func: typing.Union[typing.Callable[[rest_json.input.EmptyInputAndEmptyOutputInput, Ctx], typing.Union[rest_json.output.EmptyInputAndEmptyOutputOutput, typing.Awaitable[rest_json.output.EmptyInputAndEmptyOutputOutput]]], typing.Callable[[rest_json.input.EmptyInputAndEmptyOutputInput], typing.Union[rest_json.output.EmptyInputAndEmptyOutputOutput, typing.Awaitable[rest_json.output.EmptyInputAndEmptyOutputOutput]]]]) -> None:
  677         -
        """
  678         -
        Method to register `empty_input_and_empty_output` Python implementation inside the handlers map.
  679         -
        It can be used as a function decorator in Python.
  680         -
        """
  681         -
        ...
  682         -
  683         -
  684         -
    def endpoint_operation(self, func: typing.Union[typing.Callable[[rest_json.input.EndpointOperationInput, Ctx], typing.Union[rest_json.output.EndpointOperationOutput, typing.Awaitable[rest_json.output.EndpointOperationOutput]]], typing.Callable[[rest_json.input.EndpointOperationInput], typing.Union[rest_json.output.EndpointOperationOutput, typing.Awaitable[rest_json.output.EndpointOperationOutput]]]]) -> None:
  685         -
        """
  686         -
        Method to register `endpoint_operation` Python implementation inside the handlers map.
  687         -
        It can be used as a function decorator in Python.
  688         -
        """
  689         -
        ...
  690         -
  691         -
  692         -
    def endpoint_with_host_label_operation(self, func: typing.Union[typing.Callable[[rest_json.input.EndpointWithHostLabelOperationInput, Ctx], typing.Union[rest_json.output.EndpointWithHostLabelOperationOutput, typing.Awaitable[rest_json.output.EndpointWithHostLabelOperationOutput]]], typing.Callable[[rest_json.input.EndpointWithHostLabelOperationInput], typing.Union[rest_json.output.EndpointWithHostLabelOperationOutput, typing.Awaitable[rest_json.output.EndpointWithHostLabelOperationOutput]]]]) -> None:
  693         -
        """
  694         -
        Method to register `endpoint_with_host_label_operation` Python implementation inside the handlers map.
  695         -
        It can be used as a function decorator in Python.
  696         -
        """
  697         -
        ...
  698         -
  699         -
  700         -
    def fractional_seconds(self, func: typing.Union[typing.Callable[[rest_json.input.FractionalSecondsInput, Ctx], typing.Union[rest_json.output.FractionalSecondsOutput, typing.Awaitable[rest_json.output.FractionalSecondsOutput]]], typing.Callable[[rest_json.input.FractionalSecondsInput], typing.Union[rest_json.output.FractionalSecondsOutput, typing.Awaitable[rest_json.output.FractionalSecondsOutput]]]]) -> None:
  701         -
        """
  702         -
        Method to register `fractional_seconds` Python implementation inside the handlers map.
  703         -
        It can be used as a function decorator in Python.
  704         -
        """
  705         -
        ...
  706         -
  707         -
  708         -
    def greeting_with_errors(self, func: typing.Union[typing.Callable[[rest_json.input.GreetingWithErrorsInput, Ctx], typing.Union[rest_json.output.GreetingWithErrorsOutput, typing.Awaitable[rest_json.output.GreetingWithErrorsOutput]]], typing.Callable[[rest_json.input.GreetingWithErrorsInput], typing.Union[rest_json.output.GreetingWithErrorsOutput, typing.Awaitable[rest_json.output.GreetingWithErrorsOutput]]]]) -> None:
  709         -
        """
  710         -
        Method to register `greeting_with_errors` Python implementation inside the handlers map.
  711         -
        It can be used as a function decorator in Python.
  712         -
        """
  713         -
        ...
  714         -
  715         -
  716         -
    def host_with_path_operation(self, func: typing.Union[typing.Callable[[rest_json.input.HostWithPathOperationInput, Ctx], typing.Union[rest_json.output.HostWithPathOperationOutput, typing.Awaitable[rest_json.output.HostWithPathOperationOutput]]], typing.Callable[[rest_json.input.HostWithPathOperationInput], typing.Union[rest_json.output.HostWithPathOperationOutput, typing.Awaitable[rest_json.output.HostWithPathOperationOutput]]]]) -> None:
  717         -
        """
  718         -
        Method to register `host_with_path_operation` Python implementation inside the handlers map.
  719         -
        It can be used as a function decorator in Python.
  720         -
        """
  721         -
        ...
  722         -
  723         -
  724         -
    def http_checksum_required(self, func: typing.Union[typing.Callable[[rest_json.input.HttpChecksumRequiredInput, Ctx], typing.Union[rest_json.output.HttpChecksumRequiredOutput, typing.Awaitable[rest_json.output.HttpChecksumRequiredOutput]]], typing.Callable[[rest_json.input.HttpChecksumRequiredInput], typing.Union[rest_json.output.HttpChecksumRequiredOutput, typing.Awaitable[rest_json.output.HttpChecksumRequiredOutput]]]]) -> None:
  725         -
        """
  726         -
        Method to register `http_checksum_required` Python implementation inside the handlers map.
  727         -
        It can be used as a function decorator in Python.
  728         -
        """
  729         -
        ...
  730         -
  731         -
  732         -
    def http_empty_prefix_headers(self, func: typing.Union[typing.Callable[[rest_json.input.HttpEmptyPrefixHeadersInput, Ctx], typing.Union[rest_json.output.HttpEmptyPrefixHeadersOutput, typing.Awaitable[rest_json.output.HttpEmptyPrefixHeadersOutput]]], typing.Callable[[rest_json.input.HttpEmptyPrefixHeadersInput], typing.Union[rest_json.output.HttpEmptyPrefixHeadersOutput, typing.Awaitable[rest_json.output.HttpEmptyPrefixHeadersOutput]]]]) -> None:
  733         -
        """
  734         -
        Method to register `http_empty_prefix_headers` Python implementation inside the handlers map.
  735         -
        It can be used as a function decorator in Python.
  736         -
        """
  737         -
        ...
  738         -
  739         -
  740         -
    def http_enum_payload(self, func: typing.Union[typing.Callable[[rest_json.input.HttpEnumPayloadInput, Ctx], typing.Union[rest_json.output.HttpEnumPayloadOutput, typing.Awaitable[rest_json.output.HttpEnumPayloadOutput]]], typing.Callable[[rest_json.input.HttpEnumPayloadInput], typing.Union[rest_json.output.HttpEnumPayloadOutput, typing.Awaitable[rest_json.output.HttpEnumPayloadOutput]]]]) -> None:
  741         -
        """
  742         -
        Method to register `http_enum_payload` Python implementation inside the handlers map.
  743         -
        It can be used as a function decorator in Python.
  744         -
        """
  745         -
        ...
  746         -
  747         -
  748         -
    def http_payload_traits(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPayloadTraitsInput, Ctx], typing.Union[rest_json.output.HttpPayloadTraitsOutput, typing.Awaitable[rest_json.output.HttpPayloadTraitsOutput]]], typing.Callable[[rest_json.input.HttpPayloadTraitsInput], typing.Union[rest_json.output.HttpPayloadTraitsOutput, typing.Awaitable[rest_json.output.HttpPayloadTraitsOutput]]]]) -> None:
  749         -
        """
  750         -
        Method to register `http_payload_traits` Python implementation inside the handlers map.
  751         -
        It can be used as a function decorator in Python.
  752         -
        """
  753         -
        ...
  754         -
  755         -
  756         -
    def http_payload_traits_with_media_type(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPayloadTraitsWithMediaTypeInput, Ctx], typing.Union[rest_json.output.HttpPayloadTraitsWithMediaTypeOutput, typing.Awaitable[rest_json.output.HttpPayloadTraitsWithMediaTypeOutput]]], typing.Callable[[rest_json.input.HttpPayloadTraitsWithMediaTypeInput], typing.Union[rest_json.output.HttpPayloadTraitsWithMediaTypeOutput, typing.Awaitable[rest_json.output.HttpPayloadTraitsWithMediaTypeOutput]]]]) -> None:
  757         -
        """
  758         -
        Method to register `http_payload_traits_with_media_type` Python implementation inside the handlers map.
  759         -
        It can be used as a function decorator in Python.
  760         -
        """
  761         -
        ...
  762         -
  763         -
  764         -
    def http_payload_with_structure(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPayloadWithStructureInput, Ctx], typing.Union[rest_json.output.HttpPayloadWithStructureOutput, typing.Awaitable[rest_json.output.HttpPayloadWithStructureOutput]]], typing.Callable[[rest_json.input.HttpPayloadWithStructureInput], typing.Union[rest_json.output.HttpPayloadWithStructureOutput, typing.Awaitable[rest_json.output.HttpPayloadWithStructureOutput]]]]) -> None:
  765         -
        """
  766         -
        Method to register `http_payload_with_structure` Python implementation inside the handlers map.
  767         -
        It can be used as a function decorator in Python.
  768         -
        """
  769         -
        ...
  770         -
  771         -
  772         -
    def http_payload_with_union(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPayloadWithUnionInput, Ctx], typing.Union[rest_json.output.HttpPayloadWithUnionOutput, typing.Awaitable[rest_json.output.HttpPayloadWithUnionOutput]]], typing.Callable[[rest_json.input.HttpPayloadWithUnionInput], typing.Union[rest_json.output.HttpPayloadWithUnionOutput, typing.Awaitable[rest_json.output.HttpPayloadWithUnionOutput]]]]) -> None:
  773         -
        """
  774         -
        Method to register `http_payload_with_union` Python implementation inside the handlers map.
  775         -
        It can be used as a function decorator in Python.
  776         -
        """
  777         -
        ...
  778         -
  779         -
  780         -
    def http_prefix_headers(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPrefixHeadersInput, Ctx], typing.Union[rest_json.output.HttpPrefixHeadersOutput, typing.Awaitable[rest_json.output.HttpPrefixHeadersOutput]]], typing.Callable[[rest_json.input.HttpPrefixHeadersInput], typing.Union[rest_json.output.HttpPrefixHeadersOutput, typing.Awaitable[rest_json.output.HttpPrefixHeadersOutput]]]]) -> None:
  781         -
        """
  782         -
        Method to register `http_prefix_headers` Python implementation inside the handlers map.
  783         -
        It can be used as a function decorator in Python.
  784         -
        """
  785         -
        ...
  786         -
  787         -
  788         -
    def http_prefix_headers_in_response(self, func: typing.Union[typing.Callable[[rest_json.input.HttpPrefixHeadersInResponseInput, Ctx], typing.Union[rest_json.output.HttpPrefixHeadersInResponseOutput, typing.Awaitable[rest_json.output.HttpPrefixHeadersInResponseOutput]]], typing.Callable[[rest_json.input.HttpPrefixHeadersInResponseInput], typing.Union[rest_json.output.HttpPrefixHeadersInResponseOutput, typing.Awaitable[rest_json.output.HttpPrefixHeadersInResponseOutput]]]]) -> None:
  789         -
        """
  790         -
        Method to register `http_prefix_headers_in_response` Python implementation inside the handlers map.
  791         -
        It can be used as a function decorator in Python.
  792         -
        """
  793         -
        ...
  794         -
  795         -
  796         -
    def http_request_with_float_labels(self, func: typing.Union[typing.Callable[[rest_json.input.HttpRequestWithFloatLabelsInput, Ctx], typing.Union[rest_json.output.HttpRequestWithFloatLabelsOutput, typing.Awaitable[rest_json.output.HttpRequestWithFloatLabelsOutput]]], typing.Callable[[rest_json.input.HttpRequestWithFloatLabelsInput], typing.Union[rest_json.output.HttpRequestWithFloatLabelsOutput, typing.Awaitable[rest_json.output.HttpRequestWithFloatLabelsOutput]]]]) -> None:
  797         -
        """
  798         -
        Method to register `http_request_with_float_labels` Python implementation inside the handlers map.
  799         -
        It can be used as a function decorator in Python.
  800         -
        """
  801         -
        ...
  802         -
  803         -
  804         -
    def http_request_with_greedy_label_in_path(self, func: typing.Union[typing.Callable[[rest_json.input.HttpRequestWithGreedyLabelInPathInput, Ctx], typing.Union[rest_json.output.HttpRequestWithGreedyLabelInPathOutput, typing.Awaitable[rest_json.output.HttpRequestWithGreedyLabelInPathOutput]]], typing.Callable[[rest_json.input.HttpRequestWithGreedyLabelInPathInput], typing.Union[rest_json.output.HttpRequestWithGreedyLabelInPathOutput, typing.Awaitable[rest_json.output.HttpRequestWithGreedyLabelInPathOutput]]]]) -> None:
  805         -
        """
  806         -
        Method to register `http_request_with_greedy_label_in_path` Python implementation inside the handlers map.
  807         -
        It can be used as a function decorator in Python.
  808         -
        """
  809         -
        ...
  810         -
  811         -
  812         -
    def http_request_with_labels(self, func: typing.Union[typing.Callable[[rest_json.input.HttpRequestWithLabelsInput, Ctx], typing.Union[rest_json.output.HttpRequestWithLabelsOutput, typing.Awaitable[rest_json.output.HttpRequestWithLabelsOutput]]], typing.Callable[[rest_json.input.HttpRequestWithLabelsInput], typing.Union[rest_json.output.HttpRequestWithLabelsOutput, typing.Awaitable[rest_json.output.HttpRequestWithLabelsOutput]]]]) -> None:
  813         -
        """
  814         -
        Method to register `http_request_with_labels` Python implementation inside the handlers map.
  815         -
        It can be used as a function decorator in Python.
  816         -
        """
  817         -
        ...
  818         -
  819         -
  820         -
    def http_request_with_labels_and_timestamp_format(self, func: typing.Union[typing.Callable[[rest_json.input.HttpRequestWithLabelsAndTimestampFormatInput, Ctx], typing.Union[rest_json.output.HttpRequestWithLabelsAndTimestampFormatOutput, typing.Awaitable[rest_json.output.HttpRequestWithLabelsAndTimestampFormatOutput]]], typing.Callable[[rest_json.input.HttpRequestWithLabelsAndTimestampFormatInput], typing.Union[rest_json.output.HttpRequestWithLabelsAndTimestampFormatOutput, typing.Awaitable[rest_json.output.HttpRequestWithLabelsAndTimestampFormatOutput]]]]) -> None:
  821         -
        """
  822         -
        Method to register `http_request_with_labels_and_timestamp_format` Python implementation inside the handlers map.
  823         -
        It can be used as a function decorator in Python.
  824         -
        """
  825         -
        ...
  826         -
  827         -
  828         -
    def http_request_with_regex_literal(self, func: typing.Union[typing.Callable[[rest_json.input.HttpRequestWithRegexLiteralInput, Ctx], typing.Union[rest_json.output.HttpRequestWithRegexLiteralOutput, typing.Awaitable[rest_json.output.HttpRequestWithRegexLiteralOutput]]], typing.Callable[[rest_json.input.HttpRequestWithRegexLiteralInput], typing.Union[rest_json.output.HttpRequestWithRegexLiteralOutput, typing.Awaitable[rest_json.output.HttpRequestWithRegexLiteralOutput]]]]) -> None:
  829         -
        """
  830         -
        Method to register `http_request_with_regex_literal` Python implementation inside the handlers map.
  831         -
        It can be used as a function decorator in Python.
  832         -
        """
  833         -
        ...
  834         -
  835         -
  836         -
    def http_response_code(self, func: typing.Union[typing.Callable[[rest_json.input.HttpResponseCodeInput, Ctx], typing.Union[rest_json.output.HttpResponseCodeOutput, typing.Awaitable[rest_json.output.HttpResponseCodeOutput]]], typing.Callable[[rest_json.input.HttpResponseCodeInput], typing.Union[rest_json.output.HttpResponseCodeOutput, typing.Awaitable[rest_json.output.HttpResponseCodeOutput]]]]) -> None:
  837         -
        """
  838         -
        Method to register `http_response_code` Python implementation inside the handlers map.
  839         -
        It can be used as a function decorator in Python.
  840         -
        """
  841         -
        ...
  842         -
  843         -
  844         -
    def http_string_payload(self, func: typing.Union[typing.Callable[[rest_json.input.HttpStringPayloadInput, Ctx], typing.Union[rest_json.output.HttpStringPayloadOutput, typing.Awaitable[rest_json.output.HttpStringPayloadOutput]]], typing.Callable[[rest_json.input.HttpStringPayloadInput], typing.Union[rest_json.output.HttpStringPayloadOutput, typing.Awaitable[rest_json.output.HttpStringPayloadOutput]]]]) -> None:
  845         -
        """
  846         -
        Method to register `http_string_payload` Python implementation inside the handlers map.
  847         -
        It can be used as a function decorator in Python.
  848         -
        """
  849         -
        ...
  850         -
  851         -
  852         -
    def ignore_query_params_in_response(self, func: typing.Union[typing.Callable[[rest_json.input.IgnoreQueryParamsInResponseInput, Ctx], typing.Union[rest_json.output.IgnoreQueryParamsInResponseOutput, typing.Awaitable[rest_json.output.IgnoreQueryParamsInResponseOutput]]], typing.Callable[[rest_json.input.IgnoreQueryParamsInResponseInput], typing.Union[rest_json.output.IgnoreQueryParamsInResponseOutput, typing.Awaitable[rest_json.output.IgnoreQueryParamsInResponseOutput]]]]) -> None:
  853         -
        """
  854         -
        Method to register `ignore_query_params_in_response` Python implementation inside the handlers map.
  855         -
        It can be used as a function decorator in Python.
  856         -
        """
  857         -
        ...
  858         -
  859         -
  860         -
    def input_and_output_with_headers(self, func: typing.Union[typing.Callable[[rest_json.input.InputAndOutputWithHeadersInput, Ctx], typing.Union[rest_json.output.InputAndOutputWithHeadersOutput, typing.Awaitable[rest_json.output.InputAndOutputWithHeadersOutput]]], typing.Callable[[rest_json.input.InputAndOutputWithHeadersInput], typing.Union[rest_json.output.InputAndOutputWithHeadersOutput, typing.Awaitable[rest_json.output.InputAndOutputWithHeadersOutput]]]]) -> None:
  861         -
        """
  862         -
        Method to register `input_and_output_with_headers` Python implementation inside the handlers map.
  863         -
        It can be used as a function decorator in Python.
  864         -
        """
  865         -
        ...
  866         -
  867         -
  868         -
    def json_blobs(self, func: typing.Union[typing.Callable[[rest_json.input.JsonBlobsInput, Ctx], typing.Union[rest_json.output.JsonBlobsOutput, typing.Awaitable[rest_json.output.JsonBlobsOutput]]], typing.Callable[[rest_json.input.JsonBlobsInput], typing.Union[rest_json.output.JsonBlobsOutput, typing.Awaitable[rest_json.output.JsonBlobsOutput]]]]) -> None:
  869         -
        """
  870         -
        Method to register `json_blobs` Python implementation inside the handlers map.
  871         -
        It can be used as a function decorator in Python.
  872         -
        """
  873         -
        ...
  874         -
  875         -
  876         -
    def json_enums(self, func: typing.Union[typing.Callable[[rest_json.input.JsonEnumsInput, Ctx], typing.Union[rest_json.output.JsonEnumsOutput, typing.Awaitable[rest_json.output.JsonEnumsOutput]]], typing.Callable[[rest_json.input.JsonEnumsInput], typing.Union[rest_json.output.JsonEnumsOutput, typing.Awaitable[rest_json.output.JsonEnumsOutput]]]]) -> None:
  877         -
        """
  878         -
        Method to register `json_enums` Python implementation inside the handlers map.
  879         -
        It can be used as a function decorator in Python.
  880         -
        """
  881         -
        ...
  882         -
  883         -
  884         -
    def json_int_enums(self, func: typing.Union[typing.Callable[[rest_json.input.JsonIntEnumsInput, Ctx], typing.Union[rest_json.output.JsonIntEnumsOutput, typing.Awaitable[rest_json.output.JsonIntEnumsOutput]]], typing.Callable[[rest_json.input.JsonIntEnumsInput], typing.Union[rest_json.output.JsonIntEnumsOutput, typing.Awaitable[rest_json.output.JsonIntEnumsOutput]]]]) -> None:
  885         -
        """
  886         -
        Method to register `json_int_enums` Python implementation inside the handlers map.
  887         -
        It can be used as a function decorator in Python.
  888         -
        """
  889         -
        ...
  890         -
  891         -
  892         -
    def json_lists(self, func: typing.Union[typing.Callable[[rest_json.input.JsonListsInput, Ctx], typing.Union[rest_json.output.JsonListsOutput, typing.Awaitable[rest_json.output.JsonListsOutput]]], typing.Callable[[rest_json.input.JsonListsInput], typing.Union[rest_json.output.JsonListsOutput, typing.Awaitable[rest_json.output.JsonListsOutput]]]]) -> None:
  893         -
        """
  894         -
        Method to register `json_lists` Python implementation inside the handlers map.
  895         -
        It can be used as a function decorator in Python.
  896         -
        """
  897         -
        ...
  898         -
  899         -
  900         -
    def json_maps(self, func: typing.Union[typing.Callable[[rest_json.input.JsonMapsInput, Ctx], typing.Union[rest_json.output.JsonMapsOutput, typing.Awaitable[rest_json.output.JsonMapsOutput]]], typing.Callable[[rest_json.input.JsonMapsInput], typing.Union[rest_json.output.JsonMapsOutput, typing.Awaitable[rest_json.output.JsonMapsOutput]]]]) -> None:
  901         -
        """
  902         -
        Method to register `json_maps` Python implementation inside the handlers map.
  903         -
        It can be used as a function decorator in Python.
  904         -
        """
  905         -
        ...
  906         -
  907         -
  908         -
    def json_timestamps(self, func: typing.Union[typing.Callable[[rest_json.input.JsonTimestampsInput, Ctx], typing.Union[rest_json.output.JsonTimestampsOutput, typing.Awaitable[rest_json.output.JsonTimestampsOutput]]], typing.Callable[[rest_json.input.JsonTimestampsInput], typing.Union[rest_json.output.JsonTimestampsOutput, typing.Awaitable[rest_json.output.JsonTimestampsOutput]]]]) -> None:
  909         -
        """
  910         -
        Method to register `json_timestamps` Python implementation inside the handlers map.
  911         -
        It can be used as a function decorator in Python.
  912         -
        """
  913         -
        ...
  914         -
  915         -
  916         -
    def json_unions(self, func: typing.Union[typing.Callable[[rest_json.input.JsonUnionsInput, Ctx], typing.Union[rest_json.output.JsonUnionsOutput, typing.Awaitable[rest_json.output.JsonUnionsOutput]]], typing.Callable[[rest_json.input.JsonUnionsInput], typing.Union[rest_json.output.JsonUnionsOutput, typing.Awaitable[rest_json.output.JsonUnionsOutput]]]]) -> None:
  917         -
        """
  918         -
        Method to register `json_unions` Python implementation inside the handlers map.
  919         -
        It can be used as a function decorator in Python.
  920         -
        """
  921         -
        ...
  922         -
  923         -
  924         -
    def malformed_accept_with_body(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedAcceptWithBodyInput, Ctx], typing.Union[rest_json.output.MalformedAcceptWithBodyOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithBodyOutput]]], typing.Callable[[rest_json.input.MalformedAcceptWithBodyInput], typing.Union[rest_json.output.MalformedAcceptWithBodyOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithBodyOutput]]]]) -> None:
  925         -
        """
  926         -
        Method to register `malformed_accept_with_body` Python implementation inside the handlers map.
  927         -
        It can be used as a function decorator in Python.
  928         -
        """
  929         -
        ...
  930         -
  931         -
  932         -
    def malformed_accept_with_generic_string(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedAcceptWithGenericStringInput, Ctx], typing.Union[rest_json.output.MalformedAcceptWithGenericStringOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithGenericStringOutput]]], typing.Callable[[rest_json.input.MalformedAcceptWithGenericStringInput], typing.Union[rest_json.output.MalformedAcceptWithGenericStringOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithGenericStringOutput]]]]) -> None:
  933         -
        """
  934         -
        Method to register `malformed_accept_with_generic_string` Python implementation inside the handlers map.
  935         -
        It can be used as a function decorator in Python.
  936         -
        """
  937         -
        ...
  938         -
  939         -
  940         -
    def malformed_accept_with_payload(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedAcceptWithPayloadInput, Ctx], typing.Union[rest_json.output.MalformedAcceptWithPayloadOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithPayloadOutput]]], typing.Callable[[rest_json.input.MalformedAcceptWithPayloadInput], typing.Union[rest_json.output.MalformedAcceptWithPayloadOutput, typing.Awaitable[rest_json.output.MalformedAcceptWithPayloadOutput]]]]) -> None:
  941         -
        """
  942         -
        Method to register `malformed_accept_with_payload` Python implementation inside the handlers map.
  943         -
        It can be used as a function decorator in Python.
  944         -
        """
  945         -
        ...
  946         -
  947         -
  948         -
    def malformed_blob(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedBlobInput, Ctx], typing.Union[rest_json.output.MalformedBlobOutput, typing.Awaitable[rest_json.output.MalformedBlobOutput]]], typing.Callable[[rest_json.input.MalformedBlobInput], typing.Union[rest_json.output.MalformedBlobOutput, typing.Awaitable[rest_json.output.MalformedBlobOutput]]]]) -> None:
  949         -
        """
  950         -
        Method to register `malformed_blob` Python implementation inside the handlers map.
  951         -
        It can be used as a function decorator in Python.
  952         -
        """
  953         -
        ...
  954         -
  955         -
  956         -
    def malformed_boolean(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedBooleanInput, Ctx], typing.Union[rest_json.output.MalformedBooleanOutput, typing.Awaitable[rest_json.output.MalformedBooleanOutput]]], typing.Callable[[rest_json.input.MalformedBooleanInput], typing.Union[rest_json.output.MalformedBooleanOutput, typing.Awaitable[rest_json.output.MalformedBooleanOutput]]]]) -> None:
  957         -
        """
  958         -
        Method to register `malformed_boolean` Python implementation inside the handlers map.
  959         -
        It can be used as a function decorator in Python.
  960         -
        """
  961         -
        ...
  962         -
  963         -
  964         -
    def malformed_byte(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedByteInput, Ctx], typing.Union[rest_json.output.MalformedByteOutput, typing.Awaitable[rest_json.output.MalformedByteOutput]]], typing.Callable[[rest_json.input.MalformedByteInput], typing.Union[rest_json.output.MalformedByteOutput, typing.Awaitable[rest_json.output.MalformedByteOutput]]]]) -> None:
  965         -
        """
  966         -
        Method to register `malformed_byte` Python implementation inside the handlers map.
  967         -
        It can be used as a function decorator in Python.
  968         -
        """
  969         -
        ...
  970         -
  971         -
  972         -
    def malformed_content_type_with_body(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedContentTypeWithBodyInput, Ctx], typing.Union[rest_json.output.MalformedContentTypeWithBodyOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithBodyOutput]]], typing.Callable[[rest_json.input.MalformedContentTypeWithBodyInput], typing.Union[rest_json.output.MalformedContentTypeWithBodyOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithBodyOutput]]]]) -> None:
  973         -
        """
  974         -
        Method to register `malformed_content_type_with_body` Python implementation inside the handlers map.
  975         -
        It can be used as a function decorator in Python.
  976         -
        """
  977         -
        ...
  978         -
  979         -
  980         -
    def malformed_content_type_with_generic_string(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedContentTypeWithGenericStringInput, Ctx], typing.Union[rest_json.output.MalformedContentTypeWithGenericStringOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithGenericStringOutput]]], typing.Callable[[rest_json.input.MalformedContentTypeWithGenericStringInput], typing.Union[rest_json.output.MalformedContentTypeWithGenericStringOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithGenericStringOutput]]]]) -> None:
  981         -
        """
  982         -
        Method to register `malformed_content_type_with_generic_string` Python implementation inside the handlers map.
  983         -
        It can be used as a function decorator in Python.
  984         -
        """
  985         -
        ...
  986         -
  987         -
  988         -
    def malformed_content_type_with_payload(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedContentTypeWithPayloadInput, Ctx], typing.Union[rest_json.output.MalformedContentTypeWithPayloadOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithPayloadOutput]]], typing.Callable[[rest_json.input.MalformedContentTypeWithPayloadInput], typing.Union[rest_json.output.MalformedContentTypeWithPayloadOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithPayloadOutput]]]]) -> None:
  989         -
        """
  990         -
        Method to register `malformed_content_type_with_payload` Python implementation inside the handlers map.
  991         -
        It can be used as a function decorator in Python.
  992         -
        """
  993         -
        ...
  994         -
  995         -
  996         -
    def malformed_content_type_without_body(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedContentTypeWithoutBodyInput, Ctx], typing.Union[rest_json.output.MalformedContentTypeWithoutBodyOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithoutBodyOutput]]], typing.Callable[[rest_json.input.MalformedContentTypeWithoutBodyInput], typing.Union[rest_json.output.MalformedContentTypeWithoutBodyOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithoutBodyOutput]]]]) -> None:
  997         -
        """
  998         -
        Method to register `malformed_content_type_without_body` Python implementation inside the handlers map.
  999         -
        It can be used as a function decorator in Python.
 1000         -
        """
 1001         -
        ...
 1002         -
 1003         -
 1004         -
    def malformed_content_type_without_body_empty_input(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedContentTypeWithoutBodyEmptyInputInput, Ctx], typing.Union[rest_json.output.MalformedContentTypeWithoutBodyEmptyInputOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithoutBodyEmptyInputOutput]]], typing.Callable[[rest_json.input.MalformedContentTypeWithoutBodyEmptyInputInput], typing.Union[rest_json.output.MalformedContentTypeWithoutBodyEmptyInputOutput, typing.Awaitable[rest_json.output.MalformedContentTypeWithoutBodyEmptyInputOutput]]]]) -> None:
 1005         -
        """
 1006         -
        Method to register `malformed_content_type_without_body_empty_input` Python implementation inside the handlers map.
 1007         -
        It can be used as a function decorator in Python.
 1008         -
        """
 1009         -
        ...
 1010         -
 1011         -
 1012         -
    def malformed_double(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedDoubleInput, Ctx], typing.Union[rest_json.output.MalformedDoubleOutput, typing.Awaitable[rest_json.output.MalformedDoubleOutput]]], typing.Callable[[rest_json.input.MalformedDoubleInput], typing.Union[rest_json.output.MalformedDoubleOutput, typing.Awaitable[rest_json.output.MalformedDoubleOutput]]]]) -> None:
 1013         -
        """
 1014         -
        Method to register `malformed_double` Python implementation inside the handlers map.
 1015         -
        It can be used as a function decorator in Python.
 1016         -
        """
 1017         -
        ...
 1018         -
 1019         -
 1020         -
    def malformed_float(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedFloatInput, Ctx], typing.Union[rest_json.output.MalformedFloatOutput, typing.Awaitable[rest_json.output.MalformedFloatOutput]]], typing.Callable[[rest_json.input.MalformedFloatInput], typing.Union[rest_json.output.MalformedFloatOutput, typing.Awaitable[rest_json.output.MalformedFloatOutput]]]]) -> None:
 1021         -
        """
 1022         -
        Method to register `malformed_float` Python implementation inside the handlers map.
 1023         -
        It can be used as a function decorator in Python.
 1024         -
        """
 1025         -
        ...
 1026         -
 1027         -
 1028         -
    def malformed_integer(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedIntegerInput, Ctx], typing.Union[rest_json.output.MalformedIntegerOutput, typing.Awaitable[rest_json.output.MalformedIntegerOutput]]], typing.Callable[[rest_json.input.MalformedIntegerInput], typing.Union[rest_json.output.MalformedIntegerOutput, typing.Awaitable[rest_json.output.MalformedIntegerOutput]]]]) -> None:
 1029         -
        """
 1030         -
        Method to register `malformed_integer` Python implementation inside the handlers map.
 1031         -
        It can be used as a function decorator in Python.
 1032         -
        """
 1033         -
        ...
 1034         -
 1035         -
 1036         -
    def malformed_list(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedListInput, Ctx], typing.Union[rest_json.output.MalformedListOutput, typing.Awaitable[rest_json.output.MalformedListOutput]]], typing.Callable[[rest_json.input.MalformedListInput], typing.Union[rest_json.output.MalformedListOutput, typing.Awaitable[rest_json.output.MalformedListOutput]]]]) -> None:
 1037         -
        """
 1038         -
        Method to register `malformed_list` Python implementation inside the handlers map.
 1039         -
        It can be used as a function decorator in Python.
 1040         -
        """
 1041         -
        ...
 1042         -
 1043         -
 1044         -
    def malformed_long(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedLongInput, Ctx], typing.Union[rest_json.output.MalformedLongOutput, typing.Awaitable[rest_json.output.MalformedLongOutput]]], typing.Callable[[rest_json.input.MalformedLongInput], typing.Union[rest_json.output.MalformedLongOutput, typing.Awaitable[rest_json.output.MalformedLongOutput]]]]) -> None:
 1045         -
        """
 1046         -
        Method to register `malformed_long` Python implementation inside the handlers map.
 1047         -
        It can be used as a function decorator in Python.
 1048         -
        """
 1049         -
        ...
 1050         -
 1051         -
 1052         -
    def malformed_map(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedMapInput, Ctx], typing.Union[rest_json.output.MalformedMapOutput, typing.Awaitable[rest_json.output.MalformedMapOutput]]], typing.Callable[[rest_json.input.MalformedMapInput], typing.Union[rest_json.output.MalformedMapOutput, typing.Awaitable[rest_json.output.MalformedMapOutput]]]]) -> None:
 1053         -
        """
 1054         -
        Method to register `malformed_map` Python implementation inside the handlers map.
 1055         -
        It can be used as a function decorator in Python.
 1056         -
        """
 1057         -
        ...
 1058         -
 1059         -
 1060         -
    def malformed_request_body(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedRequestBodyInput, Ctx], typing.Union[rest_json.output.MalformedRequestBodyOutput, typing.Awaitable[rest_json.output.MalformedRequestBodyOutput]]], typing.Callable[[rest_json.input.MalformedRequestBodyInput], typing.Union[rest_json.output.MalformedRequestBodyOutput, typing.Awaitable[rest_json.output.MalformedRequestBodyOutput]]]]) -> None:
 1061         -
        """
 1062         -
        Method to register `malformed_request_body` Python implementation inside the handlers map.
 1063         -
        It can be used as a function decorator in Python.
 1064         -
        """
 1065         -
        ...
 1066         -
 1067         -
 1068         -
    def malformed_short(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedShortInput, Ctx], typing.Union[rest_json.output.MalformedShortOutput, typing.Awaitable[rest_json.output.MalformedShortOutput]]], typing.Callable[[rest_json.input.MalformedShortInput], typing.Union[rest_json.output.MalformedShortOutput, typing.Awaitable[rest_json.output.MalformedShortOutput]]]]) -> None:
 1069         -
        """
 1070         -
        Method to register `malformed_short` Python implementation inside the handlers map.
 1071         -
        It can be used as a function decorator in Python.
 1072         -
        """
 1073         -
        ...
 1074         -
 1075         -
 1076         -
    def malformed_string(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedStringInput, Ctx], typing.Union[rest_json.output.MalformedStringOutput, typing.Awaitable[rest_json.output.MalformedStringOutput]]], typing.Callable[[rest_json.input.MalformedStringInput], typing.Union[rest_json.output.MalformedStringOutput, typing.Awaitable[rest_json.output.MalformedStringOutput]]]]) -> None:
 1077         -
        """
 1078         -
        Method to register `malformed_string` Python implementation inside the handlers map.
 1079         -
        It can be used as a function decorator in Python.
 1080         -
        """
 1081         -
        ...
 1082         -
 1083         -
 1084         -
    def malformed_timestamp_body_date_time(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampBodyDateTimeInput, Ctx], typing.Union[rest_json.output.MalformedTimestampBodyDateTimeOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyDateTimeOutput]]], typing.Callable[[rest_json.input.MalformedTimestampBodyDateTimeInput], typing.Union[rest_json.output.MalformedTimestampBodyDateTimeOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyDateTimeOutput]]]]) -> None:
 1085         -
        """
 1086         -
        Method to register `malformed_timestamp_body_date_time` Python implementation inside the handlers map.
 1087         -
        It can be used as a function decorator in Python.
 1088         -
        """
 1089         -
        ...
 1090         -
 1091         -
 1092         -
    def malformed_timestamp_body_default(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampBodyDefaultInput, Ctx], typing.Union[rest_json.output.MalformedTimestampBodyDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyDefaultOutput]]], typing.Callable[[rest_json.input.MalformedTimestampBodyDefaultInput], typing.Union[rest_json.output.MalformedTimestampBodyDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyDefaultOutput]]]]) -> None:
 1093         -
        """
 1094         -
        Method to register `malformed_timestamp_body_default` Python implementation inside the handlers map.
 1095         -
        It can be used as a function decorator in Python.
 1096         -
        """
 1097         -
        ...
 1098         -
 1099         -
 1100         -
    def malformed_timestamp_body_http_date(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampBodyHttpDateInput, Ctx], typing.Union[rest_json.output.MalformedTimestampBodyHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyHttpDateOutput]]], typing.Callable[[rest_json.input.MalformedTimestampBodyHttpDateInput], typing.Union[rest_json.output.MalformedTimestampBodyHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampBodyHttpDateOutput]]]]) -> None:
 1101         -
        """
 1102         -
        Method to register `malformed_timestamp_body_http_date` Python implementation inside the handlers map.
 1103         -
        It can be used as a function decorator in Python.
 1104         -
        """
 1105         -
        ...
 1106         -
 1107         -
 1108         -
    def malformed_timestamp_header_date_time(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampHeaderDateTimeInput, Ctx], typing.Union[rest_json.output.MalformedTimestampHeaderDateTimeOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderDateTimeOutput]]], typing.Callable[[rest_json.input.MalformedTimestampHeaderDateTimeInput], typing.Union[rest_json.output.MalformedTimestampHeaderDateTimeOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderDateTimeOutput]]]]) -> None:
 1109         -
        """
 1110         -
        Method to register `malformed_timestamp_header_date_time` Python implementation inside the handlers map.
 1111         -
        It can be used as a function decorator in Python.
 1112         -
        """
 1113         -
        ...
 1114         -
 1115         -
 1116         -
    def malformed_timestamp_header_default(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampHeaderDefaultInput, Ctx], typing.Union[rest_json.output.MalformedTimestampHeaderDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderDefaultOutput]]], typing.Callable[[rest_json.input.MalformedTimestampHeaderDefaultInput], typing.Union[rest_json.output.MalformedTimestampHeaderDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderDefaultOutput]]]]) -> None:
 1117         -
        """
 1118         -
        Method to register `malformed_timestamp_header_default` Python implementation inside the handlers map.
 1119         -
        It can be used as a function decorator in Python.
 1120         -
        """
 1121         -
        ...
 1122         -
 1123         -
 1124         -
    def malformed_timestamp_header_epoch(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampHeaderEpochInput, Ctx], typing.Union[rest_json.output.MalformedTimestampHeaderEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderEpochOutput]]], typing.Callable[[rest_json.input.MalformedTimestampHeaderEpochInput], typing.Union[rest_json.output.MalformedTimestampHeaderEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampHeaderEpochOutput]]]]) -> None:
 1125         -
        """
 1126         -
        Method to register `malformed_timestamp_header_epoch` Python implementation inside the handlers map.
 1127         -
        It can be used as a function decorator in Python.
 1128         -
        """
 1129         -
        ...
 1130         -
 1131         -
 1132         -
    def malformed_timestamp_path_default(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampPathDefaultInput, Ctx], typing.Union[rest_json.output.MalformedTimestampPathDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathDefaultOutput]]], typing.Callable[[rest_json.input.MalformedTimestampPathDefaultInput], typing.Union[rest_json.output.MalformedTimestampPathDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathDefaultOutput]]]]) -> None:
 1133         -
        """
 1134         -
        Method to register `malformed_timestamp_path_default` Python implementation inside the handlers map.
 1135         -
        It can be used as a function decorator in Python.
 1136         -
        """
 1137         -
        ...
 1138         -
 1139         -
 1140         -
    def malformed_timestamp_path_epoch(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampPathEpochInput, Ctx], typing.Union[rest_json.output.MalformedTimestampPathEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathEpochOutput]]], typing.Callable[[rest_json.input.MalformedTimestampPathEpochInput], typing.Union[rest_json.output.MalformedTimestampPathEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathEpochOutput]]]]) -> None:
 1141         -
        """
 1142         -
        Method to register `malformed_timestamp_path_epoch` Python implementation inside the handlers map.
 1143         -
        It can be used as a function decorator in Python.
 1144         -
        """
 1145         -
        ...
 1146         -
 1147         -
 1148         -
    def malformed_timestamp_path_http_date(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampPathHttpDateInput, Ctx], typing.Union[rest_json.output.MalformedTimestampPathHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathHttpDateOutput]]], typing.Callable[[rest_json.input.MalformedTimestampPathHttpDateInput], typing.Union[rest_json.output.MalformedTimestampPathHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampPathHttpDateOutput]]]]) -> None:
 1149         -
        """
 1150         -
        Method to register `malformed_timestamp_path_http_date` Python implementation inside the handlers map.
 1151         -
        It can be used as a function decorator in Python.
 1152         -
        """
 1153         -
        ...
 1154         -
 1155         -
 1156         -
    def malformed_timestamp_query_default(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampQueryDefaultInput, Ctx], typing.Union[rest_json.output.MalformedTimestampQueryDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryDefaultOutput]]], typing.Callable[[rest_json.input.MalformedTimestampQueryDefaultInput], typing.Union[rest_json.output.MalformedTimestampQueryDefaultOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryDefaultOutput]]]]) -> None:
 1157         -
        """
 1158         -
        Method to register `malformed_timestamp_query_default` Python implementation inside the handlers map.
 1159         -
        It can be used as a function decorator in Python.
 1160         -
        """
 1161         -
        ...
 1162         -
 1163         -
 1164         -
    def malformed_timestamp_query_epoch(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampQueryEpochInput, Ctx], typing.Union[rest_json.output.MalformedTimestampQueryEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryEpochOutput]]], typing.Callable[[rest_json.input.MalformedTimestampQueryEpochInput], typing.Union[rest_json.output.MalformedTimestampQueryEpochOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryEpochOutput]]]]) -> None:
 1165         -
        """
 1166         -
        Method to register `malformed_timestamp_query_epoch` Python implementation inside the handlers map.
 1167         -
        It can be used as a function decorator in Python.
 1168         -
        """
 1169         -
        ...
 1170         -
 1171         -
 1172         -
    def malformed_timestamp_query_http_date(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedTimestampQueryHttpDateInput, Ctx], typing.Union[rest_json.output.MalformedTimestampQueryHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryHttpDateOutput]]], typing.Callable[[rest_json.input.MalformedTimestampQueryHttpDateInput], typing.Union[rest_json.output.MalformedTimestampQueryHttpDateOutput, typing.Awaitable[rest_json.output.MalformedTimestampQueryHttpDateOutput]]]]) -> None:
 1173         -
        """
 1174         -
        Method to register `malformed_timestamp_query_http_date` Python implementation inside the handlers map.
 1175         -
        It can be used as a function decorator in Python.
 1176         -
        """
 1177         -
        ...
 1178         -
 1179         -
 1180         -
    def malformed_union(self, func: typing.Union[typing.Callable[[rest_json.input.MalformedUnionInput, Ctx], typing.Union[rest_json.output.MalformedUnionOutput, typing.Awaitable[rest_json.output.MalformedUnionOutput]]], typing.Callable[[rest_json.input.MalformedUnionInput], typing.Union[rest_json.output.MalformedUnionOutput, typing.Awaitable[rest_json.output.MalformedUnionOutput]]]]) -> None:
 1181         -
        """
 1182         -
        Method to register `malformed_union` Python implementation inside the handlers map.
 1183         -
        It can be used as a function decorator in Python.
 1184         -
        """
 1185         -
        ...
 1186         -
 1187         -
 1188         -
    def media_type_header(self, func: typing.Union[typing.Callable[[rest_json.input.MediaTypeHeaderInput, Ctx], typing.Union[rest_json.output.MediaTypeHeaderOutput, typing.Awaitable[rest_json.output.MediaTypeHeaderOutput]]], typing.Callable[[rest_json.input.MediaTypeHeaderInput], typing.Union[rest_json.output.MediaTypeHeaderOutput, typing.Awaitable[rest_json.output.MediaTypeHeaderOutput]]]]) -> None:
 1189         -
        """
 1190         -
        Method to register `media_type_header` Python implementation inside the handlers map.
 1191         -
        It can be used as a function decorator in Python.
 1192         -
        """
 1193         -
        ...
 1194         -
 1195         -
 1196         -
    def middleware(self, func: typing.Callable[[rest_json.middleware.Request, typing.Callable[[rest_json.middleware.Request], typing.Awaitable[rest_json.middleware.Response]]], typing.Awaitable[rest_json.middleware.Response]]) -> None:
 1197         -
        """
 1198         -
        Register a Python function to be executed inside a Tower middleware layer.
 1199         -
        """
 1200         -
        ...
 1201         -
 1202         -
 1203         -
    def no_input_and_no_output(self, func: typing.Union[typing.Callable[[rest_json.input.NoInputAndNoOutputInput, Ctx], typing.Union[rest_json.output.NoInputAndNoOutputOutput, typing.Awaitable[rest_json.output.NoInputAndNoOutputOutput]]], typing.Callable[[rest_json.input.NoInputAndNoOutputInput], typing.Union[rest_json.output.NoInputAndNoOutputOutput, typing.Awaitable[rest_json.output.NoInputAndNoOutputOutput]]]]) -> None:
 1204         -
        """
 1205         -
        Method to register `no_input_and_no_output` Python implementation inside the handlers map.
 1206         -
        It can be used as a function decorator in Python.
 1207         -
        """
 1208         -
        ...
 1209         -
 1210         -
 1211         -
    def no_input_and_output(self, func: typing.Union[typing.Callable[[rest_json.input.NoInputAndOutputInput, Ctx], typing.Union[rest_json.output.NoInputAndOutputOutput, typing.Awaitable[rest_json.output.NoInputAndOutputOutput]]], typing.Callable[[rest_json.input.NoInputAndOutputInput], typing.Union[rest_json.output.NoInputAndOutputOutput, typing.Awaitable[rest_json.output.NoInputAndOutputOutput]]]]) -> None:
 1212         -
        """
 1213         -
        Method to register `no_input_and_output` Python implementation inside the handlers map.
 1214         -
        It can be used as a function decorator in Python.
 1215         -
        """
 1216         -
        ...
 1217         -
 1218         -
 1219         -
    def null_and_empty_headers_client(self, func: typing.Union[typing.Callable[[rest_json.input.NullAndEmptyHeadersClientInput, Ctx], typing.Union[rest_json.output.NullAndEmptyHeadersClientOutput, typing.Awaitable[rest_json.output.NullAndEmptyHeadersClientOutput]]], typing.Callable[[rest_json.input.NullAndEmptyHeadersClientInput], typing.Union[rest_json.output.NullAndEmptyHeadersClientOutput, typing.Awaitable[rest_json.output.NullAndEmptyHeadersClientOutput]]]]) -> None:
 1220         -
        """
 1221         -
        Method to register `null_and_empty_headers_client` Python implementation inside the handlers map.
 1222         -
        It can be used as a function decorator in Python.
 1223         -
        """
 1224         -
        ...
 1225         -
 1226         -
 1227         -
    def null_and_empty_headers_server(self, func: typing.Union[typing.Callable[[rest_json.input.NullAndEmptyHeadersServerInput, Ctx], typing.Union[rest_json.output.NullAndEmptyHeadersServerOutput, typing.Awaitable[rest_json.output.NullAndEmptyHeadersServerOutput]]], typing.Callable[[rest_json.input.NullAndEmptyHeadersServerInput], typing.Union[rest_json.output.NullAndEmptyHeadersServerOutput, typing.Awaitable[rest_json.output.NullAndEmptyHeadersServerOutput]]]]) -> None:
 1228         -
        """
 1229         -
        Method to register `null_and_empty_headers_server` Python implementation inside the handlers map.
 1230         -
        It can be used as a function decorator in Python.
 1231         -
        """
 1232         -
        ...
 1233         -
 1234         -
 1235         -
    def omits_null_serializes_empty_string(self, func: typing.Union[typing.Callable[[rest_json.input.OmitsNullSerializesEmptyStringInput, Ctx], typing.Union[rest_json.output.OmitsNullSerializesEmptyStringOutput, typing.Awaitable[rest_json.output.OmitsNullSerializesEmptyStringOutput]]], typing.Callable[[rest_json.input.OmitsNullSerializesEmptyStringInput], typing.Union[rest_json.output.OmitsNullSerializesEmptyStringOutput, typing.Awaitable[rest_json.output.OmitsNullSerializesEmptyStringOutput]]]]) -> None:
 1236         -
        """
 1237         -
        Method to register `omits_null_serializes_empty_string` Python implementation inside the handlers map.
 1238         -
        It can be used as a function decorator in Python.
 1239         -
        """
 1240         -
        ...
 1241         -
 1242         -
 1243         -
    def omits_serializing_empty_lists(self, func: typing.Union[typing.Callable[[rest_json.input.OmitsSerializingEmptyListsInput, Ctx], typing.Union[rest_json.output.OmitsSerializingEmptyListsOutput, typing.Awaitable[rest_json.output.OmitsSerializingEmptyListsOutput]]], typing.Callable[[rest_json.input.OmitsSerializingEmptyListsInput], typing.Union[rest_json.output.OmitsSerializingEmptyListsOutput, typing.Awaitable[rest_json.output.OmitsSerializingEmptyListsOutput]]]]) -> None:
 1244         -
        """
 1245         -
        Method to register `omits_serializing_empty_lists` Python implementation inside the handlers map.
 1246         -
        It can be used as a function decorator in Python.
 1247         -
        """
 1248         -
        ...
 1249         -
 1250         -
 1251         -
    def operation_with_defaults(self, func: typing.Union[typing.Callable[[rest_json.input.OperationWithDefaultsInput, Ctx], typing.Union[rest_json.output.OperationWithDefaultsOutput, typing.Awaitable[rest_json.output.OperationWithDefaultsOutput]]], typing.Callable[[rest_json.input.OperationWithDefaultsInput], typing.Union[rest_json.output.OperationWithDefaultsOutput, typing.Awaitable[rest_json.output.OperationWithDefaultsOutput]]]]) -> None:
 1252         -
        """
 1253         -
        Method to register `operation_with_defaults` Python implementation inside the handlers map.
 1254         -
        It can be used as a function decorator in Python.
 1255         -
        """
 1256         -
        ...
 1257         -
 1258         -
 1259         -
    def operation_with_nested_structure(self, func: typing.Union[typing.Callable[[rest_json.input.OperationWithNestedStructureInput, Ctx], typing.Union[rest_json.output.OperationWithNestedStructureOutput, typing.Awaitable[rest_json.output.OperationWithNestedStructureOutput]]], typing.Callable[[rest_json.input.OperationWithNestedStructureInput], typing.Union[rest_json.output.OperationWithNestedStructureOutput, typing.Awaitable[rest_json.output.OperationWithNestedStructureOutput]]]]) -> None:
 1260         -
        """
 1261         -
        Method to register `operation_with_nested_structure` Python implementation inside the handlers map.
 1262         -
        It can be used as a function decorator in Python.
 1263         -
        """
 1264         -
        ...
 1265         -
 1266         -
 1267         -
    def post_player_action(self, func: typing.Union[typing.Callable[[rest_json.input.PostPlayerActionInput, Ctx], typing.Union[rest_json.output.PostPlayerActionOutput, typing.Awaitable[rest_json.output.PostPlayerActionOutput]]], typing.Callable[[rest_json.input.PostPlayerActionInput], typing.Union[rest_json.output.PostPlayerActionOutput, typing.Awaitable[rest_json.output.PostPlayerActionOutput]]]]) -> None:
 1268         -
        """
 1269         -
        Method to register `post_player_action` Python implementation inside the handlers map.
 1270         -
        It can be used as a function decorator in Python.
 1271         -
        """
 1272         -
        ...
 1273         -
 1274         -
 1275         -
    def post_union_with_json_name(self, func: typing.Union[typing.Callable[[rest_json.input.PostUnionWithJsonNameInput, Ctx], typing.Union[rest_json.output.PostUnionWithJsonNameOutput, typing.Awaitable[rest_json.output.PostUnionWithJsonNameOutput]]], typing.Callable[[rest_json.input.PostUnionWithJsonNameInput], typing.Union[rest_json.output.PostUnionWithJsonNameOutput, typing.Awaitable[rest_json.output.PostUnionWithJsonNameOutput]]]]) -> None:
 1276         -
        """
 1277         -
        Method to register `post_union_with_json_name` Python implementation inside the handlers map.
 1278         -
        It can be used as a function decorator in Python.
 1279         -
        """
 1280         -
        ...
 1281         -
 1282         -
 1283         -
    def put_with_content_encoding(self, func: typing.Union[typing.Callable[[rest_json.input.PutWithContentEncodingInput, Ctx], typing.Union[rest_json.output.PutWithContentEncodingOutput, typing.Awaitable[rest_json.output.PutWithContentEncodingOutput]]], typing.Callable[[rest_json.input.PutWithContentEncodingInput], typing.Union[rest_json.output.PutWithContentEncodingOutput, typing.Awaitable[rest_json.output.PutWithContentEncodingOutput]]]]) -> None:
 1284         -
        """
 1285         -
        Method to register `put_with_content_encoding` Python implementation inside the handlers map.
 1286         -
        It can be used as a function decorator in Python.
 1287         -
        """
 1288         -
        ...
 1289         -
 1290         -
 1291         -
    def query_idempotency_token_auto_fill(self, func: typing.Union[typing.Callable[[rest_json.input.QueryIdempotencyTokenAutoFillInput, Ctx], typing.Union[rest_json.output.QueryIdempotencyTokenAutoFillOutput, typing.Awaitable[rest_json.output.QueryIdempotencyTokenAutoFillOutput]]], typing.Callable[[rest_json.input.QueryIdempotencyTokenAutoFillInput], typing.Union[rest_json.output.QueryIdempotencyTokenAutoFillOutput, typing.Awaitable[rest_json.output.QueryIdempotencyTokenAutoFillOutput]]]]) -> None:
 1292         -
        """
 1293         -
        Method to register `query_idempotency_token_auto_fill` Python implementation inside the handlers map.
 1294         -
        It can be used as a function decorator in Python.
 1295         -
        """
 1296         -
        ...
 1297         -
 1298         -
 1299         -
    def query_params_as_string_list_map(self, func: typing.Union[typing.Callable[[rest_json.input.QueryParamsAsStringListMapInput, Ctx], typing.Union[rest_json.output.QueryParamsAsStringListMapOutput, typing.Awaitable[rest_json.output.QueryParamsAsStringListMapOutput]]], typing.Callable[[rest_json.input.QueryParamsAsStringListMapInput], typing.Union[rest_json.output.QueryParamsAsStringListMapOutput, typing.Awaitable[rest_json.output.QueryParamsAsStringListMapOutput]]]]) -> None:
 1300         -
        """
 1301         -
        Method to register `query_params_as_string_list_map` Python implementation inside the handlers map.
 1302         -
        It can be used as a function decorator in Python.
 1303         -
        """
 1304         -
        ...
 1305         -
 1306         -
 1307         -
    def query_precedence(self, func: typing.Union[typing.Callable[[rest_json.input.QueryPrecedenceInput, Ctx], typing.Union[rest_json.output.QueryPrecedenceOutput, typing.Awaitable[rest_json.output.QueryPrecedenceOutput]]], typing.Callable[[rest_json.input.QueryPrecedenceInput], typing.Union[rest_json.output.QueryPrecedenceOutput, typing.Awaitable[rest_json.output.QueryPrecedenceOutput]]]]) -> None:
 1308         -
        """
 1309         -
        Method to register `query_precedence` Python implementation inside the handlers map.
 1310         -
        It can be used as a function decorator in Python.
 1311         -
        """
 1312         -
        ...
 1313         -
 1314         -
 1315         -
    def recursive_shapes(self, func: typing.Union[typing.Callable[[rest_json.input.RecursiveShapesInput, Ctx], typing.Union[rest_json.output.RecursiveShapesOutput, typing.Awaitable[rest_json.output.RecursiveShapesOutput]]], typing.Callable[[rest_json.input.RecursiveShapesInput], typing.Union[rest_json.output.RecursiveShapesOutput, typing.Awaitable[rest_json.output.RecursiveShapesOutput]]]]) -> None:
 1316         -
        """
 1317         -
        Method to register `recursive_shapes` Python implementation inside the handlers map.
 1318         -
        It can be used as a function decorator in Python.
 1319         -
        """
 1320         -
        ...
 1321         -
 1322         -
 1323         -
    def response_code_http_fallback(self, func: typing.Union[typing.Callable[[rest_json.input.ResponseCodeHttpFallbackInput, Ctx], typing.Union[rest_json.output.ResponseCodeHttpFallbackOutput, typing.Awaitable[rest_json.output.ResponseCodeHttpFallbackOutput]]], typing.Callable[[rest_json.input.ResponseCodeHttpFallbackInput], typing.Union[rest_json.output.ResponseCodeHttpFallbackOutput, typing.Awaitable[rest_json.output.ResponseCodeHttpFallbackOutput]]]]) -> None:
 1324         -
        """
 1325         -
        Method to register `response_code_http_fallback` Python implementation inside the handlers map.
 1326         -
        It can be used as a function decorator in Python.
 1327         -
        """
 1328         -
        ...
 1329         -
 1330         -
 1331         -
    def response_code_required(self, func: typing.Union[typing.Callable[[rest_json.input.ResponseCodeRequiredInput, Ctx], typing.Union[rest_json.output.ResponseCodeRequiredOutput, typing.Awaitable[rest_json.output.ResponseCodeRequiredOutput]]], typing.Callable[[rest_json.input.ResponseCodeRequiredInput], typing.Union[rest_json.output.ResponseCodeRequiredOutput, typing.Awaitable[rest_json.output.ResponseCodeRequiredOutput]]]]) -> None:
 1332         -
        """
 1333         -
        Method to register `response_code_required` Python implementation inside the handlers map.
 1334         -
        It can be used as a function decorator in Python.
 1335         -
        """
 1336         -
        ...
 1337         -
 1338         -
 1339         -
    def run(self, address: typing.Optional[str] = ..., port: typing.Optional[int] = ..., backlog: typing.Optional[int] = ..., workers: typing.Optional[int] = ..., tls: typing.Optional[rest_json.tls.TlsConfig] = ...) -> None:
 1340         -
        """
 1341         -
        Main entrypoint: start the server on multiple workers.
 1342         -
        """
 1343         -
        ...
 1344         -
 1345         -
 1346         -
    def run_lambda(self) -> None:
 1347         -
        """
 1348         -
        Lambda entrypoint: start the server on Lambda.
 1349         -
        """
 1350         -
        ...
 1351         -
 1352         -
 1353         -
    def simple_scalar_properties(self, func: typing.Union[typing.Callable[[rest_json.input.SimpleScalarPropertiesInput, Ctx], typing.Union[rest_json.output.SimpleScalarPropertiesOutput, typing.Awaitable[rest_json.output.SimpleScalarPropertiesOutput]]], typing.Callable[[rest_json.input.SimpleScalarPropertiesInput], typing.Union[rest_json.output.SimpleScalarPropertiesOutput, typing.Awaitable[rest_json.output.SimpleScalarPropertiesOutput]]]]) -> None:
 1354         -
        """
 1355         -
        Method to register `simple_scalar_properties` Python implementation inside the handlers map.
 1356         -
        It can be used as a function decorator in Python.
 1357         -
        """
 1358         -
        ...
 1359         -
 1360         -
 1361         -
    def sparse_json_lists(self, func: typing.Union[typing.Callable[[rest_json.input.SparseJsonListsInput, Ctx], typing.Union[rest_json.output.SparseJsonListsOutput, typing.Awaitable[rest_json.output.SparseJsonListsOutput]]], typing.Callable[[rest_json.input.SparseJsonListsInput], typing.Union[rest_json.output.SparseJsonListsOutput, typing.Awaitable[rest_json.output.SparseJsonListsOutput]]]]) -> None:
 1362         -
        """
 1363         -
        Method to register `sparse_json_lists` Python implementation inside the handlers map.
 1364         -
        It can be used as a function decorator in Python.
 1365         -
        """
 1366         -
        ...
 1367         -
 1368         -
 1369         -
    def sparse_json_maps(self, func: typing.Union[typing.Callable[[rest_json.input.SparseJsonMapsInput, Ctx], typing.Union[rest_json.output.SparseJsonMapsOutput, typing.Awaitable[rest_json.output.SparseJsonMapsOutput]]], typing.Callable[[rest_json.input.SparseJsonMapsInput], typing.Union[rest_json.output.SparseJsonMapsOutput, typing.Awaitable[rest_json.output.SparseJsonMapsOutput]]]]) -> None:
 1370         -
        """
 1371         -
        Method to register `sparse_json_maps` Python implementation inside the handlers map.
 1372         -
        It can be used as a function decorator in Python.
 1373         -
        """
 1374         -
        ...
 1375         -
 1376         -
 1377         -
    def start_worker(self) -> None:
 1378         -
        """
 1379         -
        Build the service and start a single worker.
 1380         -
        """
 1381         -
        ...
 1382         -
 1383         -
 1384         -
    def streaming_traits(self, func: typing.Union[typing.Callable[[rest_json.input.StreamingTraitsInput, Ctx], typing.Union[rest_json.output.StreamingTraitsOutput, typing.Awaitable[rest_json.output.StreamingTraitsOutput]]], typing.Callable[[rest_json.input.StreamingTraitsInput], typing.Union[rest_json.output.StreamingTraitsOutput, typing.Awaitable[rest_json.output.StreamingTraitsOutput]]]]) -> None:
 1385         -
        """
 1386         -
        Method to register `streaming_traits` Python implementation inside the handlers map.
 1387         -
        It can be used as a function decorator in Python.
 1388         -
        """
 1389         -
        ...
 1390         -
 1391         -
 1392         -
    def streaming_traits_require_length(self, func: typing.Union[typing.Callable[[rest_json.input.StreamingTraitsRequireLengthInput, Ctx], typing.Union[rest_json.output.StreamingTraitsRequireLengthOutput, typing.Awaitable[rest_json.output.StreamingTraitsRequireLengthOutput]]], typing.Callable[[rest_json.input.StreamingTraitsRequireLengthInput], typing.Union[rest_json.output.StreamingTraitsRequireLengthOutput, typing.Awaitable[rest_json.output.StreamingTraitsRequireLengthOutput]]]]) -> None:
 1393         -
        """
 1394         -
        Method to register `streaming_traits_require_length` Python implementation inside the handlers map.
 1395         -
        It can be used as a function decorator in Python.
 1396         -
        """
 1397         -
        ...
 1398         -
 1399         -
 1400         -
    def streaming_traits_with_media_type(self, func: typing.Union[typing.Callable[[rest_json.input.StreamingTraitsWithMediaTypeInput, Ctx], typing.Union[rest_json.output.StreamingTraitsWithMediaTypeOutput, typing.Awaitable[rest_json.output.StreamingTraitsWithMediaTypeOutput]]], typing.Callable[[rest_json.input.StreamingTraitsWithMediaTypeInput], typing.Union[rest_json.output.StreamingTraitsWithMediaTypeOutput, typing.Awaitable[rest_json.output.StreamingTraitsWithMediaTypeOutput]]]]) -> None:
 1401         -
        """
 1402         -
        Method to register `streaming_traits_with_media_type` Python implementation inside the handlers map.
 1403         -
        It can be used as a function decorator in Python.
 1404         -
        """
 1405         -
        ...
 1406         -
 1407         -
 1408         -
    def test_body_structure(self, func: typing.Union[typing.Callable[[rest_json.input.TestBodyStructureInput, Ctx], typing.Union[rest_json.output.TestBodyStructureOutput, typing.Awaitable[rest_json.output.TestBodyStructureOutput]]], typing.Callable[[rest_json.input.TestBodyStructureInput], typing.Union[rest_json.output.TestBodyStructureOutput, typing.Awaitable[rest_json.output.TestBodyStructureOutput]]]]) -> None:
 1409         -
        """
 1410         -
        Method to register `test_body_structure` Python implementation inside the handlers map.
 1411         -
        It can be used as a function decorator in Python.
 1412         -
        """
 1413         -
        ...
 1414         -
 1415         -
 1416         -
    def test_get_no_input_no_payload(self, func: typing.Union[typing.Callable[[rest_json.input.TestGetNoInputNoPayloadInput, Ctx], typing.Union[rest_json.output.TestGetNoInputNoPayloadOutput, typing.Awaitable[rest_json.output.TestGetNoInputNoPayloadOutput]]], typing.Callable[[rest_json.input.TestGetNoInputNoPayloadInput], typing.Union[rest_json.output.TestGetNoInputNoPayloadOutput, typing.Awaitable[rest_json.output.TestGetNoInputNoPayloadOutput]]]]) -> None:
 1417         -
        """
 1418         -
        Method to register `test_get_no_input_no_payload` Python implementation inside the handlers map.
 1419         -
        It can be used as a function decorator in Python.
 1420         -
        """
 1421         -
        ...
 1422         -
 1423         -
 1424         -
    def test_get_no_payload(self, func: typing.Union[typing.Callable[[rest_json.input.TestGetNoPayloadInput, Ctx], typing.Union[rest_json.output.TestGetNoPayloadOutput, typing.Awaitable[rest_json.output.TestGetNoPayloadOutput]]], typing.Callable[[rest_json.input.TestGetNoPayloadInput], typing.Union[rest_json.output.TestGetNoPayloadOutput, typing.Awaitable[rest_json.output.TestGetNoPayloadOutput]]]]) -> None:
 1425         -
        """
 1426         -
        Method to register `test_get_no_payload` Python implementation inside the handlers map.
 1427         -
        It can be used as a function decorator in Python.
 1428         -
        """
 1429         -
        ...
 1430         -
 1431         -
 1432         -
    def test_payload_blob(self, func: typing.Union[typing.Callable[[rest_json.input.TestPayloadBlobInput, Ctx], typing.Union[rest_json.output.TestPayloadBlobOutput, typing.Awaitable[rest_json.output.TestPayloadBlobOutput]]], typing.Callable[[rest_json.input.TestPayloadBlobInput], typing.Union[rest_json.output.TestPayloadBlobOutput, typing.Awaitable[rest_json.output.TestPayloadBlobOutput]]]]) -> None:
 1433         -
        """
 1434         -
        Method to register `test_payload_blob` Python implementation inside the handlers map.
 1435         -
        It can be used as a function decorator in Python.
 1436         -
        """
 1437         -
        ...
 1438         -
 1439         -
 1440         -
    def test_payload_structure(self, func: typing.Union[typing.Callable[[rest_json.input.TestPayloadStructureInput, Ctx], typing.Union[rest_json.output.TestPayloadStructureOutput, typing.Awaitable[rest_json.output.TestPayloadStructureOutput]]], typing.Callable[[rest_json.input.TestPayloadStructureInput], typing.Union[rest_json.output.TestPayloadStructureOutput, typing.Awaitable[rest_json.output.TestPayloadStructureOutput]]]]) -> None:
 1441         -
        """
 1442         -
        Method to register `test_payload_structure` Python implementation inside the handlers map.
 1443         -
        It can be used as a function decorator in Python.
 1444         -
        """
 1445         -
        ...
 1446         -
 1447         -
 1448         -
    def test_post_no_input_no_payload(self, func: typing.Union[typing.Callable[[rest_json.input.TestPostNoInputNoPayloadInput, Ctx], typing.Union[rest_json.output.TestPostNoInputNoPayloadOutput, typing.Awaitable[rest_json.output.TestPostNoInputNoPayloadOutput]]], typing.Callable[[rest_json.input.TestPostNoInputNoPayloadInput], typing.Union[rest_json.output.TestPostNoInputNoPayloadOutput, typing.Awaitable[rest_json.output.TestPostNoInputNoPayloadOutput]]]]) -> None:
 1449         -
        """
 1450         -
        Method to register `test_post_no_input_no_payload` Python implementation inside the handlers map.
 1451         -
        It can be used as a function decorator in Python.
 1452         -
        """
 1453         -
        ...
 1454         -
 1455         -
 1456         -
    def test_post_no_payload(self, func: typing.Union[typing.Callable[[rest_json.input.TestPostNoPayloadInput, Ctx], typing.Union[rest_json.output.TestPostNoPayloadOutput, typing.Awaitable[rest_json.output.TestPostNoPayloadOutput]]], typing.Callable[[rest_json.input.TestPostNoPayloadInput], typing.Union[rest_json.output.TestPostNoPayloadOutput, typing.Awaitable[rest_json.output.TestPostNoPayloadOutput]]]]) -> None:
 1457         -
        """
 1458         -
        Method to register `test_post_no_payload` Python implementation inside the handlers map.
 1459         -
        It can be used as a function decorator in Python.
 1460         -
        """
 1461         -
        ...
 1462         -
 1463         -
 1464         -
    def timestamp_format_headers(self, func: typing.Union[typing.Callable[[rest_json.input.TimestampFormatHeadersInput, Ctx], typing.Union[rest_json.output.TimestampFormatHeadersOutput, typing.Awaitable[rest_json.output.TimestampFormatHeadersOutput]]], typing.Callable[[rest_json.input.TimestampFormatHeadersInput], typing.Union[rest_json.output.TimestampFormatHeadersOutput, typing.Awaitable[rest_json.output.TimestampFormatHeadersOutput]]]]) -> None:
 1465         -
        """
 1466         -
        Method to register `timestamp_format_headers` Python implementation inside the handlers map.
 1467         -
        It can be used as a function decorator in Python.
 1468         -
        """
 1469         -
        ...
 1470         -
 1471         -
 1472         -
    def unit_input_and_output(self, func: typing.Union[typing.Callable[[rest_json.input.UnitInputAndOutputInput, Ctx], typing.Union[rest_json.output.UnitInputAndOutputOutput, typing.Awaitable[rest_json.output.UnitInputAndOutputOutput]]], typing.Callable[[rest_json.input.UnitInputAndOutputInput], typing.Union[rest_json.output.UnitInputAndOutputOutput, typing.Awaitable[rest_json.output.UnitInputAndOutputOutput]]]]) -> None:
 1473         -
        """
 1474         -
        Method to register `unit_input_and_output` Python implementation inside the handlers map.
 1475         -
        It can be used as a function decorator in Python.
 1476         -
        """
 1477         -
        ...
 1478         -
 1479         -
 1480         -
    def __init__(self) -> None:
 1481         -
        ...
 1482         -
 1483         -
 1484         -
CODEGEN_VERSION: str = ...