Server Test

Server Test

rev. d838bf488731ae5e751cce0fe13f339a5b9be858 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/operation_shape.rs

@@ -1,1 +2233,2235 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/* ServerOperationGenerator.kt:48 */
    3         -
#[allow(missing_docs)] // documentation missing in model
    4         -
                       /* ServerOperationGenerator.kt:55 */
    5         -
pub struct OperationWithNestedStructure;
           3  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
           4  +
/* ServerOperationGenerator.kt:55 */
           5  +
pub struct NoInputAndNoOutput;
    6      6   
    7         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithNestedStructure {
           7  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndNoOutput {
    8      8   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
    9      9   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   10         -
            "aws.protocoltests.restjson#OperationWithNestedStructure",
          10  +
            "aws.protocoltests.restjson#NoInputAndNoOutput",
   11     11   
            "aws.protocoltests.restjson",
   12         -
            "OperationWithNestedStructure",
          12  +
            "NoInputAndNoOutput",
   13     13   
        );
   14     14   
   15         -
    type Input = crate::input::OperationWithNestedStructureInput;
   16         -
    type Output = crate::output::OperationWithNestedStructureOutput;
   17         -
    type Error = crate::error::OperationWithNestedStructureError;
          15  +
    type Input = crate::input::NoInputAndNoOutputInput;
          16  +
    type Output = crate::output::NoInputAndNoOutputOutput;
          17  +
    type Error = std::convert::Infallible;
   18     18   
}
   19     19   
   20     20   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   21         -
    for OperationWithNestedStructure
          21  +
    for NoInputAndNoOutput
   22     22   
{
   23     23   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
   24     24   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   25     25   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
   26     26   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   27     27   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   28     28   
        >,
   29     29   
    >;
   30     30   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
   31     31   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   32     32   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   33     33   
    >;
   34     34   
   35     35   
    fn request_fmt() -> Self::RequestFmt {
   36     36   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   37     37   
    }
   38     38   
   39     39   
    fn response_fmt() -> Self::ResponseFmt {
   40     40   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   41     41   
    }
   42     42   
}
   43     43   
/* ServerOperationGenerator.kt:88 */
   44     44   
   45         -
/* ServerOperationGenerator.kt:48 */
   46         -
#[allow(missing_docs)] // documentation missing in model
   47         -
                       /* ServerOperationGenerator.kt:55 */
   48         -
pub struct OperationWithDefaults;
          45  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
          46  +
/* ServerOperationGenerator.kt:55 */
          47  +
pub struct NoInputAndOutput;
   49     48   
   50         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithDefaults {
          49  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndOutput {
   51     50   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   52     51   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   53         -
            "aws.protocoltests.restjson#OperationWithDefaults",
          52  +
            "aws.protocoltests.restjson#NoInputAndOutput",
   54     53   
            "aws.protocoltests.restjson",
   55         -
            "OperationWithDefaults",
          54  +
            "NoInputAndOutput",
   56     55   
        );
   57     56   
   58         -
    type Input = crate::input::OperationWithDefaultsInput;
   59         -
    type Output = crate::output::OperationWithDefaultsOutput;
   60         -
    type Error = crate::error::OperationWithDefaultsError;
          57  +
    type Input = crate::input::NoInputAndOutputInput;
          58  +
    type Output = crate::output::NoInputAndOutputOutput;
          59  +
    type Error = std::convert::Infallible;
   61     60   
}
   62     61   
   63     62   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
   64         -
    for OperationWithDefaults
          63  +
    for NoInputAndOutput
   65     64   
{
   66     65   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
   67     66   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   68     67   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
   69     68   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   70     69   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   71     70   
        >,
   72     71   
    >;
   73     72   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
   74     73   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   75     74   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
   76     75   
    >;
   77     76   
   78     77   
    fn request_fmt() -> Self::RequestFmt {
   79     78   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
   80     79   
    }
   81     80   
   82     81   
    fn response_fmt() -> Self::ResponseFmt {
   83     82   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
   84     83   
    }
   85     84   
}
   86     85   
/* ServerOperationGenerator.kt:88 */
   87     86   
   88         -
/// /* ServerOperationGenerator.kt:48 */The example tests how servers must support requests containing a `Content-Type` header with parameters.
          87  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
   89     88   
/* ServerOperationGenerator.kt:55 */
   90         -
pub struct ContentTypeParameters;
          89  +
pub struct EmptyInputAndEmptyOutput;
   91     90   
   92         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
          91  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyInputAndEmptyOutput {
   93     92   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
   94     93   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
   95         -
            "aws.protocoltests.restjson#ContentTypeParameters",
          94  +
            "aws.protocoltests.restjson#EmptyInputAndEmptyOutput",
   96     95   
            "aws.protocoltests.restjson",
   97         -
            "ContentTypeParameters",
          96  +
            "EmptyInputAndEmptyOutput",
   98     97   
        );
   99     98   
  100         -
    type Input = crate::input::ContentTypeParametersInput;
  101         -
    type Output = crate::output::ContentTypeParametersOutput;
          99  +
    type Input = crate::input::EmptyInputAndEmptyOutputInput;
         100  +
    type Output = crate::output::EmptyInputAndEmptyOutputOutput;
  102    101   
    type Error = std::convert::Infallible;
  103    102   
}
  104    103   
  105    104   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  106         -
    for ContentTypeParameters
         105  +
    for EmptyInputAndEmptyOutput
  107    106   
{
  108    107   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  109    108   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  110    109   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  111    110   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  112    111   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  113    112   
        >,
  114    113   
    >;
  115    114   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  116    115   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  117    116   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  118    117   
    >;
  119    118   
  120    119   
    fn request_fmt() -> Self::RequestFmt {
  121    120   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  122    121   
    }
  123    122   
  124    123   
    fn response_fmt() -> Self::ResponseFmt {
  125    124   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  126    125   
    }
  127    126   
}
  128    127   
/* ServerOperationGenerator.kt:88 */
  129    128   
  130         -
/* ServerOperationGenerator.kt:48 */
  131         -
#[allow(missing_docs)] // documentation missing in model
  132         -
                       /* ServerOperationGenerator.kt:55 */
  133         -
pub struct PutWithContentEncoding;
         129  +
/// /* ServerOperationGenerator.kt:48 */This test is similar to NoInputAndNoOutput, but uses explicit Unit types.
         130  +
/* ServerOperationGenerator.kt:55 */
         131  +
pub struct UnitInputAndOutput;
  134    132   
  135         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
         133  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for UnitInputAndOutput {
  136    134   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  137    135   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  138         -
            "aws.protocoltests.restjson#PutWithContentEncoding",
         136  +
            "aws.protocoltests.restjson#UnitInputAndOutput",
  139    137   
            "aws.protocoltests.restjson",
  140         -
            "PutWithContentEncoding",
         138  +
            "UnitInputAndOutput",
  141    139   
        );
  142    140   
  143         -
    type Input = crate::input::PutWithContentEncodingInput;
  144         -
    type Output = crate::output::PutWithContentEncodingOutput;
         141  +
    type Input = crate::input::UnitInputAndOutputInput;
         142  +
    type Output = crate::output::UnitInputAndOutputOutput;
  145    143   
    type Error = std::convert::Infallible;
  146    144   
}
  147    145   
  148    146   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  149         -
    for PutWithContentEncoding
         147  +
    for UnitInputAndOutput
  150    148   
{
  151    149   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  152    150   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  153    151   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  154    152   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  155    153   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  156    154   
        >,
  157    155   
    >;
  158    156   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  159    157   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  160    158   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  161    159   
    >;
  162    160   
  163    161   
    fn request_fmt() -> Self::RequestFmt {
  164    162   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  165    163   
    }
  166    164   
  167    165   
    fn response_fmt() -> Self::ResponseFmt {
  168    166   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  169    167   
    }
  170    168   
}
  171    169   
/* ServerOperationGenerator.kt:88 */
  172    170   
  173         -
/* ServerOperationGenerator.kt:48 */
  174         -
#[allow(missing_docs)] // documentation missing in model
  175         -
                       /* ServerOperationGenerator.kt:55 */
  176         -
pub struct FractionalSeconds;
         171  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there is no input or output payload but there are HTTP header bindings.
         172  +
/* ServerOperationGenerator.kt:55 */
         173  +
pub struct InputAndOutputWithHeaders;
  177    174   
  178         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
         175  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for InputAndOutputWithHeaders {
  179    176   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  180    177   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  181         -
            "aws.protocoltests.restjson#FractionalSeconds",
         178  +
            "aws.protocoltests.restjson#InputAndOutputWithHeaders",
  182    179   
            "aws.protocoltests.restjson",
  183         -
            "FractionalSeconds",
         180  +
            "InputAndOutputWithHeaders",
  184    181   
        );
  185    182   
  186         -
    type Input = crate::input::FractionalSecondsInput;
  187         -
    type Output = crate::output::FractionalSecondsOutput;
  188         -
    type Error = std::convert::Infallible;
         183  +
    type Input = crate::input::InputAndOutputWithHeadersInput;
         184  +
    type Output = crate::output::InputAndOutputWithHeadersOutput;
         185  +
    type Error = crate::error::InputAndOutputWithHeadersError;
  189    186   
}
  190    187   
  191    188   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  192         -
    for FractionalSeconds
         189  +
    for InputAndOutputWithHeaders
  193    190   
{
  194    191   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  195    192   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  196    193   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  197    194   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  198    195   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  199    196   
        >,
  200    197   
    >;
  201    198   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  202    199   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  203    200   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  204    201   
    >;
  205    202   
  206    203   
    fn request_fmt() -> Self::RequestFmt {
  207    204   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  208    205   
    }
  209    206   
  210    207   
    fn response_fmt() -> Self::ResponseFmt {
  211    208   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  212    209   
    }
  213    210   
}
  214    211   
/* ServerOperationGenerator.kt:88 */
  215    212   
  216         -
/* ServerOperationGenerator.kt:48 */
  217         -
#[allow(missing_docs)] // documentation missing in model
  218         -
                       /* ServerOperationGenerator.kt:55 */
  219         -
pub struct DatetimeOffsets;
         213  +
/// /* ServerOperationGenerator.kt:48 */Null headers are not sent over the wire, empty headers are serialized to ""
         214  +
/* ServerOperationGenerator.kt:55 */
         215  +
pub struct NullAndEmptyHeadersClient;
  220    216   
  221         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
         217  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullAndEmptyHeadersClient {
  222    218   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  223    219   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  224         -
            "aws.protocoltests.restjson#DatetimeOffsets",
         220  +
            "aws.protocoltests.restjson#NullAndEmptyHeadersClient",
  225    221   
            "aws.protocoltests.restjson",
  226         -
            "DatetimeOffsets",
         222  +
            "NullAndEmptyHeadersClient",
  227    223   
        );
  228    224   
  229         -
    type Input = crate::input::DatetimeOffsetsInput;
  230         -
    type Output = crate::output::DatetimeOffsetsOutput;
         225  +
    type Input = crate::input::NullAndEmptyHeadersClientInput;
         226  +
    type Output = crate::output::NullAndEmptyHeadersClientOutput;
  231    227   
    type Error = std::convert::Infallible;
  232    228   
}
  233    229   
  234    230   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  235         -
    for DatetimeOffsets
         231  +
    for NullAndEmptyHeadersClient
  236    232   
{
  237    233   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  238    234   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  239    235   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  240    236   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  241    237   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  242    238   
        >,
  243    239   
    >;
  244    240   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  245    241   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  246    242   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  247    243   
    >;
  248    244   
  249    245   
    fn request_fmt() -> Self::RequestFmt {
  250    246   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  251    247   
    }
  252    248   
  253    249   
    fn response_fmt() -> Self::ResponseFmt {
  254    250   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  255    251   
    }
  256    252   
}
  257    253   
/* ServerOperationGenerator.kt:88 */
  258    254   
  259         -
/// /* ServerOperationGenerator.kt:48 */This example POST operation has no input and serializes a request without a HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Type) to a POST operation with no modeled input.
         255  +
/// /* ServerOperationGenerator.kt:48 */Null headers are not sent over the wire, empty headers are serialized to ""
  260    256   
/* ServerOperationGenerator.kt:55 */
  261         -
pub struct TestPostNoInputNoPayload;
         257  +
pub struct NullAndEmptyHeadersServer;
  262    258   
  263         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPostNoInputNoPayload {
         259  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullAndEmptyHeadersServer {
  264    260   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  265    261   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  266         -
            "aws.protocoltests.restjson#TestPostNoInputNoPayload",
         262  +
            "aws.protocoltests.restjson#NullAndEmptyHeadersServer",
  267    263   
            "aws.protocoltests.restjson",
  268         -
            "TestPostNoInputNoPayload",
         264  +
            "NullAndEmptyHeadersServer",
  269    265   
        );
  270    266   
  271         -
    type Input = crate::input::TestPostNoInputNoPayloadInput;
  272         -
    type Output = crate::output::TestPostNoInputNoPayloadOutput;
         267  +
    type Input = crate::input::NullAndEmptyHeadersServerInput;
         268  +
    type Output = crate::output::NullAndEmptyHeadersServerOutput;
  273    269   
    type Error = std::convert::Infallible;
  274    270   
}
  275    271   
  276    272   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  277         -
    for TestPostNoInputNoPayload
         273  +
    for NullAndEmptyHeadersServer
  278    274   
{
  279    275   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  280    276   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  281    277   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  282    278   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  283    279   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  284    280   
        >,
  285    281   
    >;
  286    282   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  287    283   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  288    284   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  289    285   
    >;
  290    286   
  291    287   
    fn request_fmt() -> Self::RequestFmt {
  292    288   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  293    289   
    }
  294    290   
  295    291   
    fn response_fmt() -> Self::ResponseFmt {
  296    292   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  297    293   
    }
  298    294   
}
  299    295   
/* ServerOperationGenerator.kt:88 */
  300    296   
  301         -
/// /* ServerOperationGenerator.kt:48 */This example GET operation has no input and serializes a request without a HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Length, Content-Type) to operations that semantically cannot produce an HTTP body.
         297  +
/// /* ServerOperationGenerator.kt:48 */This example tests how timestamp request and response headers are serialized.
  302    298   
/* ServerOperationGenerator.kt:55 */
  303         -
pub struct TestGetNoInputNoPayload;
         299  +
pub struct TimestampFormatHeaders;
  304    300   
  305         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestGetNoInputNoPayload {
         301  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TimestampFormatHeaders {
  306    302   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  307    303   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  308         -
            "aws.protocoltests.restjson#TestGetNoInputNoPayload",
         304  +
            "aws.protocoltests.restjson#TimestampFormatHeaders",
  309    305   
            "aws.protocoltests.restjson",
  310         -
            "TestGetNoInputNoPayload",
         306  +
            "TimestampFormatHeaders",
  311    307   
        );
  312    308   
  313         -
    type Input = crate::input::TestGetNoInputNoPayloadInput;
  314         -
    type Output = crate::output::TestGetNoInputNoPayloadOutput;
         309  +
    type Input = crate::input::TimestampFormatHeadersInput;
         310  +
    type Output = crate::output::TimestampFormatHeadersOutput;
  315    311   
    type Error = std::convert::Infallible;
  316    312   
}
  317    313   
  318    314   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  319         -
    for TestGetNoInputNoPayload
         315  +
    for TimestampFormatHeaders
  320    316   
{
  321    317   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  322    318   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  323    319   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  324    320   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  325    321   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  326    322   
        >,
  327    323   
    >;
  328    324   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  329    325   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  330    326   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  331    327   
    >;
  332    328   
  333    329   
    fn request_fmt() -> Self::RequestFmt {
  334    330   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  335    331   
    }
  336    332   
  337    333   
    fn response_fmt() -> Self::ResponseFmt {
  338    334   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  339    335   
    }
  340    336   
}
  341    337   
/* ServerOperationGenerator.kt:88 */
  342    338   
  343         -
/// /* ServerOperationGenerator.kt:48 */This example POST operation serializes a request without a modeled HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Type) to a POST operation with no modeled payload.
         339  +
/// /* ServerOperationGenerator.kt:48 */This example ensures that mediaType strings are base64 encoded in headers.
  344    340   
/* ServerOperationGenerator.kt:55 */
  345         -
pub struct TestPostNoPayload;
         341  +
pub struct MediaTypeHeader;
  346    342   
  347         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPostNoPayload {
         343  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MediaTypeHeader {
  348    344   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  349    345   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  350         -
            "aws.protocoltests.restjson#TestPostNoPayload",
         346  +
            "aws.protocoltests.restjson#MediaTypeHeader",
  351    347   
            "aws.protocoltests.restjson",
  352         -
            "TestPostNoPayload",
         348  +
            "MediaTypeHeader",
  353    349   
        );
  354    350   
  355         -
    type Input = crate::input::TestPostNoPayloadInput;
  356         -
    type Output = crate::output::TestPostNoPayloadOutput;
         351  +
    type Input = crate::input::MediaTypeHeaderInput;
         352  +
    type Output = crate::output::MediaTypeHeaderOutput;
  357    353   
    type Error = std::convert::Infallible;
  358    354   
}
  359    355   
  360    356   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  361         -
    for TestPostNoPayload
         357  +
    for MediaTypeHeader
  362    358   
{
  363    359   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  364    360   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  365    361   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  366    362   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  367    363   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  368    364   
        >,
  369    365   
    >;
  370    366   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  371    367   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  372    368   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  373    369   
    >;
  374    370   
  375    371   
    fn request_fmt() -> Self::RequestFmt {
  376    372   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  377    373   
    }
  378    374   
  379    375   
    fn response_fmt() -> Self::ResponseFmt {
  380    376   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  381    377   
    }
  382    378   
}
  383    379   
/* ServerOperationGenerator.kt:88 */
  384    380   
  385         -
/// /* ServerOperationGenerator.kt:48 */This example GET operation serializes a request without a modeled HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Length, Content-Type) to operations that semantically cannot produce an HTTP body.
         381  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests are serialized when there's no input payload but there are HTTP labels.
  386    382   
/* ServerOperationGenerator.kt:55 */
  387         -
pub struct TestGetNoPayload;
         383  +
pub struct HttpRequestWithLabels;
  388    384   
  389         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestGetNoPayload {
         385  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithLabels {
  390    386   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  391    387   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  392         -
            "aws.protocoltests.restjson#TestGetNoPayload",
         388  +
            "aws.protocoltests.restjson#HttpRequestWithLabels",
  393    389   
            "aws.protocoltests.restjson",
  394         -
            "TestGetNoPayload",
         390  +
            "HttpRequestWithLabels",
  395    391   
        );
  396    392   
  397         -
    type Input = crate::input::TestGetNoPayloadInput;
  398         -
    type Output = crate::output::TestGetNoPayloadOutput;
  399         -
    type Error = std::convert::Infallible;
         393  +
    type Input = crate::input::HttpRequestWithLabelsInput;
         394  +
    type Output = crate::output::HttpRequestWithLabelsOutput;
         395  +
    type Error = crate::error::HttpRequestWithLabelsError;
  400    396   
}
  401    397   
  402    398   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  403         -
    for TestGetNoPayload
         399  +
    for HttpRequestWithLabels
  404    400   
{
  405    401   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  406    402   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  407    403   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  408    404   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  409    405   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  410    406   
        >,
  411    407   
    >;
  412    408   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  413    409   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  414    410   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  415    411   
    >;
  416    412   
  417    413   
    fn request_fmt() -> Self::RequestFmt {
  418    414   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  419    415   
    }
  420    416   
  421    417   
    fn response_fmt() -> Self::ResponseFmt {
  422    418   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  423    419   
    }
  424    420   
}
  425    421   
/* ServerOperationGenerator.kt:88 */
  426    422   
  427         -
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a payload targeting a blob. The Blob shape is not structured content and we cannot make assumptions about what data will be sent. This test ensures only a generic "Content-Type: application/octet-stream" header is used, and that we are not treating an empty body as an empty JSON document.
         423  +
/// /* ServerOperationGenerator.kt:48 */The example tests how requests serialize different timestamp formats in the URI path.
  428    424   
/* ServerOperationGenerator.kt:55 */
  429         -
pub struct TestPayloadBlob;
         425  +
pub struct HttpRequestWithLabelsAndTimestampFormat;
  430    426   
  431         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPayloadBlob {
         427  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         428  +
    for HttpRequestWithLabelsAndTimestampFormat
         429  +
{
  432    430   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  433    431   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  434         -
            "aws.protocoltests.restjson#TestPayloadBlob",
         432  +
            "aws.protocoltests.restjson#HttpRequestWithLabelsAndTimestampFormat",
  435    433   
            "aws.protocoltests.restjson",
  436         -
            "TestPayloadBlob",
         434  +
            "HttpRequestWithLabelsAndTimestampFormat",
  437    435   
        );
  438    436   
  439         -
    type Input = crate::input::TestPayloadBlobInput;
  440         -
    type Output = crate::output::TestPayloadBlobOutput;
  441         -
    type Error = std::convert::Infallible;
         437  +
    type Input = crate::input::HttpRequestWithLabelsAndTimestampFormatInput;
         438  +
    type Output = crate::output::HttpRequestWithLabelsAndTimestampFormatOutput;
         439  +
    type Error = crate::error::HttpRequestWithLabelsAndTimestampFormatError;
  442    440   
}
  443    441   
  444    442   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  445         -
    for TestPayloadBlob
         443  +
    for HttpRequestWithLabelsAndTimestampFormat
  446    444   
{
  447    445   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  448    446   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  449    447   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  450    448   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  451    449   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  452    450   
        >,
  453    451   
    >;
  454    452   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  455    453   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  456    454   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  457    455   
    >;
  458    456   
  459    457   
    fn request_fmt() -> Self::RequestFmt {
  460    458   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  461    459   
    }
  462    460   
  463    461   
    fn response_fmt() -> Self::ResponseFmt {
  464    462   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  465    463   
    }
  466    464   
}
  467    465   
/* ServerOperationGenerator.kt:88 */
  468    466   
  469         -
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a payload targeting a structure. This enforces the same requirements as TestBodyStructure but with the body specified by the @httpPayload trait.
  470         -
/* ServerOperationGenerator.kt:55 */
  471         -
pub struct TestPayloadStructure;
         467  +
/* ServerOperationGenerator.kt:48 */
         468  +
#[allow(missing_docs)] // documentation missing in model
         469  +
                       /* ServerOperationGenerator.kt:55 */
         470  +
pub struct HttpRequestWithGreedyLabelInPath;
  472    471   
  473         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPayloadStructure {
         472  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
         473  +
    for HttpRequestWithGreedyLabelInPath
         474  +
{
  474    475   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  475    476   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  476         -
            "aws.protocoltests.restjson#TestPayloadStructure",
         477  +
            "aws.protocoltests.restjson#HttpRequestWithGreedyLabelInPath",
  477    478   
            "aws.protocoltests.restjson",
  478         -
            "TestPayloadStructure",
         479  +
            "HttpRequestWithGreedyLabelInPath",
  479    480   
        );
  480    481   
  481         -
    type Input = crate::input::TestPayloadStructureInput;
  482         -
    type Output = crate::output::TestPayloadStructureOutput;
  483         -
    type Error = std::convert::Infallible;
         482  +
    type Input = crate::input::HttpRequestWithGreedyLabelInPathInput;
         483  +
    type Output = crate::output::HttpRequestWithGreedyLabelInPathOutput;
         484  +
    type Error = crate::error::HttpRequestWithGreedyLabelInPathError;
  484    485   
}
  485    486   
  486    487   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  487         -
    for TestPayloadStructure
         488  +
    for HttpRequestWithGreedyLabelInPath
  488    489   
{
  489    490   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  490    491   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  491    492   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  492    493   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  493    494   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  494    495   
        >,
  495    496   
    >;
  496    497   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  497    498   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  498    499   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  499    500   
    >;
  500    501   
  501    502   
    fn request_fmt() -> Self::RequestFmt {
  502    503   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  503    504   
    }
  504    505   
  505    506   
    fn response_fmt() -> Self::ResponseFmt {
  506    507   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  507    508   
    }
  508    509   
}
  509    510   
/* ServerOperationGenerator.kt:88 */
  510    511   
  511         -
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a structure in the HTTP body. It should ensure Content-Type: application/json is used in all requests and that an "empty" body is an empty JSON document ({}).
  512         -
/* ServerOperationGenerator.kt:55 */
  513         -
pub struct TestBodyStructure;
         512  +
/* ServerOperationGenerator.kt:48 */
         513  +
#[allow(missing_docs)] // documentation missing in model
         514  +
                       /* ServerOperationGenerator.kt:55 */
         515  +
pub struct HttpRequestWithFloatLabels;
  514    516   
  515         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestBodyStructure {
         517  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithFloatLabels {
  516    518   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  517    519   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  518         -
            "aws.protocoltests.restjson#TestBodyStructure",
         520  +
            "aws.protocoltests.restjson#HttpRequestWithFloatLabels",
  519    521   
            "aws.protocoltests.restjson",
  520         -
            "TestBodyStructure",
         522  +
            "HttpRequestWithFloatLabels",
  521    523   
        );
  522    524   
  523         -
    type Input = crate::input::TestBodyStructureInput;
  524         -
    type Output = crate::output::TestBodyStructureOutput;
  525         -
    type Error = std::convert::Infallible;
         525  +
    type Input = crate::input::HttpRequestWithFloatLabelsInput;
         526  +
    type Output = crate::output::HttpRequestWithFloatLabelsOutput;
         527  +
    type Error = crate::error::HttpRequestWithFloatLabelsError;
  526    528   
}
  527    529   
  528    530   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  529         -
    for TestBodyStructure
         531  +
    for HttpRequestWithFloatLabels
  530    532   
{
  531    533   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  532    534   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  533    535   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  534    536   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  535    537   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  536    538   
        >,
  537    539   
    >;
  538    540   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  539    541   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  540    542   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  541    543   
    >;
  542    544   
  543    545   
    fn request_fmt() -> Self::RequestFmt {
  544    546   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  545    547   
    }
  546    548   
  547    549   
    fn response_fmt() -> Self::ResponseFmt {
  548    550   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  549    551   
    }
  550    552   
}
  551    553   
/* ServerOperationGenerator.kt:88 */
  552    554   
  553    555   
/* ServerOperationGenerator.kt:48 */
  554    556   
#[allow(missing_docs)] // documentation missing in model
  555    557   
                       /* ServerOperationGenerator.kt:55 */
  556         -
pub struct MalformedAcceptWithGenericString;
         558  +
pub struct HttpRequestWithRegexLiteral;
  557    559   
  558         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  559         -
    for MalformedAcceptWithGenericString
  560         -
{
         560  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithRegexLiteral {
  561    561   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  562    562   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  563         -
            "aws.protocoltests.restjson#MalformedAcceptWithGenericString",
         563  +
            "aws.protocoltests.restjson#HttpRequestWithRegexLiteral",
  564    564   
            "aws.protocoltests.restjson",
  565         -
            "MalformedAcceptWithGenericString",
         565  +
            "HttpRequestWithRegexLiteral",
  566    566   
        );
  567    567   
  568         -
    type Input = crate::input::MalformedAcceptWithGenericStringInput;
  569         -
    type Output = crate::output::MalformedAcceptWithGenericStringOutput;
  570         -
    type Error = std::convert::Infallible;
         568  +
    type Input = crate::input::HttpRequestWithRegexLiteralInput;
         569  +
    type Output = crate::output::HttpRequestWithRegexLiteralOutput;
         570  +
    type Error = crate::error::HttpRequestWithRegexLiteralError;
  571    571   
}
  572    572   
  573    573   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  574         -
    for MalformedAcceptWithGenericString
         574  +
    for HttpRequestWithRegexLiteral
  575    575   
{
  576    576   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  577    577   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  578    578   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  579    579   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  580    580   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  581    581   
        >,
  582    582   
    >;
  583    583   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  584    584   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  585    585   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  586    586   
    >;
  587    587   
  588    588   
    fn request_fmt() -> Self::RequestFmt {
  589    589   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  590    590   
    }
  591    591   
  592    592   
    fn response_fmt() -> Self::ResponseFmt {
  593    593   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  594    594   
    }
  595    595   
}
  596    596   
/* ServerOperationGenerator.kt:88 */
  597    597   
  598         -
/* ServerOperationGenerator.kt:48 */
  599         -
#[allow(missing_docs)] // documentation missing in model
  600         -
                       /* ServerOperationGenerator.kt:55 */
  601         -
pub struct MalformedAcceptWithPayload;
         598  +
/// /* ServerOperationGenerator.kt:48 */This example uses all query string types.
         599  +
/* ServerOperationGenerator.kt:55 */
         600  +
pub struct AllQueryStringTypes;
  602    601   
  603         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedAcceptWithPayload {
         602  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for AllQueryStringTypes {
  604    603   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  605    604   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  606         -
            "aws.protocoltests.restjson#MalformedAcceptWithPayload",
         605  +
            "aws.protocoltests.restjson#AllQueryStringTypes",
  607    606   
            "aws.protocoltests.restjson",
  608         -
            "MalformedAcceptWithPayload",
         607  +
            "AllQueryStringTypes",
  609    608   
        );
  610    609   
  611         -
    type Input = crate::input::MalformedAcceptWithPayloadInput;
  612         -
    type Output = crate::output::MalformedAcceptWithPayloadOutput;
  613         -
    type Error = std::convert::Infallible;
         610  +
    type Input = crate::input::AllQueryStringTypesInput;
         611  +
    type Output = crate::output::AllQueryStringTypesOutput;
         612  +
    type Error = crate::error::AllQueryStringTypesError;
  614    613   
}
  615    614   
  616    615   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  617         -
    for MalformedAcceptWithPayload
         616  +
    for AllQueryStringTypes
  618    617   
{
  619    618   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  620    619   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  621    620   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  622    621   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  623    622   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  624    623   
        >,
  625    624   
    >;
  626    625   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  627    626   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  628    627   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  629    628   
    >;
  630    629   
  631    630   
    fn request_fmt() -> Self::RequestFmt {
  632    631   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  633    632   
    }
  634    633   
  635    634   
    fn response_fmt() -> Self::ResponseFmt {
  636    635   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  637    636   
    }
  638    637   
}
  639    638   
/* ServerOperationGenerator.kt:88 */
  640    639   
  641         -
/* ServerOperationGenerator.kt:48 */
  642         -
#[allow(missing_docs)] // documentation missing in model
  643         -
                       /* ServerOperationGenerator.kt:55 */
  644         -
pub struct MalformedAcceptWithBody;
         640  +
/// /* ServerOperationGenerator.kt:48 */This example uses a constant query string parameters and a label. This simply tests that labels and query string parameters are compatible. The fixed query string parameter named "hello" should in no way conflict with the label, `{hello}`.
         641  +
/* ServerOperationGenerator.kt:55 */
         642  +
pub struct ConstantQueryString;
  645    643   
  646         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedAcceptWithBody {
         644  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ConstantQueryString {
  647    645   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  648    646   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  649         -
            "aws.protocoltests.restjson#MalformedAcceptWithBody",
         647  +
            "aws.protocoltests.restjson#ConstantQueryString",
  650    648   
            "aws.protocoltests.restjson",
  651         -
            "MalformedAcceptWithBody",
         649  +
            "ConstantQueryString",
  652    650   
        );
  653    651   
  654         -
    type Input = crate::input::MalformedAcceptWithBodyInput;
  655         -
    type Output = crate::output::MalformedAcceptWithBodyOutput;
  656         -
    type Error = std::convert::Infallible;
         652  +
    type Input = crate::input::ConstantQueryStringInput;
         653  +
    type Output = crate::output::ConstantQueryStringOutput;
         654  +
    type Error = crate::error::ConstantQueryStringError;
  657    655   
}
  658    656   
  659    657   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  660         -
    for MalformedAcceptWithBody
         658  +
    for ConstantQueryString
  661    659   
{
  662    660   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  663    661   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  664    662   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  665    663   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  666    664   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  667    665   
        >,
  668    666   
    >;
  669    667   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  670    668   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  671    669   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  672    670   
    >;
  673    671   
  674    672   
    fn request_fmt() -> Self::RequestFmt {
  675    673   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  676    674   
    }
  677    675   
  678    676   
    fn response_fmt() -> Self::ResponseFmt {
  679    677   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  680    678   
    }
  681    679   
}
  682    680   
/* ServerOperationGenerator.kt:88 */
  683    681   
  684         -
/* ServerOperationGenerator.kt:48 */
  685         -
#[allow(missing_docs)] // documentation missing in model
  686         -
                       /* ServerOperationGenerator.kt:55 */
  687         -
pub struct MalformedContentTypeWithGenericString;
         682  +
/// /* ServerOperationGenerator.kt:48 */This example uses fixed query string params and variable query string params. The fixed query string parameters and variable parameters must both be serialized (implementations may need to merge them together).
         683  +
/* ServerOperationGenerator.kt:55 */
         684  +
pub struct ConstantAndVariableQueryString;
  688    685   
  689         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  690         -
    for MalformedContentTypeWithGenericString
  691         -
{
         686  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ConstantAndVariableQueryString {
  692    687   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  693    688   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  694         -
            "aws.protocoltests.restjson#MalformedContentTypeWithGenericString",
         689  +
            "aws.protocoltests.restjson#ConstantAndVariableQueryString",
  695    690   
            "aws.protocoltests.restjson",
  696         -
            "MalformedContentTypeWithGenericString",
         691  +
            "ConstantAndVariableQueryString",
  697    692   
        );
  698    693   
  699         -
    type Input = crate::input::MalformedContentTypeWithGenericStringInput;
  700         -
    type Output = crate::output::MalformedContentTypeWithGenericStringOutput;
         694  +
    type Input = crate::input::ConstantAndVariableQueryStringInput;
         695  +
    type Output = crate::output::ConstantAndVariableQueryStringOutput;
  701    696   
    type Error = std::convert::Infallible;
  702    697   
}
  703    698   
  704    699   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  705         -
    for MalformedContentTypeWithGenericString
         700  +
    for ConstantAndVariableQueryString
  706    701   
{
  707    702   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  708    703   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  709    704   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  710    705   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  711    706   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  712    707   
        >,
  713    708   
    >;
  714    709   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  715    710   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  716    711   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  717    712   
    >;
  718    713   
  719    714   
    fn request_fmt() -> Self::RequestFmt {
  720    715   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  721    716   
    }
  722    717   
  723    718   
    fn response_fmt() -> Self::ResponseFmt {
  724    719   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  725    720   
    }
  726    721   
}
  727    722   
/* ServerOperationGenerator.kt:88 */
  728    723   
  729         -
/* ServerOperationGenerator.kt:48 */
  730         -
#[allow(missing_docs)] // documentation missing in model
  731         -
                       /* ServerOperationGenerator.kt:55 */
  732         -
pub struct MalformedContentTypeWithPayload;
         724  +
/// /* ServerOperationGenerator.kt:48 */This example ensures that query string bound request parameters are serialized in the body of responses if the structure is used in both the request and response.
         725  +
/* ServerOperationGenerator.kt:55 */
         726  +
pub struct IgnoreQueryParamsInResponse;
  733    727   
  734         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  735         -
    for MalformedContentTypeWithPayload
  736         -
{
         728  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for IgnoreQueryParamsInResponse {
  737    729   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  738    730   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  739         -
            "aws.protocoltests.restjson#MalformedContentTypeWithPayload",
         731  +
            "aws.protocoltests.restjson#IgnoreQueryParamsInResponse",
  740    732   
            "aws.protocoltests.restjson",
  741         -
            "MalformedContentTypeWithPayload",
         733  +
            "IgnoreQueryParamsInResponse",
  742    734   
        );
  743    735   
  744         -
    type Input = crate::input::MalformedContentTypeWithPayloadInput;
  745         -
    type Output = crate::output::MalformedContentTypeWithPayloadOutput;
         736  +
    type Input = crate::input::IgnoreQueryParamsInResponseInput;
         737  +
    type Output = crate::output::IgnoreQueryParamsInResponseOutput;
  746    738   
    type Error = std::convert::Infallible;
  747    739   
}
  748    740   
  749    741   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  750         -
    for MalformedContentTypeWithPayload
         742  +
    for IgnoreQueryParamsInResponse
  751    743   
{
  752    744   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  753    745   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  754    746   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  755    747   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  756    748   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  757    749   
        >,
  758    750   
    >;
  759    751   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  760    752   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  761    753   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  762    754   
    >;
  763    755   
  764    756   
    fn request_fmt() -> Self::RequestFmt {
  765    757   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  766    758   
    }
  767    759   
  768    760   
    fn response_fmt() -> Self::ResponseFmt {
  769    761   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  770    762   
    }
  771    763   
}
  772    764   
/* ServerOperationGenerator.kt:88 */
  773    765   
  774         -
/* ServerOperationGenerator.kt:48 */
  775         -
#[allow(missing_docs)] // documentation missing in model
  776         -
                       /* ServerOperationGenerator.kt:55 */
  777         -
pub struct MalformedContentTypeWithBody;
         766  +
/// /* ServerOperationGenerator.kt:48 */Omits null, but serializes empty string value.
         767  +
/* ServerOperationGenerator.kt:55 */
         768  +
pub struct OmitsNullSerializesEmptyString;
  778    769   
  779         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedContentTypeWithBody {
         770  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OmitsNullSerializesEmptyString {
  780    771   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  781    772   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  782         -
            "aws.protocoltests.restjson#MalformedContentTypeWithBody",
         773  +
            "aws.protocoltests.restjson#OmitsNullSerializesEmptyString",
  783    774   
            "aws.protocoltests.restjson",
  784         -
            "MalformedContentTypeWithBody",
         775  +
            "OmitsNullSerializesEmptyString",
  785    776   
        );
  786    777   
  787         -
    type Input = crate::input::MalformedContentTypeWithBodyInput;
  788         -
    type Output = crate::output::MalformedContentTypeWithBodyOutput;
         778  +
    type Input = crate::input::OmitsNullSerializesEmptyStringInput;
         779  +
    type Output = crate::output::OmitsNullSerializesEmptyStringOutput;
  789    780   
    type Error = std::convert::Infallible;
  790    781   
}
  791    782   
  792    783   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  793         -
    for MalformedContentTypeWithBody
         784  +
    for OmitsNullSerializesEmptyString
  794    785   
{
  795    786   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  796    787   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  797    788   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  798    789   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  799    790   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  800    791   
        >,
  801    792   
    >;
  802    793   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  803    794   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  804    795   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  805    796   
    >;
  806    797   
  807    798   
    fn request_fmt() -> Self::RequestFmt {
  808    799   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  809    800   
    }
  810    801   
  811    802   
    fn response_fmt() -> Self::ResponseFmt {
  812    803   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  813    804   
    }
  814    805   
}
  815    806   
/* ServerOperationGenerator.kt:88 */
  816    807   
  817         -
/* ServerOperationGenerator.kt:48 */
  818         -
#[allow(missing_docs)] // documentation missing in model
  819         -
                       /* ServerOperationGenerator.kt:55 */
  820         -
pub struct MalformedContentTypeWithoutBodyEmptyInput;
         808  +
/// /* ServerOperationGenerator.kt:48 */Omits serializing empty lists. Because empty strings are serilized as `Foo=`, empty lists cannot also be serialized as `Foo=` and instead must be omitted.
         809  +
/* ServerOperationGenerator.kt:55 */
         810  +
pub struct OmitsSerializingEmptyLists;
  821    811   
  822         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  823         -
    for MalformedContentTypeWithoutBodyEmptyInput
  824         -
{
         812  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OmitsSerializingEmptyLists {
  825    813   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  826    814   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  827         -
            "aws.protocoltests.restjson#MalformedContentTypeWithoutBodyEmptyInput",
         815  +
            "aws.protocoltests.restjson#OmitsSerializingEmptyLists",
  828    816   
            "aws.protocoltests.restjson",
  829         -
            "MalformedContentTypeWithoutBodyEmptyInput",
         817  +
            "OmitsSerializingEmptyLists",
  830    818   
        );
  831    819   
  832         -
    type Input = crate::input::MalformedContentTypeWithoutBodyEmptyInputInput;
  833         -
    type Output = crate::output::MalformedContentTypeWithoutBodyEmptyInputOutput;
  834         -
    type Error = std::convert::Infallible;
         820  +
    type Input = crate::input::OmitsSerializingEmptyListsInput;
         821  +
    type Output = crate::output::OmitsSerializingEmptyListsOutput;
         822  +
    type Error = crate::error::OmitsSerializingEmptyListsError;
  835    823   
}
  836    824   
  837    825   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  838         -
    for MalformedContentTypeWithoutBodyEmptyInput
         826  +
    for OmitsSerializingEmptyLists
  839    827   
{
  840    828   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  841    829   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  842    830   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  843    831   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  844    832   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  845    833   
        >,
  846    834   
    >;
  847    835   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  848    836   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  849    837   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  850    838   
    >;
  851    839   
  852    840   
    fn request_fmt() -> Self::RequestFmt {
  853    841   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  854    842   
    }
  855    843   
  856    844   
    fn response_fmt() -> Self::ResponseFmt {
  857    845   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  858    846   
    }
  859    847   
}
  860    848   
/* ServerOperationGenerator.kt:88 */
  861    849   
  862         -
/* ServerOperationGenerator.kt:48 */
  863         -
#[allow(missing_docs)] // documentation missing in model
  864         -
                       /* ServerOperationGenerator.kt:55 */
  865         -
pub struct MalformedContentTypeWithoutBody;
         850  +
/// /* ServerOperationGenerator.kt:48 */Automatically adds idempotency tokens.
         851  +
/* ServerOperationGenerator.kt:55 */
         852  +
pub struct QueryIdempotencyTokenAutoFill;
  866    853   
  867         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
  868         -
    for MalformedContentTypeWithoutBody
  869         -
{
         854  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryIdempotencyTokenAutoFill {
  870    855   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  871    856   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  872         -
            "aws.protocoltests.restjson#MalformedContentTypeWithoutBody",
         857  +
            "aws.protocoltests.restjson#QueryIdempotencyTokenAutoFill",
  873    858   
            "aws.protocoltests.restjson",
  874         -
            "MalformedContentTypeWithoutBody",
         859  +
            "QueryIdempotencyTokenAutoFill",
  875    860   
        );
  876    861   
  877         -
    type Input = crate::input::MalformedContentTypeWithoutBodyInput;
  878         -
    type Output = crate::output::MalformedContentTypeWithoutBodyOutput;
         862  +
    type Input = crate::input::QueryIdempotencyTokenAutoFillInput;
         863  +
    type Output = crate::output::QueryIdempotencyTokenAutoFillOutput;
  879    864   
    type Error = std::convert::Infallible;
  880    865   
}
  881    866   
  882    867   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  883         -
    for MalformedContentTypeWithoutBody
         868  +
    for QueryIdempotencyTokenAutoFill
  884    869   
{
  885    870   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  886    871   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  887    872   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  888    873   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  889    874   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  890    875   
        >,
  891    876   
    >;
  892    877   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  893    878   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  894    879   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  895    880   
    >;
  896    881   
  897    882   
    fn request_fmt() -> Self::RequestFmt {
  898    883   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  899    884   
    }
  900    885   
  901    886   
    fn response_fmt() -> Self::ResponseFmt {
  902    887   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  903    888   
    }
  904    889   
}
  905    890   
/* ServerOperationGenerator.kt:88 */
  906    891   
  907    892   
/* ServerOperationGenerator.kt:48 */
  908    893   
#[allow(missing_docs)] // documentation missing in model
  909    894   
                       /* ServerOperationGenerator.kt:55 */
  910         -
pub struct MalformedTimestampBodyHttpDate;
         895  +
pub struct QueryPrecedence;
  911    896   
  912         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyHttpDate {
         897  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryPrecedence {
  913    898   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  914    899   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  915         -
            "aws.protocoltests.restjson#MalformedTimestampBodyHttpDate",
         900  +
            "aws.protocoltests.restjson#QueryPrecedence",
  916    901   
            "aws.protocoltests.restjson",
  917         -
            "MalformedTimestampBodyHttpDate",
         902  +
            "QueryPrecedence",
  918    903   
        );
  919    904   
  920         -
    type Input = crate::input::MalformedTimestampBodyHttpDateInput;
  921         -
    type Output = crate::output::MalformedTimestampBodyHttpDateOutput;
  922         -
    type Error = crate::error::MalformedTimestampBodyHttpDateError;
         905  +
    type Input = crate::input::QueryPrecedenceInput;
         906  +
    type Output = crate::output::QueryPrecedenceOutput;
         907  +
    type Error = std::convert::Infallible;
  923    908   
}
  924    909   
  925    910   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  926         -
    for MalformedTimestampBodyHttpDate
         911  +
    for QueryPrecedence
  927    912   
{
  928    913   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  929    914   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  930    915   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  931    916   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  932    917   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  933    918   
        >,
  934    919   
    >;
  935    920   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  936    921   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  937    922   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  938    923   
    >;
  939    924   
  940    925   
    fn request_fmt() -> Self::RequestFmt {
  941    926   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  942    927   
    }
  943    928   
  944    929   
    fn response_fmt() -> Self::ResponseFmt {
  945    930   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  946    931   
    }
  947    932   
}
  948    933   
/* ServerOperationGenerator.kt:88 */
  949    934   
  950         -
/* ServerOperationGenerator.kt:48 */
  951         -
#[allow(missing_docs)] // documentation missing in model
  952         -
                       /* ServerOperationGenerator.kt:55 */
  953         -
pub struct MalformedTimestampBodyDateTime;
         935  +
/// /* ServerOperationGenerator.kt:48 */This example tests httpQueryParams when no other query parameters exist.
         936  +
/* ServerOperationGenerator.kt:55 */
         937  +
pub struct HttpQueryParamsOnlyOperation;
  954    938   
  955         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyDateTime {
         939  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpQueryParamsOnlyOperation {
  956    940   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
  957    941   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
  958         -
            "aws.protocoltests.restjson#MalformedTimestampBodyDateTime",
         942  +
            "aws.protocoltests.restjson#HttpQueryParamsOnlyOperation",
  959    943   
            "aws.protocoltests.restjson",
  960         -
            "MalformedTimestampBodyDateTime",
         944  +
            "HttpQueryParamsOnlyOperation",
  961    945   
        );
  962    946   
  963         -
    type Input = crate::input::MalformedTimestampBodyDateTimeInput;
  964         -
    type Output = crate::output::MalformedTimestampBodyDateTimeOutput;
  965         -
    type Error = crate::error::MalformedTimestampBodyDateTimeError;
         947  +
    type Input = crate::input::HttpQueryParamsOnlyOperationInput;
         948  +
    type Output = crate::output::HttpQueryParamsOnlyOperationOutput;
         949  +
    type Error = std::convert::Infallible;
  966    950   
}
  967    951   
  968    952   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
  969         -
    for MalformedTimestampBodyDateTime
         953  +
    for HttpQueryParamsOnlyOperation
  970    954   
{
  971    955   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
  972    956   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  973    957   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
  974    958   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  975    959   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  976    960   
        >,
  977    961   
    >;
  978    962   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
  979    963   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  980    964   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
  981    965   
    >;
  982    966   
  983    967   
    fn request_fmt() -> Self::RequestFmt {
  984    968   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
  985    969   
    }
  986    970   
  987    971   
    fn response_fmt() -> Self::ResponseFmt {
  988    972   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
  989    973   
    }
  990    974   
}
  991    975   
/* ServerOperationGenerator.kt:88 */
  992    976   
  993    977   
/* ServerOperationGenerator.kt:48 */
  994    978   
#[allow(missing_docs)] // documentation missing in model
  995    979   
                       /* ServerOperationGenerator.kt:55 */
  996         -
pub struct MalformedTimestampBodyDefault;
         980  +
pub struct QueryParamsAsStringListMap;
  997    981   
  998         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyDefault {
         982  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryParamsAsStringListMap {
  999    983   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1000    984   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1001         -
            "aws.protocoltests.restjson#MalformedTimestampBodyDefault",
         985  +
            "aws.protocoltests.restjson#QueryParamsAsStringListMap",
 1002    986   
            "aws.protocoltests.restjson",
 1003         -
            "MalformedTimestampBodyDefault",
         987  +
            "QueryParamsAsStringListMap",
 1004    988   
        );
 1005    989   
 1006         -
    type Input = crate::input::MalformedTimestampBodyDefaultInput;
 1007         -
    type Output = crate::output::MalformedTimestampBodyDefaultOutput;
 1008         -
    type Error = crate::error::MalformedTimestampBodyDefaultError;
         990  +
    type Input = crate::input::QueryParamsAsStringListMapInput;
         991  +
    type Output = crate::output::QueryParamsAsStringListMapOutput;
         992  +
    type Error = std::convert::Infallible;
 1009    993   
}
 1010    994   
 1011    995   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1012         -
    for MalformedTimestampBodyDefault
         996  +
    for QueryParamsAsStringListMap
 1013    997   
{
 1014    998   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1015    999   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1016   1000   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1017   1001   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1018   1002   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1019   1003   
        >,
 1020   1004   
    >;
 1021   1005   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1022   1006   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1023   1007   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1024   1008   
    >;
 1025   1009   
 1026   1010   
    fn request_fmt() -> Self::RequestFmt {
 1027   1011   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1028   1012   
    }
 1029   1013   
 1030   1014   
    fn response_fmt() -> Self::ResponseFmt {
 1031   1015   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1032   1016   
    }
 1033   1017   
}
 1034   1018   
/* ServerOperationGenerator.kt:88 */
 1035   1019   
 1036         -
/* ServerOperationGenerator.kt:48 */
 1037         -
#[allow(missing_docs)] // documentation missing in model
 1038         -
                       /* ServerOperationGenerator.kt:55 */
 1039         -
pub struct MalformedTimestampHeaderEpoch;
        1020  +
/// /* ServerOperationGenerator.kt:48 */This examples adds headers to the input of a request and response by prefix.
        1021  +
/* ServerOperationGenerator.kt:55 */
        1022  +
pub struct HttpPrefixHeaders;
 1040   1023   
 1041         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampHeaderEpoch {
        1024  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPrefixHeaders {
 1042   1025   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1043   1026   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1044         -
            "aws.protocoltests.restjson#MalformedTimestampHeaderEpoch",
        1027  +
            "aws.protocoltests.restjson#HttpPrefixHeaders",
 1045   1028   
            "aws.protocoltests.restjson",
 1046         -
            "MalformedTimestampHeaderEpoch",
        1029  +
            "HttpPrefixHeaders",
 1047   1030   
        );
 1048   1031   
 1049         -
    type Input = crate::input::MalformedTimestampHeaderEpochInput;
 1050         -
    type Output = crate::output::MalformedTimestampHeaderEpochOutput;
 1051         -
    type Error = crate::error::MalformedTimestampHeaderEpochError;
        1032  +
    type Input = crate::input::HttpPrefixHeadersInput;
        1033  +
    type Output = crate::output::HttpPrefixHeadersOutput;
        1034  +
    type Error = std::convert::Infallible;
 1052   1035   
}
 1053   1036   
 1054   1037   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1055         -
    for MalformedTimestampHeaderEpoch
        1038  +
    for HttpPrefixHeaders
 1056   1039   
{
 1057   1040   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1058   1041   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1059   1042   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1060   1043   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1061   1044   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1062   1045   
        >,
 1063   1046   
    >;
 1064   1047   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1065   1048   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1066   1049   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1067   1050   
    >;
 1068   1051   
 1069   1052   
    fn request_fmt() -> Self::RequestFmt {
 1070   1053   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1071   1054   
    }
 1072   1055   
 1073   1056   
    fn response_fmt() -> Self::ResponseFmt {
 1074   1057   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1075   1058   
    }
 1076   1059   
}
 1077   1060   
/* ServerOperationGenerator.kt:88 */
 1078   1061   
 1079         -
/* ServerOperationGenerator.kt:48 */
 1080         -
#[allow(missing_docs)] // documentation missing in model
 1081         -
                       /* ServerOperationGenerator.kt:55 */
 1082         -
pub struct MalformedTimestampHeaderDateTime;
        1062  +
/// /* ServerOperationGenerator.kt:48 */Clients that perform this test extract all headers from the response.
        1063  +
/* ServerOperationGenerator.kt:55 */
        1064  +
pub struct HttpPrefixHeadersInResponse;
 1083   1065   
 1084         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
 1085         -
    for MalformedTimestampHeaderDateTime
 1086         -
{
        1066  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPrefixHeadersInResponse {
 1087   1067   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1088   1068   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1089         -
            "aws.protocoltests.restjson#MalformedTimestampHeaderDateTime",
        1069  +
            "aws.protocoltests.restjson#HttpPrefixHeadersInResponse",
 1090   1070   
            "aws.protocoltests.restjson",
 1091         -
            "MalformedTimestampHeaderDateTime",
        1071  +
            "HttpPrefixHeadersInResponse",
 1092   1072   
        );
 1093   1073   
 1094         -
    type Input = crate::input::MalformedTimestampHeaderDateTimeInput;
 1095         -
    type Output = crate::output::MalformedTimestampHeaderDateTimeOutput;
 1096         -
    type Error = crate::error::MalformedTimestampHeaderDateTimeError;
        1074  +
    type Input = crate::input::HttpPrefixHeadersInResponseInput;
        1075  +
    type Output = crate::output::HttpPrefixHeadersInResponseOutput;
        1076  +
    type Error = std::convert::Infallible;
 1097   1077   
}
 1098   1078   
 1099   1079   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1100         -
    for MalformedTimestampHeaderDateTime
        1080  +
    for HttpPrefixHeadersInResponse
 1101   1081   
{
 1102   1082   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1103   1083   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1104   1084   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1105   1085   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1106   1086   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1107   1087   
        >,
 1108   1088   
    >;
 1109   1089   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1110   1090   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1111   1091   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1112   1092   
    >;
 1113   1093   
 1114   1094   
    fn request_fmt() -> Self::RequestFmt {
 1115   1095   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1116   1096   
    }
 1117   1097   
 1118   1098   
    fn response_fmt() -> Self::ResponseFmt {
 1119   1099   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1120   1100   
    }
 1121   1101   
}
 1122   1102   
/* ServerOperationGenerator.kt:88 */
 1123   1103   
 1124         -
/* ServerOperationGenerator.kt:48 */
 1125         -
#[allow(missing_docs)] // documentation missing in model
 1126         -
                       /* ServerOperationGenerator.kt:55 */
 1127         -
pub struct MalformedTimestampHeaderDefault;
        1104  +
/// /* ServerOperationGenerator.kt:48 */Clients that perform this test extract all headers from the response.
        1105  +
/* ServerOperationGenerator.kt:55 */
        1106  +
pub struct HttpEmptyPrefixHeaders;
 1128   1107   
 1129         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
 1130         -
    for MalformedTimestampHeaderDefault
 1131         -
{
        1108  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpEmptyPrefixHeaders {
 1132   1109   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1133   1110   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1134         -
            "aws.protocoltests.restjson#MalformedTimestampHeaderDefault",
        1111  +
            "aws.protocoltests.restjson#HttpEmptyPrefixHeaders",
 1135   1112   
            "aws.protocoltests.restjson",
 1136         -
            "MalformedTimestampHeaderDefault",
        1113  +
            "HttpEmptyPrefixHeaders",
 1137   1114   
        );
 1138   1115   
 1139         -
    type Input = crate::input::MalformedTimestampHeaderDefaultInput;
 1140         -
    type Output = crate::output::MalformedTimestampHeaderDefaultOutput;
 1141         -
    type Error = crate::error::MalformedTimestampHeaderDefaultError;
        1116  +
    type Input = crate::input::HttpEmptyPrefixHeadersInput;
        1117  +
    type Output = crate::output::HttpEmptyPrefixHeadersOutput;
        1118  +
    type Error = std::convert::Infallible;
 1142   1119   
}
 1143   1120   
 1144   1121   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1145         -
    for MalformedTimestampHeaderDefault
        1122  +
    for HttpEmptyPrefixHeaders
 1146   1123   
{
 1147   1124   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1148   1125   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1149   1126   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1150   1127   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1151   1128   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1152   1129   
        >,
 1153   1130   
    >;
 1154   1131   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1155   1132   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1156   1133   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1157   1134   
    >;
 1158   1135   
 1159   1136   
    fn request_fmt() -> Self::RequestFmt {
 1160   1137   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1161   1138   
    }
 1162   1139   
 1163   1140   
    fn response_fmt() -> Self::ResponseFmt {
 1164   1141   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1165   1142   
    }
 1166   1143   
}
 1167   1144   
/* ServerOperationGenerator.kt:88 */
 1168   1145   
 1169         -
/* ServerOperationGenerator.kt:48 */
 1170         -
#[allow(missing_docs)] // documentation missing in model
 1171         -
                       /* ServerOperationGenerator.kt:55 */
 1172         -
pub struct MalformedTimestampQueryEpoch;
        1146  +
/// /* ServerOperationGenerator.kt:48 */This example serializes a blob shape in the payload. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
        1147  +
/* ServerOperationGenerator.kt:55 */
        1148  +
pub struct HttpPayloadTraits;
 1173   1149   
 1174         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampQueryEpoch {
        1150  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadTraits {
 1175   1151   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1176   1152   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1177         -
            "aws.protocoltests.restjson#MalformedTimestampQueryEpoch",
        1153  +
            "aws.protocoltests.restjson#HttpPayloadTraits",
 1178   1154   
            "aws.protocoltests.restjson",
 1179         -
            "MalformedTimestampQueryEpoch",
        1155  +
            "HttpPayloadTraits",
 1180   1156   
        );
 1181   1157   
 1182         -
    type Input = crate::input::MalformedTimestampQueryEpochInput;
 1183         -
    type Output = crate::output::MalformedTimestampQueryEpochOutput;
 1184         -
    type Error = crate::error::MalformedTimestampQueryEpochError;
        1158  +
    type Input = crate::input::HttpPayloadTraitsInput;
        1159  +
    type Output = crate::output::HttpPayloadTraitsOutput;
        1160  +
    type Error = std::convert::Infallible;
 1185   1161   
}
 1186   1162   
 1187   1163   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1188         -
    for MalformedTimestampQueryEpoch
        1164  +
    for HttpPayloadTraits
 1189   1165   
{
 1190   1166   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1191   1167   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1192   1168   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1193   1169   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1194   1170   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1195   1171   
        >,
 1196   1172   
    >;
 1197   1173   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1198   1174   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1199   1175   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1200   1176   
    >;
 1201   1177   
 1202   1178   
    fn request_fmt() -> Self::RequestFmt {
 1203   1179   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1204   1180   
    }
 1205   1181   
 1206   1182   
    fn response_fmt() -> Self::ResponseFmt {
 1207   1183   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1208   1184   
    }
 1209   1185   
}
 1210   1186   
/* ServerOperationGenerator.kt:88 */
 1211   1187   
 1212         -
/* ServerOperationGenerator.kt:48 */
 1213         -
#[allow(missing_docs)] // documentation missing in model
 1214         -
                       /* ServerOperationGenerator.kt:55 */
 1215         -
pub struct MalformedTimestampQueryHttpDate;
        1188  +
/// /* ServerOperationGenerator.kt:48 */This example uses a `@mediaType` trait on the payload to force a custom content-type to be serialized.
        1189  +
/* ServerOperationGenerator.kt:55 */
        1190  +
pub struct HttpPayloadTraitsWithMediaType;
 1216   1191   
 1217         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
 1218         -
    for MalformedTimestampQueryHttpDate
 1219         -
{
        1192  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadTraitsWithMediaType {
 1220   1193   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1221   1194   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1222         -
            "aws.protocoltests.restjson#MalformedTimestampQueryHttpDate",
        1195  +
            "aws.protocoltests.restjson#HttpPayloadTraitsWithMediaType",
 1223   1196   
            "aws.protocoltests.restjson",
 1224         -
            "MalformedTimestampQueryHttpDate",
        1197  +
            "HttpPayloadTraitsWithMediaType",
 1225   1198   
        );
 1226   1199   
 1227         -
    type Input = crate::input::MalformedTimestampQueryHttpDateInput;
 1228         -
    type Output = crate::output::MalformedTimestampQueryHttpDateOutput;
 1229         -
    type Error = crate::error::MalformedTimestampQueryHttpDateError;
        1200  +
    type Input = crate::input::HttpPayloadTraitsWithMediaTypeInput;
        1201  +
    type Output = crate::output::HttpPayloadTraitsWithMediaTypeOutput;
        1202  +
    type Error = std::convert::Infallible;
 1230   1203   
}
 1231   1204   
 1232   1205   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1233         -
    for MalformedTimestampQueryHttpDate
        1206  +
    for HttpPayloadTraitsWithMediaType
 1234   1207   
{
 1235   1208   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1236   1209   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1237   1210   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1238   1211   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1239   1212   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1240   1213   
        >,
 1241   1214   
    >;
 1242   1215   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1243   1216   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1244   1217   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1245   1218   
    >;
 1246   1219   
 1247   1220   
    fn request_fmt() -> Self::RequestFmt {
 1248   1221   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1249   1222   
    }
 1250   1223   
 1251   1224   
    fn response_fmt() -> Self::ResponseFmt {
 1252   1225   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1253   1226   
    }
 1254   1227   
}
 1255   1228   
/* ServerOperationGenerator.kt:88 */
 1256   1229   
 1257         -
/* ServerOperationGenerator.kt:48 */
 1258         -
#[allow(missing_docs)] // documentation missing in model
 1259         -
                       /* ServerOperationGenerator.kt:55 */
 1260         -
pub struct MalformedTimestampQueryDefault;
        1230  +
/// /* ServerOperationGenerator.kt:48 */This example serializes a structure in the payload. Note that serializing a structure changes the wrapper element name to match the targeted structure.
        1231  +
/* ServerOperationGenerator.kt:55 */
        1232  +
pub struct HttpPayloadWithStructure;
 1261   1233   
 1262         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampQueryDefault {
        1234  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadWithStructure {
 1263   1235   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1264   1236   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1265         -
            "aws.protocoltests.restjson#MalformedTimestampQueryDefault",
        1237  +
            "aws.protocoltests.restjson#HttpPayloadWithStructure",
 1266   1238   
            "aws.protocoltests.restjson",
 1267         -
            "MalformedTimestampQueryDefault",
        1239  +
            "HttpPayloadWithStructure",
 1268   1240   
        );
 1269   1241   
 1270         -
    type Input = crate::input::MalformedTimestampQueryDefaultInput;
 1271         -
    type Output = crate::output::MalformedTimestampQueryDefaultOutput;
 1272         -
    type Error = crate::error::MalformedTimestampQueryDefaultError;
        1242  +
    type Input = crate::input::HttpPayloadWithStructureInput;
        1243  +
    type Output = crate::output::HttpPayloadWithStructureOutput;
        1244  +
    type Error = std::convert::Infallible;
 1273   1245   
}
 1274   1246   
 1275   1247   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1276         -
    for MalformedTimestampQueryDefault
        1248  +
    for HttpPayloadWithStructure
 1277   1249   
{
 1278   1250   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1279   1251   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1280   1252   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1281   1253   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1282   1254   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1283   1255   
        >,
 1284   1256   
    >;
 1285   1257   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1286   1258   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1287   1259   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1288   1260   
    >;
 1289   1261   
 1290   1262   
    fn request_fmt() -> Self::RequestFmt {
 1291   1263   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1292   1264   
    }
 1293   1265   
 1294   1266   
    fn response_fmt() -> Self::ResponseFmt {
 1295   1267   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1296   1268   
    }
 1297   1269   
}
 1298   1270   
/* ServerOperationGenerator.kt:88 */
 1299   1271   
 1300   1272   
/* ServerOperationGenerator.kt:48 */
 1301   1273   
#[allow(missing_docs)] // documentation missing in model
 1302   1274   
                       /* ServerOperationGenerator.kt:55 */
 1303         -
pub struct MalformedTimestampPathEpoch;
        1275  +
pub struct HttpEnumPayload;
 1304   1276   
 1305         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathEpoch {
        1277  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpEnumPayload {
 1306   1278   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1307   1279   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1308         -
            "aws.protocoltests.restjson#MalformedTimestampPathEpoch",
        1280  +
            "aws.protocoltests.restjson#HttpEnumPayload",
 1309   1281   
            "aws.protocoltests.restjson",
 1310         -
            "MalformedTimestampPathEpoch",
        1282  +
            "HttpEnumPayload",
 1311   1283   
        );
 1312   1284   
 1313         -
    type Input = crate::input::MalformedTimestampPathEpochInput;
 1314         -
    type Output = crate::output::MalformedTimestampPathEpochOutput;
 1315         -
    type Error = crate::error::MalformedTimestampPathEpochError;
        1285  +
    type Input = crate::input::HttpEnumPayloadInput;
        1286  +
    type Output = crate::output::HttpEnumPayloadOutput;
        1287  +
    type Error = crate::error::HttpEnumPayloadError;
 1316   1288   
}
 1317   1289   
 1318   1290   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1319         -
    for MalformedTimestampPathEpoch
        1291  +
    for HttpEnumPayload
 1320   1292   
{
 1321   1293   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1322   1294   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1323   1295   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1324   1296   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1325   1297   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1326   1298   
        >,
 1327   1299   
    >;
 1328   1300   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1329   1301   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1330   1302   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1331   1303   
    >;
 1332   1304   
 1333   1305   
    fn request_fmt() -> Self::RequestFmt {
 1334   1306   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1335   1307   
    }
 1336   1308   
 1337   1309   
    fn response_fmt() -> Self::ResponseFmt {
 1338   1310   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1339   1311   
    }
 1340   1312   
}
 1341   1313   
/* ServerOperationGenerator.kt:88 */
 1342   1314   
 1343   1315   
/* ServerOperationGenerator.kt:48 */
 1344   1316   
#[allow(missing_docs)] // documentation missing in model
 1345   1317   
                       /* ServerOperationGenerator.kt:55 */
 1346         -
pub struct MalformedTimestampPathHttpDate;
        1318  +
pub struct HttpStringPayload;
 1347   1319   
 1348         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathHttpDate {
        1320  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpStringPayload {
 1349   1321   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1350   1322   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1351         -
            "aws.protocoltests.restjson#MalformedTimestampPathHttpDate",
        1323  +
            "aws.protocoltests.restjson#HttpStringPayload",
 1352   1324   
            "aws.protocoltests.restjson",
 1353         -
            "MalformedTimestampPathHttpDate",
        1325  +
            "HttpStringPayload",
 1354   1326   
        );
 1355   1327   
 1356         -
    type Input = crate::input::MalformedTimestampPathHttpDateInput;
 1357         -
    type Output = crate::output::MalformedTimestampPathHttpDateOutput;
 1358         -
    type Error = crate::error::MalformedTimestampPathHttpDateError;
        1328  +
    type Input = crate::input::HttpStringPayloadInput;
        1329  +
    type Output = crate::output::HttpStringPayloadOutput;
        1330  +
    type Error = std::convert::Infallible;
 1359   1331   
}
 1360   1332   
 1361   1333   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1362         -
    for MalformedTimestampPathHttpDate
        1334  +
    for HttpStringPayload
 1363   1335   
{
 1364   1336   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1365   1337   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1366   1338   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1367   1339   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1368   1340   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1369   1341   
        >,
 1370   1342   
    >;
 1371   1343   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1372   1344   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1373   1345   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1374   1346   
    >;
 1375   1347   
 1376   1348   
    fn request_fmt() -> Self::RequestFmt {
 1377   1349   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1378   1350   
    }
 1379   1351   
 1380   1352   
    fn response_fmt() -> Self::ResponseFmt {
 1381   1353   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1382   1354   
    }
 1383   1355   
}
 1384   1356   
/* ServerOperationGenerator.kt:88 */
 1385   1357   
 1386         -
/* ServerOperationGenerator.kt:48 */
 1387         -
#[allow(missing_docs)] // documentation missing in model
 1388         -
                       /* ServerOperationGenerator.kt:55 */
 1389         -
pub struct MalformedTimestampPathDefault;
        1358  +
/// /* ServerOperationGenerator.kt:48 */This example serializes a union in the payload.
        1359  +
/* ServerOperationGenerator.kt:55 */
        1360  +
pub struct HttpPayloadWithUnion;
 1390   1361   
 1391         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathDefault {
        1362  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadWithUnion {
 1392   1363   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1393   1364   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1394         -
            "aws.protocoltests.restjson#MalformedTimestampPathDefault",
        1365  +
            "aws.protocoltests.restjson#HttpPayloadWithUnion",
 1395   1366   
            "aws.protocoltests.restjson",
 1396         -
            "MalformedTimestampPathDefault",
        1367  +
            "HttpPayloadWithUnion",
 1397   1368   
        );
 1398   1369   
 1399         -
    type Input = crate::input::MalformedTimestampPathDefaultInput;
 1400         -
    type Output = crate::output::MalformedTimestampPathDefaultOutput;
 1401         -
    type Error = crate::error::MalformedTimestampPathDefaultError;
        1370  +
    type Input = crate::input::HttpPayloadWithUnionInput;
        1371  +
    type Output = crate::output::HttpPayloadWithUnionOutput;
        1372  +
    type Error = std::convert::Infallible;
 1402   1373   
}
 1403   1374   
 1404   1375   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1405         -
    for MalformedTimestampPathDefault
        1376  +
    for HttpPayloadWithUnion
 1406   1377   
{
 1407   1378   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1408   1379   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1409   1380   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1410   1381   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1411   1382   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1412   1383   
        >,
 1413   1384   
    >;
 1414   1385   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1415   1386   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1416   1387   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1417   1388   
    >;
 1418   1389   
 1419   1390   
    fn request_fmt() -> Self::RequestFmt {
 1420   1391   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1421   1392   
    }
 1422   1393   
 1423   1394   
    fn response_fmt() -> Self::ResponseFmt {
 1424   1395   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1425   1396   
    }
 1426   1397   
}
 1427   1398   
/* ServerOperationGenerator.kt:88 */
 1428   1399   
 1429   1400   
/* ServerOperationGenerator.kt:48 */
 1430   1401   
#[allow(missing_docs)] // documentation missing in model
 1431   1402   
                       /* ServerOperationGenerator.kt:55 */
 1432         -
pub struct MalformedString;
        1403  +
pub struct HttpResponseCode;
 1433   1404   
 1434         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedString {
        1405  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpResponseCode {
 1435   1406   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1436   1407   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1437         -
            "aws.protocoltests.restjson#MalformedString",
        1408  +
            "aws.protocoltests.restjson#HttpResponseCode",
 1438   1409   
            "aws.protocoltests.restjson",
 1439         -
            "MalformedString",
        1410  +
            "HttpResponseCode",
 1440   1411   
        );
 1441   1412   
 1442         -
    type Input = crate::input::MalformedStringInput;
 1443         -
    type Output = crate::output::MalformedStringOutput;
        1413  +
    type Input = crate::input::HttpResponseCodeInput;
        1414  +
    type Output = crate::output::HttpResponseCodeOutput;
 1444   1415   
    type Error = std::convert::Infallible;
 1445   1416   
}
 1446   1417   
 1447   1418   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1448         -
    for MalformedString
        1419  +
    for HttpResponseCode
 1449   1420   
{
 1450   1421   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1451   1422   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1452   1423   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1453   1424   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1454   1425   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1455   1426   
        >,
 1456   1427   
    >;
 1457   1428   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1458   1429   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1459   1430   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1460   1431   
    >;
 1461   1432   
 1462   1433   
    fn request_fmt() -> Self::RequestFmt {
 1463   1434   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1464   1435   
    }
 1465   1436   
 1466   1437   
    fn response_fmt() -> Self::ResponseFmt {
 1467   1438   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1468   1439   
    }
 1469   1440   
}
 1470   1441   
/* ServerOperationGenerator.kt:88 */
 1471   1442   
 1472   1443   
/* ServerOperationGenerator.kt:48 */
 1473   1444   
#[allow(missing_docs)] // documentation missing in model
 1474   1445   
                       /* ServerOperationGenerator.kt:55 */
 1475         -
pub struct MalformedDouble;
        1446  +
pub struct ResponseCodeRequired;
 1476   1447   
 1477         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedDouble {
        1448  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ResponseCodeRequired {
 1478   1449   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1479   1450   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1480         -
            "aws.protocoltests.restjson#MalformedDouble",
        1451  +
            "aws.protocoltests.restjson#ResponseCodeRequired",
 1481   1452   
            "aws.protocoltests.restjson",
 1482         -
            "MalformedDouble",
        1453  +
            "ResponseCodeRequired",
 1483   1454   
        );
 1484   1455   
 1485         -
    type Input = crate::input::MalformedDoubleInput;
 1486         -
    type Output = crate::output::MalformedDoubleOutput;
 1487         -
    type Error = crate::error::MalformedDoubleError;
        1456  +
    type Input = crate::input::ResponseCodeRequiredInput;
        1457  +
    type Output = crate::output::ResponseCodeRequiredOutput;
        1458  +
    type Error = std::convert::Infallible;
 1488   1459   
}
 1489   1460   
 1490   1461   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1491         -
    for MalformedDouble
        1462  +
    for ResponseCodeRequired
 1492   1463   
{
 1493   1464   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1494   1465   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1495   1466   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1496   1467   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1497   1468   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1498   1469   
        >,
 1499   1470   
    >;
 1500   1471   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1501   1472   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1502   1473   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1503   1474   
    >;
 1504   1475   
 1505   1476   
    fn request_fmt() -> Self::RequestFmt {
 1506   1477   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1507   1478   
    }
 1508   1479   
 1509   1480   
    fn response_fmt() -> Self::ResponseFmt {
 1510   1481   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1511   1482   
    }
 1512   1483   
}
 1513   1484   
/* ServerOperationGenerator.kt:88 */
 1514   1485   
 1515   1486   
/* ServerOperationGenerator.kt:48 */
 1516   1487   
#[allow(missing_docs)] // documentation missing in model
 1517   1488   
                       /* ServerOperationGenerator.kt:55 */
 1518         -
pub struct MalformedFloat;
        1489  +
pub struct ResponseCodeHttpFallback;
 1519   1490   
 1520         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedFloat {
        1491  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ResponseCodeHttpFallback {
 1521   1492   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1522   1493   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1523         -
            "aws.protocoltests.restjson#MalformedFloat",
        1494  +
            "aws.protocoltests.restjson#ResponseCodeHttpFallback",
 1524   1495   
            "aws.protocoltests.restjson",
 1525         -
            "MalformedFloat",
        1496  +
            "ResponseCodeHttpFallback",
 1526   1497   
        );
 1527   1498   
 1528         -
    type Input = crate::input::MalformedFloatInput;
 1529         -
    type Output = crate::output::MalformedFloatOutput;
 1530         -
    type Error = crate::error::MalformedFloatError;
        1499  +
    type Input = crate::input::ResponseCodeHttpFallbackInput;
        1500  +
    type Output = crate::output::ResponseCodeHttpFallbackOutput;
        1501  +
    type Error = std::convert::Infallible;
 1531   1502   
}
 1532   1503   
 1533         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedFloat {
        1504  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1505  +
    for ResponseCodeHttpFallback
        1506  +
{
 1534   1507   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1535   1508   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1536   1509   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1537   1510   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1538   1511   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1539   1512   
        >,
 1540   1513   
    >;
 1541   1514   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1542   1515   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1543   1516   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1544   1517   
    >;
 1545   1518   
 1546   1519   
    fn request_fmt() -> Self::RequestFmt {
 1547   1520   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1548   1521   
    }
 1549   1522   
 1550   1523   
    fn response_fmt() -> Self::ResponseFmt {
 1551   1524   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1552   1525   
    }
 1553   1526   
}
 1554   1527   
/* ServerOperationGenerator.kt:88 */
 1555   1528   
 1556         -
/* ServerOperationGenerator.kt:48 */
 1557         -
#[allow(missing_docs)] // documentation missing in model
 1558         -
                       /* ServerOperationGenerator.kt:55 */
 1559         -
pub struct MalformedLong;
        1529  +
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming blob shape in the request body. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
        1530  +
/* ServerOperationGenerator.kt:55 */
        1531  +
pub struct StreamingTraits;
 1560   1532   
 1561         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedLong {
        1533  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraits {
 1562   1534   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1563   1535   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1564         -
            "aws.protocoltests.restjson#MalformedLong",
        1536  +
            "aws.protocoltests.restjson#StreamingTraits",
 1565   1537   
            "aws.protocoltests.restjson",
 1566         -
            "MalformedLong",
        1538  +
            "StreamingTraits",
 1567   1539   
        );
 1568   1540   
 1569         -
    type Input = crate::input::MalformedLongInput;
 1570         -
    type Output = crate::output::MalformedLongOutput;
 1571         -
    type Error = crate::error::MalformedLongError;
        1541  +
    type Input = crate::input::StreamingTraitsInput;
        1542  +
    type Output = crate::output::StreamingTraitsOutput;
        1543  +
    type Error = std::convert::Infallible;
 1572   1544   
}
 1573   1545   
 1574         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedLong {
        1546  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1547  +
    for StreamingTraits
        1548  +
{
 1575   1549   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1576   1550   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1577   1551   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1578   1552   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1579   1553   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1580   1554   
        >,
 1581   1555   
    >;
 1582   1556   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1583   1557   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1584   1558   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1585   1559   
    >;
 1586   1560   
 1587   1561   
    fn request_fmt() -> Self::RequestFmt {
 1588   1562   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1589   1563   
    }
 1590   1564   
 1591   1565   
    fn response_fmt() -> Self::ResponseFmt {
 1592   1566   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1593   1567   
    }
 1594   1568   
}
 1595   1569   
/* ServerOperationGenerator.kt:88 */
 1596   1570   
 1597         -
/* ServerOperationGenerator.kt:48 */
 1598         -
#[allow(missing_docs)] // documentation missing in model
 1599         -
                       /* ServerOperationGenerator.kt:55 */
 1600         -
pub struct MalformedShort;
        1571  +
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming blob shape with a required content length in the request body. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
        1572  +
/* ServerOperationGenerator.kt:55 */
        1573  +
pub struct StreamingTraitsRequireLength;
 1601   1574   
 1602         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedShort {
        1575  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraitsRequireLength {
 1603   1576   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1604   1577   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1605         -
            "aws.protocoltests.restjson#MalformedShort",
        1578  +
            "aws.protocoltests.restjson#StreamingTraitsRequireLength",
 1606   1579   
            "aws.protocoltests.restjson",
 1607         -
            "MalformedShort",
        1580  +
            "StreamingTraitsRequireLength",
 1608   1581   
        );
 1609   1582   
 1610         -
    type Input = crate::input::MalformedShortInput;
 1611         -
    type Output = crate::output::MalformedShortOutput;
 1612         -
    type Error = crate::error::MalformedShortError;
        1583  +
    type Input = crate::input::StreamingTraitsRequireLengthInput;
        1584  +
    type Output = crate::output::StreamingTraitsRequireLengthOutput;
        1585  +
    type Error = std::convert::Infallible;
 1613   1586   
}
 1614   1587   
 1615         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedShort {
        1588  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1589  +
    for StreamingTraitsRequireLength
        1590  +
{
 1616   1591   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1617   1592   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1618   1593   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1619   1594   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1620   1595   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1621   1596   
        >,
 1622   1597   
    >;
 1623   1598   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1624   1599   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1625   1600   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1626   1601   
    >;
 1627   1602   
 1628   1603   
    fn request_fmt() -> Self::RequestFmt {
 1629   1604   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1630   1605   
    }
 1631   1606   
 1632   1607   
    fn response_fmt() -> Self::ResponseFmt {
 1633   1608   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1634   1609   
    }
 1635   1610   
}
 1636   1611   
/* ServerOperationGenerator.kt:88 */
 1637   1612   
 1638         -
/* ServerOperationGenerator.kt:48 */
 1639         -
#[allow(missing_docs)] // documentation missing in model
 1640         -
                       /* ServerOperationGenerator.kt:55 */
 1641         -
pub struct MalformedByte;
        1613  +
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming media-typed blob shape in the request body. This examples uses a `@mediaType` trait on the payload to force a custom content-type to be serialized.
        1614  +
/* ServerOperationGenerator.kt:55 */
        1615  +
pub struct StreamingTraitsWithMediaType;
 1642   1616   
 1643         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedByte {
        1617  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraitsWithMediaType {
 1644   1618   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1645   1619   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1646         -
            "aws.protocoltests.restjson#MalformedByte",
        1620  +
            "aws.protocoltests.restjson#StreamingTraitsWithMediaType",
 1647   1621   
            "aws.protocoltests.restjson",
 1648         -
            "MalformedByte",
        1622  +
            "StreamingTraitsWithMediaType",
 1649   1623   
        );
 1650   1624   
 1651         -
    type Input = crate::input::MalformedByteInput;
 1652         -
    type Output = crate::output::MalformedByteOutput;
 1653         -
    type Error = crate::error::MalformedByteError;
        1625  +
    type Input = crate::input::StreamingTraitsWithMediaTypeInput;
        1626  +
    type Output = crate::output::StreamingTraitsWithMediaTypeOutput;
        1627  +
    type Error = std::convert::Infallible;
 1654   1628   
}
 1655   1629   
 1656         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedByte {
        1630  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1631  +
    for StreamingTraitsWithMediaType
        1632  +
{
 1657   1633   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1658   1634   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1659   1635   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1660   1636   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1661   1637   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1662   1638   
        >,
 1663   1639   
    >;
 1664   1640   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1665   1641   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1666   1642   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1667   1643   
    >;
 1668   1644   
 1669   1645   
    fn request_fmt() -> Self::RequestFmt {
 1670   1646   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1671   1647   
    }
 1672   1648   
 1673   1649   
    fn response_fmt() -> Self::ResponseFmt {
 1674   1650   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1675   1651   
    }
 1676   1652   
}
 1677   1653   
/* ServerOperationGenerator.kt:88 */
 1678   1654   
 1679         -
/* ServerOperationGenerator.kt:48 */
 1680         -
#[allow(missing_docs)] // documentation missing in model
 1681         -
                       /* ServerOperationGenerator.kt:55 */
 1682         -
pub struct MalformedBlob;
        1655  +
/// /* ServerOperationGenerator.kt:48 */This operation has four possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A BadRequest error. 4. A FooError. Implementations must be able to successfully take a response and properly (de)serialize successful and error responses based on the the presence of the
        1656  +
/* ServerOperationGenerator.kt:55 */
        1657  +
pub struct GreetingWithErrors;
 1683   1658   
 1684         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedBlob {
        1659  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
 1685   1660   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1686   1661   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1687         -
            "aws.protocoltests.restjson#MalformedBlob",
        1662  +
            "aws.protocoltests.restjson#GreetingWithErrors",
 1688   1663   
            "aws.protocoltests.restjson",
 1689         -
            "MalformedBlob",
        1664  +
            "GreetingWithErrors",
 1690   1665   
        );
 1691   1666   
 1692         -
    type Input = crate::input::MalformedBlobInput;
 1693         -
    type Output = crate::output::MalformedBlobOutput;
 1694         -
    type Error = std::convert::Infallible;
        1667  +
    type Input = crate::input::GreetingWithErrorsInput;
        1668  +
    type Output = crate::output::GreetingWithErrorsOutput;
        1669  +
    type Error = crate::error::GreetingWithErrorsError;
 1695   1670   
}
 1696   1671   
 1697         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedBlob {
        1672  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1673  +
    for GreetingWithErrors
        1674  +
{
 1698   1675   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1699   1676   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1700   1677   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1701   1678   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1702   1679   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1703   1680   
        >,
 1704   1681   
    >;
 1705   1682   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1706   1683   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1707   1684   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1708   1685   
    >;
 1709   1686   
 1710   1687   
    fn request_fmt() -> Self::RequestFmt {
 1711   1688   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1712   1689   
    }
 1713   1690   
 1714   1691   
    fn response_fmt() -> Self::ResponseFmt {
 1715   1692   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1716   1693   
    }
 1717   1694   
}
 1718   1695   
/* ServerOperationGenerator.kt:88 */
 1719   1696   
 1720   1697   
/* ServerOperationGenerator.kt:48 */
 1721   1698   
#[allow(missing_docs)] // documentation missing in model
 1722   1699   
                       /* ServerOperationGenerator.kt:55 */
 1723         -
pub struct MalformedMap;
        1700  +
pub struct SimpleScalarProperties;
 1724   1701   
 1725         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedMap {
        1702  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
 1726   1703   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1727   1704   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1728         -
            "aws.protocoltests.restjson#MalformedMap",
        1705  +
            "aws.protocoltests.restjson#SimpleScalarProperties",
 1729   1706   
            "aws.protocoltests.restjson",
 1730         -
            "MalformedMap",
        1707  +
            "SimpleScalarProperties",
 1731   1708   
        );
 1732   1709   
 1733         -
    type Input = crate::input::MalformedMapInput;
 1734         -
    type Output = crate::output::MalformedMapOutput;
        1710  +
    type Input = crate::input::SimpleScalarPropertiesInput;
        1711  +
    type Output = crate::output::SimpleScalarPropertiesOutput;
 1735   1712   
    type Error = std::convert::Infallible;
 1736   1713   
}
 1737   1714   
 1738         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedMap {
        1715  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        1716  +
    for SimpleScalarProperties
        1717  +
{
 1739   1718   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1740   1719   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1741   1720   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1742   1721   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1743   1722   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1744   1723   
        >,
 1745   1724   
    >;
 1746   1725   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1747   1726   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1748   1727   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1749   1728   
    >;
 1750   1729   
 1751   1730   
    fn request_fmt() -> Self::RequestFmt {
 1752   1731   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1753   1732   
    }
 1754   1733   
 1755   1734   
    fn response_fmt() -> Self::ResponseFmt {
 1756   1735   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1757   1736   
    }
 1758   1737   
}
 1759   1738   
/* ServerOperationGenerator.kt:88 */
 1760   1739   
 1761         -
/* ServerOperationGenerator.kt:48 */
 1762         -
#[allow(missing_docs)] // documentation missing in model
 1763         -
                       /* ServerOperationGenerator.kt:55 */
 1764         -
pub struct MalformedList;
        1740  +
/// /* ServerOperationGenerator.kt:48 */This tests how timestamps are serialized, including using the default format of date-time and various @timestampFormat trait values.
        1741  +
/* ServerOperationGenerator.kt:55 */
        1742  +
pub struct JsonTimestamps;
 1765   1743   
 1766         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedList {
        1744  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonTimestamps {
 1767   1745   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1768   1746   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1769         -
            "aws.protocoltests.restjson#MalformedList",
        1747  +
            "aws.protocoltests.restjson#JsonTimestamps",
 1770   1748   
            "aws.protocoltests.restjson",
 1771         -
            "MalformedList",
        1749  +
            "JsonTimestamps",
 1772   1750   
        );
 1773   1751   
 1774         -
    type Input = crate::input::MalformedListInput;
 1775         -
    type Output = crate::output::MalformedListOutput;
        1752  +
    type Input = crate::input::JsonTimestampsInput;
        1753  +
    type Output = crate::output::JsonTimestampsOutput;
 1776   1754   
    type Error = std::convert::Infallible;
 1777   1755   
}
 1778   1756   
 1779         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedList {
        1757  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonTimestamps {
 1780   1758   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1781   1759   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1782   1760   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1783   1761   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1784   1762   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1785   1763   
        >,
 1786   1764   
    >;
 1787   1765   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1788   1766   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1789   1767   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1790   1768   
    >;
 1791   1769   
 1792   1770   
    fn request_fmt() -> Self::RequestFmt {
 1793   1771   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1794   1772   
    }
 1795   1773   
 1796   1774   
    fn response_fmt() -> Self::ResponseFmt {
 1797   1775   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1798   1776   
    }
 1799   1777   
}
 1800   1778   
/* ServerOperationGenerator.kt:88 */
 1801   1779   
 1802         -
/* ServerOperationGenerator.kt:48 */
 1803         -
#[allow(missing_docs)] // documentation missing in model
 1804         -
                       /* ServerOperationGenerator.kt:55 */
 1805         -
pub struct MalformedBoolean;
        1780  +
/// /* ServerOperationGenerator.kt:48 */This example serializes enums as top level properties, in lists, sets, and maps.
        1781  +
/* ServerOperationGenerator.kt:55 */
        1782  +
pub struct JsonEnums;
 1806   1783   
 1807         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedBoolean {
        1784  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
 1808   1785   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1809   1786   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1810         -
            "aws.protocoltests.restjson#MalformedBoolean",
        1787  +
            "aws.protocoltests.restjson#JsonEnums",
 1811   1788   
            "aws.protocoltests.restjson",
 1812         -
            "MalformedBoolean",
        1789  +
            "JsonEnums",
 1813   1790   
        );
 1814   1791   
 1815         -
    type Input = crate::input::MalformedBooleanInput;
 1816         -
    type Output = crate::output::MalformedBooleanOutput;
 1817         -
    type Error = crate::error::MalformedBooleanError;
        1792  +
    type Input = crate::input::JsonEnumsInput;
        1793  +
    type Output = crate::output::JsonEnumsOutput;
        1794  +
    type Error = crate::error::JsonEnumsError;
 1818   1795   
}
 1819   1796   
 1820         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1821         -
    for MalformedBoolean
 1822         -
{
        1797  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
 1823   1798   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1824   1799   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1825   1800   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1826   1801   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1827   1802   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1828   1803   
        >,
 1829   1804   
    >;
 1830   1805   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1831   1806   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1832   1807   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1833   1808   
    >;
 1834   1809   
 1835   1810   
    fn request_fmt() -> Self::RequestFmt {
 1836   1811   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1837   1812   
    }
 1838   1813   
 1839   1814   
    fn response_fmt() -> Self::ResponseFmt {
 1840   1815   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1841   1816   
    }
 1842   1817   
}
 1843   1818   
/* ServerOperationGenerator.kt:88 */
 1844   1819   
 1845         -
/* ServerOperationGenerator.kt:48 */
 1846         -
#[allow(missing_docs)] // documentation missing in model
 1847         -
                       /* ServerOperationGenerator.kt:55 */
 1848         -
pub struct MalformedUnion;
        1820  +
/// /* ServerOperationGenerator.kt:48 */This example serializes intEnums as top level properties, in lists, sets, and maps.
        1821  +
/* ServerOperationGenerator.kt:55 */
        1822  +
pub struct JsonIntEnums;
 1849   1823   
 1850         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedUnion {
        1824  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
 1851   1825   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1852   1826   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1853         -
            "aws.protocoltests.restjson#MalformedUnion",
        1827  +
            "aws.protocoltests.restjson#JsonIntEnums",
 1854   1828   
            "aws.protocoltests.restjson",
 1855         -
            "MalformedUnion",
        1829  +
            "JsonIntEnums",
 1856   1830   
        );
 1857   1831   
 1858         -
    type Input = crate::input::MalformedUnionInput;
 1859         -
    type Output = crate::output::MalformedUnionOutput;
 1860         -
    type Error = std::convert::Infallible;
        1832  +
    type Input = crate::input::JsonIntEnumsInput;
        1833  +
    type Output = crate::output::JsonIntEnumsOutput;
        1834  +
    type Error = crate::error::JsonIntEnumsError;
 1861   1835   
}
 1862   1836   
 1863         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedUnion {
        1837  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
 1864   1838   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1865   1839   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1866   1840   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1867   1841   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1868   1842   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1869   1843   
        >,
 1870   1844   
    >;
 1871   1845   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1872   1846   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1873   1847   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1874   1848   
    >;
 1875   1849   
 1876   1850   
    fn request_fmt() -> Self::RequestFmt {
 1877   1851   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1878   1852   
    }
 1879   1853   
 1880   1854   
    fn response_fmt() -> Self::ResponseFmt {
 1881   1855   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1882   1856   
    }
 1883   1857   
}
 1884   1858   
/* ServerOperationGenerator.kt:88 */
 1885   1859   
 1886         -
/* ServerOperationGenerator.kt:48 */
 1887         -
#[allow(missing_docs)] // documentation missing in model
 1888         -
                       /* ServerOperationGenerator.kt:55 */
 1889         -
pub struct MalformedInteger;
        1860  +
/// /* ServerOperationGenerator.kt:48 */Recursive shapes
        1861  +
/* ServerOperationGenerator.kt:55 */
        1862  +
pub struct RecursiveShapes;
 1890   1863   
 1891         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedInteger {
        1864  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for RecursiveShapes {
 1892   1865   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1893   1866   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1894         -
            "aws.protocoltests.restjson#MalformedInteger",
        1867  +
            "aws.protocoltests.restjson#RecursiveShapes",
 1895   1868   
            "aws.protocoltests.restjson",
 1896         -
            "MalformedInteger",
        1869  +
            "RecursiveShapes",
 1897   1870   
        );
 1898   1871   
 1899         -
    type Input = crate::input::MalformedIntegerInput;
 1900         -
    type Output = crate::output::MalformedIntegerOutput;
 1901         -
    type Error = crate::error::MalformedIntegerError;
        1872  +
    type Input = crate::input::RecursiveShapesInput;
        1873  +
    type Output = crate::output::RecursiveShapesOutput;
        1874  +
    type Error = std::convert::Infallible;
 1902   1875   
}
 1903   1876   
 1904   1877   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1905         -
    for MalformedInteger
        1878  +
    for RecursiveShapes
 1906   1879   
{
 1907   1880   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1908   1881   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1909   1882   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1910   1883   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1911   1884   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1912   1885   
        >,
 1913   1886   
    >;
 1914   1887   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1915   1888   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1916   1889   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1917   1890   
    >;
 1918   1891   
 1919   1892   
    fn request_fmt() -> Self::RequestFmt {
 1920   1893   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1921   1894   
    }
 1922   1895   
 1923   1896   
    fn response_fmt() -> Self::ResponseFmt {
 1924   1897   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1925   1898   
    }
 1926   1899   
}
 1927   1900   
/* ServerOperationGenerator.kt:88 */
 1928   1901   
 1929         -
/* ServerOperationGenerator.kt:48 */
 1930         -
#[allow(missing_docs)] // documentation missing in model
 1931         -
                       /* ServerOperationGenerator.kt:55 */
 1932         -
pub struct MalformedRequestBody;
        1902  +
/// /* ServerOperationGenerator.kt:48 */This test case serializes JSON lists for the following cases for both input and output: 1. Normal JSON lists. 2. Normal JSON sets. 3. JSON lists of lists. 4. Lists of structures.
        1903  +
/* ServerOperationGenerator.kt:55 */
        1904  +
pub struct JsonLists;
 1933   1905   
 1934         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedRequestBody {
        1906  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonLists {
 1935   1907   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1936   1908   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1937         -
            "aws.protocoltests.restjson#MalformedRequestBody",
        1909  +
            "aws.protocoltests.restjson#JsonLists",
 1938   1910   
            "aws.protocoltests.restjson",
 1939         -
            "MalformedRequestBody",
        1911  +
            "JsonLists",
 1940   1912   
        );
 1941   1913   
 1942         -
    type Input = crate::input::MalformedRequestBodyInput;
 1943         -
    type Output = crate::output::MalformedRequestBodyOutput;
 1944         -
    type Error = std::convert::Infallible;
        1914  +
    type Input = crate::input::JsonListsInput;
        1915  +
    type Output = crate::output::JsonListsOutput;
        1916  +
    type Error = crate::error::JsonListsError;
 1945   1917   
}
 1946   1918   
 1947         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1948         -
    for MalformedRequestBody
 1949         -
{
        1919  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonLists {
 1950   1920   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1951   1921   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1952   1922   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1953   1923   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1954   1924   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1955   1925   
        >,
 1956   1926   
    >;
 1957   1927   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 1958   1928   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1959   1929   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1960   1930   
    >;
 1961   1931   
 1962   1932   
    fn request_fmt() -> Self::RequestFmt {
 1963   1933   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 1964   1934   
    }
 1965   1935   
 1966   1936   
    fn response_fmt() -> Self::ResponseFmt {
 1967   1937   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 1968   1938   
    }
 1969   1939   
}
 1970   1940   
/* ServerOperationGenerator.kt:88 */
 1971   1941   
 1972         -
/// /* ServerOperationGenerator.kt:48 */This example tests httpChecksumRequired trait
 1973         -
/* ServerOperationGenerator.kt:55 */
 1974         -
pub struct HttpChecksumRequired;
        1942  +
/* ServerOperationGenerator.kt:48 */
        1943  +
#[allow(missing_docs)] // documentation missing in model
        1944  +
                       /* ServerOperationGenerator.kt:55 */
        1945  +
pub struct SparseJsonLists;
 1975   1946   
 1976         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpChecksumRequired {
        1947  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseJsonLists {
 1977   1948   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 1978   1949   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 1979         -
            "aws.protocoltests.restjson#HttpChecksumRequired",
        1950  +
            "aws.protocoltests.restjson#SparseJsonLists",
 1980   1951   
            "aws.protocoltests.restjson",
 1981         -
            "HttpChecksumRequired",
        1952  +
            "SparseJsonLists",
 1982   1953   
        );
 1983   1954   
 1984         -
    type Input = crate::input::HttpChecksumRequiredInput;
 1985         -
    type Output = crate::output::HttpChecksumRequiredOutput;
        1955  +
    type Input = crate::input::SparseJsonListsInput;
        1956  +
    type Output = crate::output::SparseJsonListsOutput;
 1986   1957   
    type Error = std::convert::Infallible;
 1987   1958   
}
 1988   1959   
 1989   1960   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 1990         -
    for HttpChecksumRequired
        1961  +
    for SparseJsonLists
 1991   1962   
{
 1992   1963   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 1993   1964   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1994   1965   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 1995   1966   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1996   1967   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 1997   1968   
        >,
 1998   1969   
    >;
 1999   1970   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2000   1971   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2001   1972   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2002   1973   
    >;
 2003   1974   
 2004   1975   
    fn request_fmt() -> Self::RequestFmt {
 2005   1976   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2006   1977   
    }
 2007   1978   
 2008   1979   
    fn response_fmt() -> Self::ResponseFmt {
 2009   1980   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2010   1981   
    }
 2011   1982   
}
 2012   1983   
/* ServerOperationGenerator.kt:88 */
 2013   1984   
 2014         -
/* ServerOperationGenerator.kt:48 */
 2015         -
#[allow(missing_docs)] // documentation missing in model
 2016         -
                       /* ServerOperationGenerator.kt:55 */
 2017         -
pub struct HostWithPathOperation;
        1985  +
/// /* ServerOperationGenerator.kt:48 */The example tests basic map serialization.
        1986  +
/* ServerOperationGenerator.kt:55 */
        1987  +
pub struct JsonMaps;
 2018   1988   
 2019         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
        1989  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonMaps {
 2020   1990   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2021   1991   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2022         -
            "aws.protocoltests.restjson#HostWithPathOperation",
        1992  +
            "aws.protocoltests.restjson#JsonMaps",
 2023   1993   
            "aws.protocoltests.restjson",
 2024         -
            "HostWithPathOperation",
        1994  +
            "JsonMaps",
 2025   1995   
        );
 2026   1996   
 2027         -
    type Input = crate::input::HostWithPathOperationInput;
 2028         -
    type Output = crate::output::HostWithPathOperationOutput;
 2029         -
    type Error = std::convert::Infallible;
        1997  +
    type Input = crate::input::JsonMapsInput;
        1998  +
    type Output = crate::output::JsonMapsOutput;
        1999  +
    type Error = crate::error::JsonMapsError;
 2030   2000   
}
 2031   2001   
 2032         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2033         -
    for HostWithPathOperation
 2034         -
{
        2002  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonMaps {
 2035   2003   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2036   2004   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2037   2005   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2038   2006   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2039   2007   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2040   2008   
        >,
 2041   2009   
    >;
 2042   2010   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2043   2011   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2044   2012   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2045   2013   
    >;
 2046   2014   
 2047   2015   
    fn request_fmt() -> Self::RequestFmt {
 2048   2016   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2049   2017   
    }
 2050   2018   
 2051   2019   
    fn response_fmt() -> Self::ResponseFmt {
 2052   2020   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2053   2021   
    }
 2054   2022   
}
 2055   2023   
/* ServerOperationGenerator.kt:88 */
 2056   2024   
 2057         -
/* ServerOperationGenerator.kt:48 */
 2058         -
#[allow(missing_docs)] // documentation missing in model
 2059         -
                       /* ServerOperationGenerator.kt:55 */
 2060         -
pub struct EndpointWithHostLabelOperation;
        2025  +
/// /* ServerOperationGenerator.kt:48 */This example tests sparse map serialization.
        2026  +
/* ServerOperationGenerator.kt:55 */
        2027  +
pub struct SparseJsonMaps;
 2061   2028   
 2062         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
        2029  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseJsonMaps {
 2063   2030   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2064   2031   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2065         -
            "aws.protocoltests.restjson#EndpointWithHostLabelOperation",
        2032  +
            "aws.protocoltests.restjson#SparseJsonMaps",
 2066   2033   
            "aws.protocoltests.restjson",
 2067         -
            "EndpointWithHostLabelOperation",
        2034  +
            "SparseJsonMaps",
 2068   2035   
        );
 2069   2036   
 2070         -
    type Input = crate::input::EndpointWithHostLabelOperationInput;
 2071         -
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
 2072         -
    type Error = crate::error::EndpointWithHostLabelOperationError;
        2037  +
    type Input = crate::input::SparseJsonMapsInput;
        2038  +
    type Output = crate::output::SparseJsonMapsOutput;
        2039  +
    type Error = crate::error::SparseJsonMapsError;
 2073   2040   
}
 2074   2041   
 2075         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2076         -
    for EndpointWithHostLabelOperation
 2077         -
{
        2042  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for SparseJsonMaps {
 2078   2043   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2079   2044   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2080   2045   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2081   2046   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2082   2047   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2083   2048   
        >,
 2084   2049   
    >;
 2085   2050   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2086   2051   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2087   2052   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2088   2053   
    >;
 2089   2054   
 2090   2055   
    fn request_fmt() -> Self::RequestFmt {
 2091   2056   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2092   2057   
    }
 2093   2058   
 2094   2059   
    fn response_fmt() -> Self::ResponseFmt {
 2095   2060   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2096   2061   
    }
 2097   2062   
}
 2098   2063   
/* ServerOperationGenerator.kt:88 */
 2099   2064   
 2100         -
/* ServerOperationGenerator.kt:48 */
 2101         -
#[allow(missing_docs)] // documentation missing in model
 2102         -
                       /* ServerOperationGenerator.kt:55 */
 2103         -
pub struct EndpointOperation;
        2065  +
/// /* ServerOperationGenerator.kt:48 */Blobs are base64 encoded
        2066  +
/* ServerOperationGenerator.kt:55 */
        2067  +
pub struct JsonBlobs;
 2104   2068   
 2105         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
        2069  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonBlobs {
 2106   2070   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2107   2071   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2108         -
            "aws.protocoltests.restjson#EndpointOperation",
        2072  +
            "aws.protocoltests.restjson#JsonBlobs",
 2109   2073   
            "aws.protocoltests.restjson",
 2110         -
            "EndpointOperation",
        2074  +
            "JsonBlobs",
 2111   2075   
        );
 2112   2076   
 2113         -
    type Input = crate::input::EndpointOperationInput;
 2114         -
    type Output = crate::output::EndpointOperationOutput;
        2077  +
    type Input = crate::input::JsonBlobsInput;
        2078  +
    type Output = crate::output::JsonBlobsOutput;
 2115   2079   
    type Error = std::convert::Infallible;
 2116   2080   
}
 2117   2081   
 2118         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2119         -
    for EndpointOperation
 2120         -
{
        2082  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonBlobs {
 2121   2083   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2122   2084   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2123   2085   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2124   2086   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2125   2087   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2126   2088   
        >,
 2127   2089   
    >;
 2128   2090   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2129   2091   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2130   2092   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2131   2093   
    >;
 2132   2094   
 2133   2095   
    fn request_fmt() -> Self::RequestFmt {
 2134   2096   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2135   2097   
    }
 2136   2098   
 2137   2099   
    fn response_fmt() -> Self::ResponseFmt {
 2138   2100   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2139   2101   
    }
 2140   2102   
}
 2141   2103   
/* ServerOperationGenerator.kt:88 */
 2142   2104   
 2143         -
/// /* ServerOperationGenerator.kt:48 */This operation defines a union that uses jsonName on some members.
        2105  +
/// /* ServerOperationGenerator.kt:48 */This example serializes a document as part of the payload.
 2144   2106   
/* ServerOperationGenerator.kt:55 */
 2145         -
pub struct PostUnionWithJsonName;
        2107  +
pub struct DocumentType;
 2146   2108   
 2147         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PostUnionWithJsonName {
        2109  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentType {
 2148   2110   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2149   2111   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2150         -
            "aws.protocoltests.restjson#PostUnionWithJsonName",
        2112  +
            "aws.protocoltests.restjson#DocumentType",
 2151   2113   
            "aws.protocoltests.restjson",
 2152         -
            "PostUnionWithJsonName",
        2114  +
            "DocumentType",
 2153   2115   
        );
 2154   2116   
 2155         -
    type Input = crate::input::PostUnionWithJsonNameInput;
 2156         -
    type Output = crate::output::PostUnionWithJsonNameOutput;
        2117  +
    type Input = crate::input::DocumentTypeInput;
        2118  +
    type Output = crate::output::DocumentTypeOutput;
 2157   2119   
    type Error = std::convert::Infallible;
 2158   2120   
}
 2159   2121   
 2160         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2161         -
    for PostUnionWithJsonName
 2162         -
{
        2122  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for DocumentType {
 2163   2123   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2164   2124   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2165   2125   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2166   2126   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2167   2127   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2168   2128   
        >,
 2169   2129   
    >;
 2170   2130   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2171   2131   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2172   2132   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2173   2133   
    >;
 2174   2134   
 2175   2135   
    fn request_fmt() -> Self::RequestFmt {
 2176   2136   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2177   2137   
    }
 2178   2138   
 2179   2139   
    fn response_fmt() -> Self::ResponseFmt {
 2180   2140   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2181   2141   
    }
 2182   2142   
}
 2183   2143   
/* ServerOperationGenerator.kt:88 */
 2184   2144   
 2185         -
/// /* ServerOperationGenerator.kt:48 */This operation defines a union with a Unit member.
        2145  +
/// /* ServerOperationGenerator.kt:48 */This example serializes a document as the entire HTTP payload.
 2186   2146   
/* ServerOperationGenerator.kt:55 */
 2187         -
pub struct PostPlayerAction;
        2147  +
pub struct DocumentTypeAsPayload;
 2188   2148   
 2189         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PostPlayerAction {
        2149  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentTypeAsPayload {
 2190   2150   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2191   2151   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2192         -
            "aws.protocoltests.restjson#PostPlayerAction",
        2152  +
            "aws.protocoltests.restjson#DocumentTypeAsPayload",
 2193   2153   
            "aws.protocoltests.restjson",
 2194         -
            "PostPlayerAction",
        2154  +
            "DocumentTypeAsPayload",
 2195   2155   
        );
 2196   2156   
 2197         -
    type Input = crate::input::PostPlayerActionInput;
 2198         -
    type Output = crate::output::PostPlayerActionOutput;
        2157  +
    type Input = crate::input::DocumentTypeAsPayloadInput;
        2158  +
    type Output = crate::output::DocumentTypeAsPayloadOutput;
 2199   2159   
    type Error = std::convert::Infallible;
 2200   2160   
}
 2201   2161   
 2202   2162   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2203         -
    for PostPlayerAction
        2163  +
    for DocumentTypeAsPayload
        2164  +
{
        2165  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2166  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2167  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2168  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2169  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2170  +
        >,
        2171  +
    >;
        2172  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2173  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2174  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2175  +
    >;
        2176  +
        2177  +
    fn request_fmt() -> Self::RequestFmt {
        2178  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2179  +
    }
        2180  +
        2181  +
    fn response_fmt() -> Self::ResponseFmt {
        2182  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2183  +
    }
        2184  +
}
        2185  +
/* ServerOperationGenerator.kt:88 */
        2186  +
        2187  +
/// /* ServerOperationGenerator.kt:48 */This example serializes documents as the value of maps.
        2188  +
/* ServerOperationGenerator.kt:55 */
        2189  +
pub struct DocumentTypeAsMapValue;
        2190  +
        2191  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentTypeAsMapValue {
        2192  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2193  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2194  +
            "aws.protocoltests.restjson#DocumentTypeAsMapValue",
        2195  +
            "aws.protocoltests.restjson",
        2196  +
            "DocumentTypeAsMapValue",
        2197  +
        );
        2198  +
        2199  +
    type Input = crate::input::DocumentTypeAsMapValueInput;
        2200  +
    type Output = crate::output::DocumentTypeAsMapValueOutput;
        2201  +
    type Error = std::convert::Infallible;
        2202  +
}
        2203  +
        2204  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2205  +
    for DocumentTypeAsMapValue
 2204   2206   
{
 2205   2207   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2206   2208   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2207   2209   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2208   2210   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2209   2211   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2210   2212   
        >,
 2211   2213   
    >;
 2212   2214   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2213   2215   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
@@ -2237,2239 +4449,4793 @@
 2257   2259   
    fn request_fmt() -> Self::RequestFmt {
 2258   2260   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2259   2261   
    }
 2260   2262   
 2261   2263   
    fn response_fmt() -> Self::ResponseFmt {
 2262   2264   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2263   2265   
    }
 2264   2266   
}
 2265   2267   
/* ServerOperationGenerator.kt:88 */
 2266   2268   
 2267         -
/// /* ServerOperationGenerator.kt:48 */This example serializes documents as the value of maps.
        2269  +
/// /* ServerOperationGenerator.kt:48 */This operation defines a union with a Unit member.
 2268   2270   
/* ServerOperationGenerator.kt:55 */
 2269         -
pub struct DocumentTypeAsMapValue;
        2271  +
pub struct PostPlayerAction;
 2270   2272   
 2271         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentTypeAsMapValue {
        2273  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PostPlayerAction {
 2272   2274   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2273   2275   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2274         -
            "aws.protocoltests.restjson#DocumentTypeAsMapValue",
        2276  +
            "aws.protocoltests.restjson#PostPlayerAction",
 2275   2277   
            "aws.protocoltests.restjson",
 2276         -
            "DocumentTypeAsMapValue",
        2278  +
            "PostPlayerAction",
 2277   2279   
        );
 2278   2280   
 2279         -
    type Input = crate::input::DocumentTypeAsMapValueInput;
 2280         -
    type Output = crate::output::DocumentTypeAsMapValueOutput;
        2281  +
    type Input = crate::input::PostPlayerActionInput;
        2282  +
    type Output = crate::output::PostPlayerActionOutput;
 2281   2283   
    type Error = std::convert::Infallible;
 2282   2284   
}
 2283   2285   
 2284   2286   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2285         -
    for DocumentTypeAsMapValue
        2287  +
    for PostPlayerAction
 2286   2288   
{
 2287   2289   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2288   2290   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2289   2291   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2290   2292   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2291   2293   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2292   2294   
        >,
 2293   2295   
    >;
 2294   2296   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2295   2297   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2296   2298   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2297   2299   
    >;
 2298   2300   
 2299   2301   
    fn request_fmt() -> Self::RequestFmt {
 2300   2302   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2301   2303   
    }
 2302   2304   
 2303   2305   
    fn response_fmt() -> Self::ResponseFmt {
 2304   2306   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2305   2307   
    }
 2306   2308   
}
 2307   2309   
/* ServerOperationGenerator.kt:88 */
 2308   2310   
 2309         -
/// /* ServerOperationGenerator.kt:48 */This example serializes a document as the entire HTTP payload.
        2311  +
/// /* ServerOperationGenerator.kt:48 */This operation defines a union that uses jsonName on some members.
 2310   2312   
/* ServerOperationGenerator.kt:55 */
 2311         -
pub struct DocumentTypeAsPayload;
        2313  +
pub struct PostUnionWithJsonName;
 2312   2314   
 2313         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentTypeAsPayload {
        2315  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PostUnionWithJsonName {
 2314   2316   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2315   2317   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2316         -
            "aws.protocoltests.restjson#DocumentTypeAsPayload",
        2318  +
            "aws.protocoltests.restjson#PostUnionWithJsonName",
 2317   2319   
            "aws.protocoltests.restjson",
 2318         -
            "DocumentTypeAsPayload",
        2320  +
            "PostUnionWithJsonName",
 2319   2321   
        );
 2320   2322   
 2321         -
    type Input = crate::input::DocumentTypeAsPayloadInput;
 2322         -
    type Output = crate::output::DocumentTypeAsPayloadOutput;
        2323  +
    type Input = crate::input::PostUnionWithJsonNameInput;
        2324  +
    type Output = crate::output::PostUnionWithJsonNameOutput;
 2323   2325   
    type Error = std::convert::Infallible;
 2324   2326   
}
 2325   2327   
 2326   2328   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2327         -
    for DocumentTypeAsPayload
        2329  +
    for PostUnionWithJsonName
 2328   2330   
{
 2329   2331   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2330   2332   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2331   2333   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2332   2334   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2333   2335   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2334   2336   
        >,
 2335   2337   
    >;
 2336   2338   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2337   2339   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2338   2340   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2339   2341   
    >;
 2340   2342   
 2341   2343   
    fn request_fmt() -> Self::RequestFmt {
 2342   2344   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2343   2345   
    }
 2344   2346   
 2345   2347   
    fn response_fmt() -> Self::ResponseFmt {
 2346   2348   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2347   2349   
    }
 2348   2350   
}
 2349   2351   
/* ServerOperationGenerator.kt:88 */
 2350   2352   
 2351         -
/// /* ServerOperationGenerator.kt:48 */This example serializes a document as part of the payload.
 2352         -
/* ServerOperationGenerator.kt:55 */
 2353         -
pub struct DocumentType;
        2353  +
/* ServerOperationGenerator.kt:48 */
        2354  +
#[allow(missing_docs)] // documentation missing in model
        2355  +
                       /* ServerOperationGenerator.kt:55 */
        2356  +
pub struct EndpointOperation;
 2354   2357   
 2355         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DocumentType {
        2358  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointOperation {
 2356   2359   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2357   2360   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2358         -
            "aws.protocoltests.restjson#DocumentType",
        2361  +
            "aws.protocoltests.restjson#EndpointOperation",
 2359   2362   
            "aws.protocoltests.restjson",
 2360         -
            "DocumentType",
        2363  +
            "EndpointOperation",
 2361   2364   
        );
 2362   2365   
 2363         -
    type Input = crate::input::DocumentTypeInput;
 2364         -
    type Output = crate::output::DocumentTypeOutput;
        2366  +
    type Input = crate::input::EndpointOperationInput;
        2367  +
    type Output = crate::output::EndpointOperationOutput;
 2365   2368   
    type Error = std::convert::Infallible;
 2366   2369   
}
 2367   2370   
 2368         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for DocumentType {
        2371  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2372  +
    for EndpointOperation
        2373  +
{
 2369   2374   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2370   2375   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2371   2376   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2372   2377   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2373   2378   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2374   2379   
        >,
 2375   2380   
    >;
 2376   2381   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2377   2382   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2378   2383   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2379   2384   
    >;
 2380   2385   
 2381   2386   
    fn request_fmt() -> Self::RequestFmt {
 2382   2387   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2383   2388   
    }
 2384   2389   
 2385   2390   
    fn response_fmt() -> Self::ResponseFmt {
 2386   2391   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2387   2392   
    }
 2388   2393   
}
 2389   2394   
/* ServerOperationGenerator.kt:88 */
 2390   2395   
 2391         -
/// /* ServerOperationGenerator.kt:48 */Blobs are base64 encoded
 2392         -
/* ServerOperationGenerator.kt:55 */
 2393         -
pub struct JsonBlobs;
        2396  +
/* ServerOperationGenerator.kt:48 */
        2397  +
#[allow(missing_docs)] // documentation missing in model
        2398  +
                       /* ServerOperationGenerator.kt:55 */
        2399  +
pub struct EndpointWithHostLabelOperation;
 2394   2400   
 2395         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonBlobs {
        2401  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EndpointWithHostLabelOperation {
 2396   2402   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2397   2403   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2398         -
            "aws.protocoltests.restjson#JsonBlobs",
        2404  +
            "aws.protocoltests.restjson#EndpointWithHostLabelOperation",
 2399   2405   
            "aws.protocoltests.restjson",
 2400         -
            "JsonBlobs",
        2406  +
            "EndpointWithHostLabelOperation",
 2401   2407   
        );
 2402   2408   
 2403         -
    type Input = crate::input::JsonBlobsInput;
 2404         -
    type Output = crate::output::JsonBlobsOutput;
 2405         -
    type Error = std::convert::Infallible;
        2409  +
    type Input = crate::input::EndpointWithHostLabelOperationInput;
        2410  +
    type Output = crate::output::EndpointWithHostLabelOperationOutput;
        2411  +
    type Error = crate::error::EndpointWithHostLabelOperationError;
 2406   2412   
}
 2407   2413   
 2408         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonBlobs {
        2414  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2415  +
    for EndpointWithHostLabelOperation
        2416  +
{
 2409   2417   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2410   2418   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2411   2419   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2412   2420   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2413   2421   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2414   2422   
        >,
 2415   2423   
    >;
 2416   2424   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2417   2425   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2418   2426   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2419   2427   
    >;
 2420   2428   
 2421   2429   
    fn request_fmt() -> Self::RequestFmt {
 2422   2430   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2423   2431   
    }
 2424   2432   
 2425   2433   
    fn response_fmt() -> Self::ResponseFmt {
 2426   2434   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2427   2435   
    }
 2428   2436   
}
 2429   2437   
/* ServerOperationGenerator.kt:88 */
 2430   2438   
 2431         -
/// /* ServerOperationGenerator.kt:48 */This example tests sparse map serialization.
 2432         -
/* ServerOperationGenerator.kt:55 */
 2433         -
pub struct SparseJsonMaps;
        2439  +
/* ServerOperationGenerator.kt:48 */
        2440  +
#[allow(missing_docs)] // documentation missing in model
        2441  +
                       /* ServerOperationGenerator.kt:55 */
        2442  +
pub struct HostWithPathOperation;
 2434   2443   
 2435         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseJsonMaps {
        2444  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HostWithPathOperation {
 2436   2445   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2437   2446   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2438         -
            "aws.protocoltests.restjson#SparseJsonMaps",
        2447  +
            "aws.protocoltests.restjson#HostWithPathOperation",
 2439   2448   
            "aws.protocoltests.restjson",
 2440         -
            "SparseJsonMaps",
        2449  +
            "HostWithPathOperation",
 2441   2450   
        );
 2442   2451   
 2443         -
    type Input = crate::input::SparseJsonMapsInput;
 2444         -
    type Output = crate::output::SparseJsonMapsOutput;
 2445         -
    type Error = crate::error::SparseJsonMapsError;
        2452  +
    type Input = crate::input::HostWithPathOperationInput;
        2453  +
    type Output = crate::output::HostWithPathOperationOutput;
        2454  +
    type Error = std::convert::Infallible;
 2446   2455   
}
 2447   2456   
 2448         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for SparseJsonMaps {
        2457  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2458  +
    for HostWithPathOperation
        2459  +
{
 2449   2460   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2450   2461   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2451   2462   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2452   2463   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2453   2464   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2454   2465   
        >,
 2455   2466   
    >;
 2456   2467   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2457   2468   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2458   2469   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2459   2470   
    >;
 2460   2471   
 2461   2472   
    fn request_fmt() -> Self::RequestFmt {
 2462   2473   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2463   2474   
    }
 2464   2475   
 2465   2476   
    fn response_fmt() -> Self::ResponseFmt {
 2466   2477   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2467   2478   
    }
 2468   2479   
}
 2469   2480   
/* ServerOperationGenerator.kt:88 */
 2470   2481   
 2471         -
/// /* ServerOperationGenerator.kt:48 */The example tests basic map serialization.
        2482  +
/// /* ServerOperationGenerator.kt:48 */This example tests httpChecksumRequired trait
 2472   2483   
/* ServerOperationGenerator.kt:55 */
 2473         -
pub struct JsonMaps;
        2484  +
pub struct HttpChecksumRequired;
 2474   2485   
 2475         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonMaps {
        2486  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpChecksumRequired {
 2476   2487   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2477   2488   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2478         -
            "aws.protocoltests.restjson#JsonMaps",
        2489  +
            "aws.protocoltests.restjson#HttpChecksumRequired",
 2479   2490   
            "aws.protocoltests.restjson",
 2480         -
            "JsonMaps",
        2491  +
            "HttpChecksumRequired",
 2481   2492   
        );
 2482   2493   
 2483         -
    type Input = crate::input::JsonMapsInput;
 2484         -
    type Output = crate::output::JsonMapsOutput;
 2485         -
    type Error = crate::error::JsonMapsError;
        2494  +
    type Input = crate::input::HttpChecksumRequiredInput;
        2495  +
    type Output = crate::output::HttpChecksumRequiredOutput;
        2496  +
    type Error = std::convert::Infallible;
 2486   2497   
}
 2487   2498   
 2488         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonMaps {
        2499  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2500  +
    for HttpChecksumRequired
        2501  +
{
 2489   2502   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2490   2503   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2491   2504   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2492   2505   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2493   2506   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2494   2507   
        >,
 2495   2508   
    >;
 2496   2509   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2497   2510   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2498   2511   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2499   2512   
    >;
 2500   2513   
 2501   2514   
    fn request_fmt() -> Self::RequestFmt {
 2502   2515   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2503   2516   
    }
 2504   2517   
 2505   2518   
    fn response_fmt() -> Self::ResponseFmt {
 2506   2519   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2507   2520   
    }
 2508   2521   
}
 2509   2522   
/* ServerOperationGenerator.kt:88 */
 2510   2523   
 2511   2524   
/* ServerOperationGenerator.kt:48 */
 2512   2525   
#[allow(missing_docs)] // documentation missing in model
 2513   2526   
                       /* ServerOperationGenerator.kt:55 */
 2514         -
pub struct SparseJsonLists;
        2527  +
pub struct MalformedRequestBody;
 2515   2528   
 2516         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SparseJsonLists {
        2529  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedRequestBody {
 2517   2530   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2518   2531   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2519         -
            "aws.protocoltests.restjson#SparseJsonLists",
        2532  +
            "aws.protocoltests.restjson#MalformedRequestBody",
 2520   2533   
            "aws.protocoltests.restjson",
 2521         -
            "SparseJsonLists",
        2534  +
            "MalformedRequestBody",
 2522   2535   
        );
 2523   2536   
 2524         -
    type Input = crate::input::SparseJsonListsInput;
 2525         -
    type Output = crate::output::SparseJsonListsOutput;
        2537  +
    type Input = crate::input::MalformedRequestBodyInput;
        2538  +
    type Output = crate::output::MalformedRequestBodyOutput;
 2526   2539   
    type Error = std::convert::Infallible;
 2527   2540   
}
 2528   2541   
 2529   2542   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2530         -
    for SparseJsonLists
        2543  +
    for MalformedRequestBody
 2531   2544   
{
 2532   2545   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2533   2546   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2534   2547   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2535   2548   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2536   2549   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2537   2550   
        >,
 2538   2551   
    >;
 2539   2552   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2540   2553   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2541   2554   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2542   2555   
    >;
 2543   2556   
 2544   2557   
    fn request_fmt() -> Self::RequestFmt {
 2545   2558   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2546   2559   
    }
 2547   2560   
 2548   2561   
    fn response_fmt() -> Self::ResponseFmt {
 2549   2562   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2550   2563   
    }
 2551   2564   
}
 2552   2565   
/* ServerOperationGenerator.kt:88 */
 2553   2566   
 2554         -
/// /* ServerOperationGenerator.kt:48 */This test case serializes JSON lists for the following cases for both input and output: 1. Normal JSON lists. 2. Normal JSON sets. 3. JSON lists of lists. 4. Lists of structures.
 2555         -
/* ServerOperationGenerator.kt:55 */
 2556         -
pub struct JsonLists;
        2567  +
/* ServerOperationGenerator.kt:48 */
        2568  +
#[allow(missing_docs)] // documentation missing in model
        2569  +
                       /* ServerOperationGenerator.kt:55 */
        2570  +
pub struct MalformedInteger;
 2557   2571   
 2558         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonLists {
        2572  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedInteger {
 2559   2573   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2560   2574   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2561         -
            "aws.protocoltests.restjson#JsonLists",
        2575  +
            "aws.protocoltests.restjson#MalformedInteger",
 2562   2576   
            "aws.protocoltests.restjson",
 2563         -
            "JsonLists",
        2577  +
            "MalformedInteger",
 2564   2578   
        );
 2565   2579   
 2566         -
    type Input = crate::input::JsonListsInput;
 2567         -
    type Output = crate::output::JsonListsOutput;
 2568         -
    type Error = crate::error::JsonListsError;
        2580  +
    type Input = crate::input::MalformedIntegerInput;
        2581  +
    type Output = crate::output::MalformedIntegerOutput;
        2582  +
    type Error = crate::error::MalformedIntegerError;
 2569   2583   
}
 2570   2584   
 2571         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonLists {
        2585  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2586  +
    for MalformedInteger
        2587  +
{
 2572   2588   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2573   2589   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2574   2590   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2575   2591   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2576   2592   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2577   2593   
        >,
 2578   2594   
    >;
 2579   2595   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2580   2596   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2581   2597   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2582   2598   
    >;
 2583   2599   
 2584   2600   
    fn request_fmt() -> Self::RequestFmt {
 2585   2601   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2586   2602   
    }
 2587   2603   
 2588   2604   
    fn response_fmt() -> Self::ResponseFmt {
 2589   2605   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2590   2606   
    }
 2591   2607   
}
 2592   2608   
/* ServerOperationGenerator.kt:88 */
 2593   2609   
 2594         -
/// /* ServerOperationGenerator.kt:48 */Recursive shapes
 2595         -
/* ServerOperationGenerator.kt:55 */
 2596         -
pub struct RecursiveShapes;
        2610  +
/* ServerOperationGenerator.kt:48 */
        2611  +
#[allow(missing_docs)] // documentation missing in model
        2612  +
                       /* ServerOperationGenerator.kt:55 */
        2613  +
pub struct MalformedUnion;
 2597   2614   
 2598         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for RecursiveShapes {
        2615  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedUnion {
 2599   2616   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2600   2617   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2601         -
            "aws.protocoltests.restjson#RecursiveShapes",
        2618  +
            "aws.protocoltests.restjson#MalformedUnion",
 2602   2619   
            "aws.protocoltests.restjson",
 2603         -
            "RecursiveShapes",
        2620  +
            "MalformedUnion",
 2604   2621   
        );
 2605   2622   
 2606         -
    type Input = crate::input::RecursiveShapesInput;
 2607         -
    type Output = crate::output::RecursiveShapesOutput;
        2623  +
    type Input = crate::input::MalformedUnionInput;
        2624  +
    type Output = crate::output::MalformedUnionOutput;
 2608   2625   
    type Error = std::convert::Infallible;
 2609   2626   
}
 2610   2627   
 2611         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2612         -
    for RecursiveShapes
 2613         -
{
        2628  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedUnion {
 2614   2629   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2615   2630   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2616   2631   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2617   2632   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2618   2633   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2619   2634   
        >,
 2620   2635   
    >;
 2621   2636   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2622   2637   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2623   2638   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2624   2639   
    >;
 2625   2640   
 2626   2641   
    fn request_fmt() -> Self::RequestFmt {
 2627   2642   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2628   2643   
    }
 2629   2644   
 2630   2645   
    fn response_fmt() -> Self::ResponseFmt {
 2631   2646   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2632   2647   
    }
 2633   2648   
}
 2634   2649   
/* ServerOperationGenerator.kt:88 */
 2635   2650   
 2636         -
/// /* ServerOperationGenerator.kt:48 */This example serializes intEnums as top level properties, in lists, sets, and maps.
 2637         -
/* ServerOperationGenerator.kt:55 */
 2638         -
pub struct JsonIntEnums;
        2651  +
/* ServerOperationGenerator.kt:48 */
        2652  +
#[allow(missing_docs)] // documentation missing in model
        2653  +
                       /* ServerOperationGenerator.kt:55 */
        2654  +
pub struct MalformedBoolean;
 2639   2655   
 2640         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonIntEnums {
        2656  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedBoolean {
 2641   2657   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2642   2658   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2643         -
            "aws.protocoltests.restjson#JsonIntEnums",
        2659  +
            "aws.protocoltests.restjson#MalformedBoolean",
 2644   2660   
            "aws.protocoltests.restjson",
 2645         -
            "JsonIntEnums",
        2661  +
            "MalformedBoolean",
 2646   2662   
        );
 2647   2663   
 2648         -
    type Input = crate::input::JsonIntEnumsInput;
 2649         -
    type Output = crate::output::JsonIntEnumsOutput;
 2650         -
    type Error = crate::error::JsonIntEnumsError;
        2664  +
    type Input = crate::input::MalformedBooleanInput;
        2665  +
    type Output = crate::output::MalformedBooleanOutput;
        2666  +
    type Error = crate::error::MalformedBooleanError;
 2651   2667   
}
 2652   2668   
 2653         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonIntEnums {
        2669  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        2670  +
    for MalformedBoolean
        2671  +
{
        2672  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2673  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2674  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2675  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2676  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2677  +
        >,
        2678  +
    >;
        2679  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2680  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2681  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2682  +
    >;
        2683  +
        2684  +
    fn request_fmt() -> Self::RequestFmt {
        2685  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2686  +
    }
        2687  +
        2688  +
    fn response_fmt() -> Self::ResponseFmt {
        2689  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2690  +
    }
        2691  +
}
        2692  +
/* ServerOperationGenerator.kt:88 */
        2693  +
        2694  +
/* ServerOperationGenerator.kt:48 */
        2695  +
#[allow(missing_docs)] // documentation missing in model
        2696  +
                       /* ServerOperationGenerator.kt:55 */
        2697  +
pub struct MalformedList;
        2698  +
        2699  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedList {
        2700  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2701  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2702  +
            "aws.protocoltests.restjson#MalformedList",
        2703  +
            "aws.protocoltests.restjson",
        2704  +
            "MalformedList",
        2705  +
        );
        2706  +
        2707  +
    type Input = crate::input::MalformedListInput;
        2708  +
    type Output = crate::output::MalformedListOutput;
        2709  +
    type Error = std::convert::Infallible;
        2710  +
}
        2711  +
        2712  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedList {
        2713  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2714  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2715  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2716  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2717  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2718  +
        >,
        2719  +
    >;
        2720  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2721  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2722  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2723  +
    >;
        2724  +
        2725  +
    fn request_fmt() -> Self::RequestFmt {
        2726  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2727  +
    }
        2728  +
        2729  +
    fn response_fmt() -> Self::ResponseFmt {
        2730  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2731  +
    }
        2732  +
}
        2733  +
/* ServerOperationGenerator.kt:88 */
        2734  +
        2735  +
/* ServerOperationGenerator.kt:48 */
        2736  +
#[allow(missing_docs)] // documentation missing in model
        2737  +
                       /* ServerOperationGenerator.kt:55 */
        2738  +
pub struct MalformedMap;
        2739  +
        2740  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedMap {
        2741  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2742  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2743  +
            "aws.protocoltests.restjson#MalformedMap",
        2744  +
            "aws.protocoltests.restjson",
        2745  +
            "MalformedMap",
        2746  +
        );
        2747  +
        2748  +
    type Input = crate::input::MalformedMapInput;
        2749  +
    type Output = crate::output::MalformedMapOutput;
        2750  +
    type Error = std::convert::Infallible;
        2751  +
}
        2752  +
        2753  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedMap {
        2754  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2755  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2756  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2757  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2758  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2759  +
        >,
        2760  +
    >;
        2761  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2762  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2763  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2764  +
    >;
        2765  +
        2766  +
    fn request_fmt() -> Self::RequestFmt {
        2767  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2768  +
    }
        2769  +
        2770  +
    fn response_fmt() -> Self::ResponseFmt {
        2771  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2772  +
    }
        2773  +
}
        2774  +
/* ServerOperationGenerator.kt:88 */
        2775  +
        2776  +
/* ServerOperationGenerator.kt:48 */
        2777  +
#[allow(missing_docs)] // documentation missing in model
        2778  +
                       /* ServerOperationGenerator.kt:55 */
        2779  +
pub struct MalformedBlob;
        2780  +
        2781  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedBlob {
        2782  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2783  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2784  +
            "aws.protocoltests.restjson#MalformedBlob",
        2785  +
            "aws.protocoltests.restjson",
        2786  +
            "MalformedBlob",
        2787  +
        );
        2788  +
        2789  +
    type Input = crate::input::MalformedBlobInput;
        2790  +
    type Output = crate::output::MalformedBlobOutput;
        2791  +
    type Error = std::convert::Infallible;
        2792  +
}
        2793  +
        2794  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedBlob {
        2795  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2796  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2797  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2798  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2799  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2800  +
        >,
        2801  +
    >;
        2802  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2803  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2804  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2805  +
    >;
        2806  +
        2807  +
    fn request_fmt() -> Self::RequestFmt {
        2808  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2809  +
    }
        2810  +
        2811  +
    fn response_fmt() -> Self::ResponseFmt {
        2812  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2813  +
    }
        2814  +
}
        2815  +
/* ServerOperationGenerator.kt:88 */
        2816  +
        2817  +
/* ServerOperationGenerator.kt:48 */
        2818  +
#[allow(missing_docs)] // documentation missing in model
        2819  +
                       /* ServerOperationGenerator.kt:55 */
        2820  +
pub struct MalformedByte;
        2821  +
        2822  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedByte {
        2823  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2824  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2825  +
            "aws.protocoltests.restjson#MalformedByte",
        2826  +
            "aws.protocoltests.restjson",
        2827  +
            "MalformedByte",
        2828  +
        );
        2829  +
        2830  +
    type Input = crate::input::MalformedByteInput;
        2831  +
    type Output = crate::output::MalformedByteOutput;
        2832  +
    type Error = crate::error::MalformedByteError;
        2833  +
}
        2834  +
        2835  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedByte {
        2836  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2837  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2838  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2839  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2840  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2841  +
        >,
        2842  +
    >;
        2843  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2844  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2845  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2846  +
    >;
        2847  +
        2848  +
    fn request_fmt() -> Self::RequestFmt {
        2849  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2850  +
    }
        2851  +
        2852  +
    fn response_fmt() -> Self::ResponseFmt {
        2853  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2854  +
    }
        2855  +
}
        2856  +
/* ServerOperationGenerator.kt:88 */
        2857  +
        2858  +
/* ServerOperationGenerator.kt:48 */
        2859  +
#[allow(missing_docs)] // documentation missing in model
        2860  +
                       /* ServerOperationGenerator.kt:55 */
        2861  +
pub struct MalformedShort;
        2862  +
        2863  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedShort {
        2864  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2865  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2866  +
            "aws.protocoltests.restjson#MalformedShort",
        2867  +
            "aws.protocoltests.restjson",
        2868  +
            "MalformedShort",
        2869  +
        );
        2870  +
        2871  +
    type Input = crate::input::MalformedShortInput;
        2872  +
    type Output = crate::output::MalformedShortOutput;
        2873  +
    type Error = crate::error::MalformedShortError;
        2874  +
}
        2875  +
        2876  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedShort {
        2877  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2878  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2879  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2880  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2881  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2882  +
        >,
        2883  +
    >;
        2884  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2885  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2886  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2887  +
    >;
        2888  +
        2889  +
    fn request_fmt() -> Self::RequestFmt {
        2890  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2891  +
    }
        2892  +
        2893  +
    fn response_fmt() -> Self::ResponseFmt {
        2894  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2895  +
    }
        2896  +
}
        2897  +
/* ServerOperationGenerator.kt:88 */
        2898  +
        2899  +
/* ServerOperationGenerator.kt:48 */
        2900  +
#[allow(missing_docs)] // documentation missing in model
        2901  +
                       /* ServerOperationGenerator.kt:55 */
        2902  +
pub struct MalformedLong;
        2903  +
        2904  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedLong {
        2905  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2906  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2907  +
            "aws.protocoltests.restjson#MalformedLong",
        2908  +
            "aws.protocoltests.restjson",
        2909  +
            "MalformedLong",
        2910  +
        );
        2911  +
        2912  +
    type Input = crate::input::MalformedLongInput;
        2913  +
    type Output = crate::output::MalformedLongOutput;
        2914  +
    type Error = crate::error::MalformedLongError;
        2915  +
}
        2916  +
        2917  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedLong {
        2918  +
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
        2919  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2920  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
        2921  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2922  +
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2923  +
        >,
        2924  +
    >;
        2925  +
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
        2926  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2927  +
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
        2928  +
    >;
        2929  +
        2930  +
    fn request_fmt() -> Self::RequestFmt {
        2931  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
        2932  +
    }
        2933  +
        2934  +
    fn response_fmt() -> Self::ResponseFmt {
        2935  +
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
        2936  +
    }
        2937  +
}
        2938  +
/* ServerOperationGenerator.kt:88 */
        2939  +
        2940  +
/* ServerOperationGenerator.kt:48 */
        2941  +
#[allow(missing_docs)] // documentation missing in model
        2942  +
                       /* ServerOperationGenerator.kt:55 */
        2943  +
pub struct MalformedFloat;
        2944  +
        2945  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedFloat {
        2946  +
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
        2947  +
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
        2948  +
            "aws.protocoltests.restjson#MalformedFloat",
        2949  +
            "aws.protocoltests.restjson",
        2950  +
            "MalformedFloat",
        2951  +
        );
        2952  +
        2953  +
    type Input = crate::input::MalformedFloatInput;
        2954  +
    type Output = crate::output::MalformedFloatOutput;
        2955  +
    type Error = crate::error::MalformedFloatError;
        2956  +
}
        2957  +
        2958  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for MalformedFloat {
 2654   2959   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2655   2960   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2656   2961   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2657   2962   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2658   2963   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2659   2964   
        >,
 2660   2965   
    >;
 2661   2966   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2662   2967   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2663   2968   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2664   2969   
    >;
 2665   2970   
 2666   2971   
    fn request_fmt() -> Self::RequestFmt {
 2667   2972   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2668   2973   
    }
 2669   2974   
 2670   2975   
    fn response_fmt() -> Self::ResponseFmt {
 2671   2976   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2672   2977   
    }
 2673   2978   
}
 2674   2979   
/* ServerOperationGenerator.kt:88 */
 2675   2980   
 2676         -
/// /* ServerOperationGenerator.kt:48 */This example serializes enums as top level properties, in lists, sets, and maps.
 2677         -
/* ServerOperationGenerator.kt:55 */
 2678         -
pub struct JsonEnums;
        2981  +
/* ServerOperationGenerator.kt:48 */
        2982  +
#[allow(missing_docs)] // documentation missing in model
        2983  +
                       /* ServerOperationGenerator.kt:55 */
        2984  +
pub struct MalformedDouble;
 2679   2985   
 2680         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonEnums {
        2986  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedDouble {
 2681   2987   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2682   2988   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2683         -
            "aws.protocoltests.restjson#JsonEnums",
        2989  +
            "aws.protocoltests.restjson#MalformedDouble",
 2684   2990   
            "aws.protocoltests.restjson",
 2685         -
            "JsonEnums",
        2991  +
            "MalformedDouble",
 2686   2992   
        );
 2687   2993   
 2688         -
    type Input = crate::input::JsonEnumsInput;
 2689         -
    type Output = crate::output::JsonEnumsOutput;
 2690         -
    type Error = crate::error::JsonEnumsError;
        2994  +
    type Input = crate::input::MalformedDoubleInput;
        2995  +
    type Output = crate::output::MalformedDoubleOutput;
        2996  +
    type Error = crate::error::MalformedDoubleError;
 2691   2997   
}
 2692   2998   
 2693         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonEnums {
        2999  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        3000  +
    for MalformedDouble
        3001  +
{
 2694   3002   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2695   3003   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2696   3004   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2697   3005   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2698   3006   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2699   3007   
        >,
 2700   3008   
    >;
 2701   3009   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2702   3010   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2703   3011   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2704   3012   
    >;
 2705   3013   
 2706   3014   
    fn request_fmt() -> Self::RequestFmt {
 2707   3015   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2708   3016   
    }
 2709   3017   
 2710   3018   
    fn response_fmt() -> Self::ResponseFmt {
 2711   3019   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2712   3020   
    }
 2713   3021   
}
 2714   3022   
/* ServerOperationGenerator.kt:88 */
 2715   3023   
 2716         -
/// /* ServerOperationGenerator.kt:48 */This tests how timestamps are serialized, including using the default format of date-time and various @timestampFormat trait values.
 2717         -
/* ServerOperationGenerator.kt:55 */
 2718         -
pub struct JsonTimestamps;
        3024  +
/* ServerOperationGenerator.kt:48 */
        3025  +
#[allow(missing_docs)] // documentation missing in model
        3026  +
                       /* ServerOperationGenerator.kt:55 */
        3027  +
pub struct MalformedString;
 2719   3028   
 2720         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for JsonTimestamps {
        3029  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedString {
 2721   3030   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2722   3031   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2723         -
            "aws.protocoltests.restjson#JsonTimestamps",
        3032  +
            "aws.protocoltests.restjson#MalformedString",
 2724   3033   
            "aws.protocoltests.restjson",
 2725         -
            "JsonTimestamps",
        3034  +
            "MalformedString",
 2726   3035   
        );
 2727   3036   
 2728         -
    type Input = crate::input::JsonTimestampsInput;
 2729         -
    type Output = crate::output::JsonTimestampsOutput;
        3037  +
    type Input = crate::input::MalformedStringInput;
        3038  +
    type Output = crate::output::MalformedStringOutput;
 2730   3039   
    type Error = std::convert::Infallible;
 2731   3040   
}
 2732   3041   
 2733         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for JsonTimestamps {
        3042  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
        3043  +
    for MalformedString
        3044  +
{
 2734   3045   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2735   3046   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2736   3047   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2737   3048   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2738   3049   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2739   3050   
        >,
 2740   3051   
    >;
 2741   3052   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2742   3053   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2743   3054   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2744   3055   
    >;
 2745   3056   
 2746   3057   
    fn request_fmt() -> Self::RequestFmt {
 2747   3058   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2748   3059   
    }
 2749   3060   
 2750   3061   
    fn response_fmt() -> Self::ResponseFmt {
 2751   3062   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2752   3063   
    }
 2753   3064   
}
 2754   3065   
/* ServerOperationGenerator.kt:88 */
 2755   3066   
 2756   3067   
/* ServerOperationGenerator.kt:48 */
 2757   3068   
#[allow(missing_docs)] // documentation missing in model
 2758   3069   
                       /* ServerOperationGenerator.kt:55 */
 2759         -
pub struct SimpleScalarProperties;
        3070  +
pub struct MalformedTimestampPathDefault;
 2760   3071   
 2761         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for SimpleScalarProperties {
        3072  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathDefault {
 2762   3073   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2763   3074   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2764         -
            "aws.protocoltests.restjson#SimpleScalarProperties",
        3075  +
            "aws.protocoltests.restjson#MalformedTimestampPathDefault",
 2765   3076   
            "aws.protocoltests.restjson",
 2766         -
            "SimpleScalarProperties",
        3077  +
            "MalformedTimestampPathDefault",
 2767   3078   
        );
 2768   3079   
 2769         -
    type Input = crate::input::SimpleScalarPropertiesInput;
 2770         -
    type Output = crate::output::SimpleScalarPropertiesOutput;
 2771         -
    type Error = std::convert::Infallible;
        3080  +
    type Input = crate::input::MalformedTimestampPathDefaultInput;
        3081  +
    type Output = crate::output::MalformedTimestampPathDefaultOutput;
        3082  +
    type Error = crate::error::MalformedTimestampPathDefaultError;
 2772   3083   
}
 2773   3084   
 2774   3085   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2775         -
    for SimpleScalarProperties
        3086  +
    for MalformedTimestampPathDefault
 2776   3087   
{
 2777   3088   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2778   3089   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2779   3090   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2780   3091   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2781   3092   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2782   3093   
        >,
 2783   3094   
    >;
 2784   3095   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2785   3096   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2786   3097   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2787   3098   
    >;
 2788   3099   
 2789   3100   
    fn request_fmt() -> Self::RequestFmt {
 2790   3101   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2791   3102   
    }
 2792   3103   
 2793   3104   
    fn response_fmt() -> Self::ResponseFmt {
 2794   3105   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2795   3106   
    }
 2796   3107   
}
 2797   3108   
/* ServerOperationGenerator.kt:88 */
 2798   3109   
 2799         -
/// /* ServerOperationGenerator.kt:48 */This operation has four possible return values: 1. A successful response in the form of GreetingWithErrorsOutput 2. An InvalidGreeting error. 3. A BadRequest error. 4. A FooError. Implementations must be able to successfully take a response and properly (de)serialize successful and error responses based on the the presence of the
 2800         -
/* ServerOperationGenerator.kt:55 */
 2801         -
pub struct GreetingWithErrors;
        3110  +
/* ServerOperationGenerator.kt:48 */
        3111  +
#[allow(missing_docs)] // documentation missing in model
        3112  +
                       /* ServerOperationGenerator.kt:55 */
        3113  +
pub struct MalformedTimestampPathHttpDate;
 2802   3114   
 2803         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for GreetingWithErrors {
        3115  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathHttpDate {
 2804   3116   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2805   3117   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2806         -
            "aws.protocoltests.restjson#GreetingWithErrors",
        3118  +
            "aws.protocoltests.restjson#MalformedTimestampPathHttpDate",
 2807   3119   
            "aws.protocoltests.restjson",
 2808         -
            "GreetingWithErrors",
        3120  +
            "MalformedTimestampPathHttpDate",
 2809   3121   
        );
 2810   3122   
 2811         -
    type Input = crate::input::GreetingWithErrorsInput;
 2812         -
    type Output = crate::output::GreetingWithErrorsOutput;
 2813         -
    type Error = crate::error::GreetingWithErrorsError;
        3123  +
    type Input = crate::input::MalformedTimestampPathHttpDateInput;
        3124  +
    type Output = crate::output::MalformedTimestampPathHttpDateOutput;
        3125  +
    type Error = crate::error::MalformedTimestampPathHttpDateError;
 2814   3126   
}
 2815   3127   
 2816   3128   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2817         -
    for GreetingWithErrors
        3129  +
    for MalformedTimestampPathHttpDate
 2818   3130   
{
 2819   3131   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2820   3132   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2821   3133   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2822   3134   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2823   3135   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2824   3136   
        >,
 2825   3137   
    >;
 2826   3138   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2827   3139   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2828   3140   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2829   3141   
    >;
 2830   3142   
 2831   3143   
    fn request_fmt() -> Self::RequestFmt {
 2832   3144   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2833   3145   
    }
 2834   3146   
 2835   3147   
    fn response_fmt() -> Self::ResponseFmt {
 2836   3148   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2837   3149   
    }
 2838   3150   
}
 2839   3151   
/* ServerOperationGenerator.kt:88 */
 2840   3152   
 2841         -
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming media-typed blob shape in the request body. This examples uses a `@mediaType` trait on the payload to force a custom content-type to be serialized.
 2842         -
/* ServerOperationGenerator.kt:55 */
 2843         -
pub struct StreamingTraitsWithMediaType;
        3153  +
/* ServerOperationGenerator.kt:48 */
        3154  +
#[allow(missing_docs)] // documentation missing in model
        3155  +
                       /* ServerOperationGenerator.kt:55 */
        3156  +
pub struct MalformedTimestampPathEpoch;
 2844   3157   
 2845         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraitsWithMediaType {
        3158  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampPathEpoch {
 2846   3159   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2847   3160   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2848         -
            "aws.protocoltests.restjson#StreamingTraitsWithMediaType",
        3161  +
            "aws.protocoltests.restjson#MalformedTimestampPathEpoch",
 2849   3162   
            "aws.protocoltests.restjson",
 2850         -
            "StreamingTraitsWithMediaType",
        3163  +
            "MalformedTimestampPathEpoch",
 2851   3164   
        );
 2852   3165   
 2853         -
    type Input = crate::input::StreamingTraitsWithMediaTypeInput;
 2854         -
    type Output = crate::output::StreamingTraitsWithMediaTypeOutput;
 2855         -
    type Error = std::convert::Infallible;
        3166  +
    type Input = crate::input::MalformedTimestampPathEpochInput;
        3167  +
    type Output = crate::output::MalformedTimestampPathEpochOutput;
        3168  +
    type Error = crate::error::MalformedTimestampPathEpochError;
 2856   3169   
}
 2857   3170   
 2858   3171   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2859         -
    for StreamingTraitsWithMediaType
        3172  +
    for MalformedTimestampPathEpoch
 2860   3173   
{
 2861   3174   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2862   3175   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2863   3176   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2864   3177   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2865   3178   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2866   3179   
        >,
 2867   3180   
    >;
 2868   3181   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2869   3182   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2870   3183   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2871   3184   
    >;
 2872   3185   
 2873   3186   
    fn request_fmt() -> Self::RequestFmt {
 2874   3187   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2875   3188   
    }
 2876   3189   
 2877   3190   
    fn response_fmt() -> Self::ResponseFmt {
 2878   3191   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2879   3192   
    }
 2880   3193   
}
 2881   3194   
/* ServerOperationGenerator.kt:88 */
 2882   3195   
 2883         -
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming blob shape with a required content length in the request body. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
 2884         -
/* ServerOperationGenerator.kt:55 */
 2885         -
pub struct StreamingTraitsRequireLength;
        3196  +
/* ServerOperationGenerator.kt:48 */
        3197  +
#[allow(missing_docs)] // documentation missing in model
        3198  +
                       /* ServerOperationGenerator.kt:55 */
        3199  +
pub struct MalformedTimestampQueryDefault;
 2886   3200   
 2887         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraitsRequireLength {
        3201  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampQueryDefault {
 2888   3202   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2889   3203   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2890         -
            "aws.protocoltests.restjson#StreamingTraitsRequireLength",
        3204  +
            "aws.protocoltests.restjson#MalformedTimestampQueryDefault",
 2891   3205   
            "aws.protocoltests.restjson",
 2892         -
            "StreamingTraitsRequireLength",
        3206  +
            "MalformedTimestampQueryDefault",
 2893   3207   
        );
 2894   3208   
 2895         -
    type Input = crate::input::StreamingTraitsRequireLengthInput;
 2896         -
    type Output = crate::output::StreamingTraitsRequireLengthOutput;
 2897         -
    type Error = std::convert::Infallible;
        3209  +
    type Input = crate::input::MalformedTimestampQueryDefaultInput;
        3210  +
    type Output = crate::output::MalformedTimestampQueryDefaultOutput;
        3211  +
    type Error = crate::error::MalformedTimestampQueryDefaultError;
 2898   3212   
}
 2899   3213   
 2900   3214   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2901         -
    for StreamingTraitsRequireLength
        3215  +
    for MalformedTimestampQueryDefault
 2902   3216   
{
 2903   3217   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2904   3218   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2905   3219   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2906   3220   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2907   3221   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2908   3222   
        >,
 2909   3223   
    >;
 2910   3224   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2911   3225   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2912   3226   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2913   3227   
    >;
 2914   3228   
 2915   3229   
    fn request_fmt() -> Self::RequestFmt {
 2916   3230   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2917   3231   
    }
 2918   3232   
 2919   3233   
    fn response_fmt() -> Self::ResponseFmt {
 2920   3234   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2921   3235   
    }
 2922   3236   
}
 2923   3237   
/* ServerOperationGenerator.kt:88 */
 2924   3238   
 2925         -
/// /* ServerOperationGenerator.kt:48 */This examples serializes a streaming blob shape in the request body. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
 2926         -
/* ServerOperationGenerator.kt:55 */
 2927         -
pub struct StreamingTraits;
        3239  +
/* ServerOperationGenerator.kt:48 */
        3240  +
#[allow(missing_docs)] // documentation missing in model
        3241  +
                       /* ServerOperationGenerator.kt:55 */
        3242  +
pub struct MalformedTimestampQueryHttpDate;
 2928   3243   
 2929         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for StreamingTraits {
        3244  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3245  +
    for MalformedTimestampQueryHttpDate
        3246  +
{
 2930   3247   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2931   3248   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2932         -
            "aws.protocoltests.restjson#StreamingTraits",
        3249  +
            "aws.protocoltests.restjson#MalformedTimestampQueryHttpDate",
 2933   3250   
            "aws.protocoltests.restjson",
 2934         -
            "StreamingTraits",
        3251  +
            "MalformedTimestampQueryHttpDate",
 2935   3252   
        );
 2936   3253   
 2937         -
    type Input = crate::input::StreamingTraitsInput;
 2938         -
    type Output = crate::output::StreamingTraitsOutput;
 2939         -
    type Error = std::convert::Infallible;
        3254  +
    type Input = crate::input::MalformedTimestampQueryHttpDateInput;
        3255  +
    type Output = crate::output::MalformedTimestampQueryHttpDateOutput;
        3256  +
    type Error = crate::error::MalformedTimestampQueryHttpDateError;
 2940   3257   
}
 2941   3258   
 2942   3259   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2943         -
    for StreamingTraits
        3260  +
    for MalformedTimestampQueryHttpDate
 2944   3261   
{
 2945   3262   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2946   3263   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2947   3264   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2948   3265   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2949   3266   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2950   3267   
        >,
 2951   3268   
    >;
 2952   3269   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2953   3270   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2954   3271   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2955   3272   
    >;
 2956   3273   
 2957   3274   
    fn request_fmt() -> Self::RequestFmt {
 2958   3275   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 2959   3276   
    }
 2960   3277   
 2961   3278   
    fn response_fmt() -> Self::ResponseFmt {
 2962   3279   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 2963   3280   
    }
 2964   3281   
}
 2965   3282   
/* ServerOperationGenerator.kt:88 */
 2966   3283   
 2967   3284   
/* ServerOperationGenerator.kt:48 */
 2968   3285   
#[allow(missing_docs)] // documentation missing in model
 2969   3286   
                       /* ServerOperationGenerator.kt:55 */
 2970         -
pub struct ResponseCodeHttpFallback;
        3287  +
pub struct MalformedTimestampQueryEpoch;
 2971   3288   
 2972         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ResponseCodeHttpFallback {
        3289  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampQueryEpoch {
 2973   3290   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 2974   3291   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 2975         -
            "aws.protocoltests.restjson#ResponseCodeHttpFallback",
        3292  +
            "aws.protocoltests.restjson#MalformedTimestampQueryEpoch",
 2976   3293   
            "aws.protocoltests.restjson",
 2977         -
            "ResponseCodeHttpFallback",
        3294  +
            "MalformedTimestampQueryEpoch",
 2978   3295   
        );
 2979   3296   
 2980         -
    type Input = crate::input::ResponseCodeHttpFallbackInput;
 2981         -
    type Output = crate::output::ResponseCodeHttpFallbackOutput;
 2982         -
    type Error = std::convert::Infallible;
        3297  +
    type Input = crate::input::MalformedTimestampQueryEpochInput;
        3298  +
    type Output = crate::output::MalformedTimestampQueryEpochOutput;
        3299  +
    type Error = crate::error::MalformedTimestampQueryEpochError;
 2983   3300   
}
 2984   3301   
 2985   3302   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 2986         -
    for ResponseCodeHttpFallback
        3303  +
    for MalformedTimestampQueryEpoch
 2987   3304   
{
 2988   3305   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 2989   3306   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2990   3307   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 2991   3308   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2992   3309   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2993   3310   
        >,
 2994   3311   
    >;
 2995   3312   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 2996   3313   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2997   3314   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 2998   3315   
    >;
 2999   3316   
 3000   3317   
    fn request_fmt() -> Self::RequestFmt {
 3001   3318   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3002   3319   
    }
 3003   3320   
 3004   3321   
    fn response_fmt() -> Self::ResponseFmt {
 3005   3322   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3006   3323   
    }
 3007   3324   
}
 3008   3325   
/* ServerOperationGenerator.kt:88 */
 3009   3326   
 3010   3327   
/* ServerOperationGenerator.kt:48 */
 3011   3328   
#[allow(missing_docs)] // documentation missing in model
 3012   3329   
                       /* ServerOperationGenerator.kt:55 */
 3013         -
pub struct ResponseCodeRequired;
        3330  +
pub struct MalformedTimestampHeaderDefault;
 3014   3331   
 3015         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ResponseCodeRequired {
        3332  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3333  +
    for MalformedTimestampHeaderDefault
        3334  +
{
 3016   3335   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3017   3336   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3018         -
            "aws.protocoltests.restjson#ResponseCodeRequired",
        3337  +
            "aws.protocoltests.restjson#MalformedTimestampHeaderDefault",
 3019   3338   
            "aws.protocoltests.restjson",
 3020         -
            "ResponseCodeRequired",
        3339  +
            "MalformedTimestampHeaderDefault",
 3021   3340   
        );
 3022   3341   
 3023         -
    type Input = crate::input::ResponseCodeRequiredInput;
 3024         -
    type Output = crate::output::ResponseCodeRequiredOutput;
 3025         -
    type Error = std::convert::Infallible;
        3342  +
    type Input = crate::input::MalformedTimestampHeaderDefaultInput;
        3343  +
    type Output = crate::output::MalformedTimestampHeaderDefaultOutput;
        3344  +
    type Error = crate::error::MalformedTimestampHeaderDefaultError;
 3026   3345   
}
 3027   3346   
 3028   3347   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3029         -
    for ResponseCodeRequired
        3348  +
    for MalformedTimestampHeaderDefault
 3030   3349   
{
 3031   3350   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3032   3351   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3033   3352   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3034   3353   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3035   3354   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3036   3355   
        >,
 3037   3356   
    >;
 3038   3357   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3039   3358   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3040   3359   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3041   3360   
    >;
 3042   3361   
 3043   3362   
    fn request_fmt() -> Self::RequestFmt {
 3044   3363   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3045   3364   
    }
 3046   3365   
 3047   3366   
    fn response_fmt() -> Self::ResponseFmt {
 3048   3367   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3049   3368   
    }
 3050   3369   
}
 3051   3370   
/* ServerOperationGenerator.kt:88 */
 3052   3371   
 3053   3372   
/* ServerOperationGenerator.kt:48 */
 3054   3373   
#[allow(missing_docs)] // documentation missing in model
 3055   3374   
                       /* ServerOperationGenerator.kt:55 */
 3056         -
pub struct HttpResponseCode;
        3375  +
pub struct MalformedTimestampHeaderDateTime;
 3057   3376   
 3058         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpResponseCode {
        3377  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3378  +
    for MalformedTimestampHeaderDateTime
        3379  +
{
 3059   3380   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3060   3381   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3061         -
            "aws.protocoltests.restjson#HttpResponseCode",
        3382  +
            "aws.protocoltests.restjson#MalformedTimestampHeaderDateTime",
 3062   3383   
            "aws.protocoltests.restjson",
 3063         -
            "HttpResponseCode",
        3384  +
            "MalformedTimestampHeaderDateTime",
 3064   3385   
        );
 3065   3386   
 3066         -
    type Input = crate::input::HttpResponseCodeInput;
 3067         -
    type Output = crate::output::HttpResponseCodeOutput;
 3068         -
    type Error = std::convert::Infallible;
        3387  +
    type Input = crate::input::MalformedTimestampHeaderDateTimeInput;
        3388  +
    type Output = crate::output::MalformedTimestampHeaderDateTimeOutput;
        3389  +
    type Error = crate::error::MalformedTimestampHeaderDateTimeError;
 3069   3390   
}
 3070   3391   
 3071   3392   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3072         -
    for HttpResponseCode
        3393  +
    for MalformedTimestampHeaderDateTime
 3073   3394   
{
 3074   3395   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3075   3396   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3076   3397   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3077   3398   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3078   3399   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3079   3400   
        >,
 3080   3401   
    >;
 3081   3402   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3082   3403   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3083   3404   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3084   3405   
    >;
 3085   3406   
 3086   3407   
    fn request_fmt() -> Self::RequestFmt {
 3087   3408   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3088   3409   
    }
 3089   3410   
 3090   3411   
    fn response_fmt() -> Self::ResponseFmt {
 3091   3412   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3092   3413   
    }
 3093   3414   
}
 3094   3415   
/* ServerOperationGenerator.kt:88 */
 3095   3416   
 3096         -
/// /* ServerOperationGenerator.kt:48 */This example serializes a union in the payload.
 3097         -
/* ServerOperationGenerator.kt:55 */
 3098         -
pub struct HttpPayloadWithUnion;
        3417  +
/* ServerOperationGenerator.kt:48 */
        3418  +
#[allow(missing_docs)] // documentation missing in model
        3419  +
                       /* ServerOperationGenerator.kt:55 */
        3420  +
pub struct MalformedTimestampHeaderEpoch;
 3099   3421   
 3100         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadWithUnion {
        3422  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampHeaderEpoch {
 3101   3423   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3102   3424   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3103         -
            "aws.protocoltests.restjson#HttpPayloadWithUnion",
        3425  +
            "aws.protocoltests.restjson#MalformedTimestampHeaderEpoch",
 3104   3426   
            "aws.protocoltests.restjson",
 3105         -
            "HttpPayloadWithUnion",
        3427  +
            "MalformedTimestampHeaderEpoch",
 3106   3428   
        );
 3107   3429   
 3108         -
    type Input = crate::input::HttpPayloadWithUnionInput;
 3109         -
    type Output = crate::output::HttpPayloadWithUnionOutput;
 3110         -
    type Error = std::convert::Infallible;
        3430  +
    type Input = crate::input::MalformedTimestampHeaderEpochInput;
        3431  +
    type Output = crate::output::MalformedTimestampHeaderEpochOutput;
        3432  +
    type Error = crate::error::MalformedTimestampHeaderEpochError;
 3111   3433   
}
 3112   3434   
 3113   3435   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3114         -
    for HttpPayloadWithUnion
        3436  +
    for MalformedTimestampHeaderEpoch
 3115   3437   
{
 3116   3438   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3117   3439   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3118   3440   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3119   3441   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3120   3442   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3121   3443   
        >,
 3122   3444   
    >;
 3123   3445   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3124   3446   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3125   3447   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3126   3448   
    >;
 3127   3449   
 3128   3450   
    fn request_fmt() -> Self::RequestFmt {
 3129   3451   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3130   3452   
    }
 3131   3453   
 3132   3454   
    fn response_fmt() -> Self::ResponseFmt {
 3133   3455   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3134   3456   
    }
 3135   3457   
}
 3136   3458   
/* ServerOperationGenerator.kt:88 */
 3137   3459   
 3138   3460   
/* ServerOperationGenerator.kt:48 */
 3139   3461   
#[allow(missing_docs)] // documentation missing in model
 3140   3462   
                       /* ServerOperationGenerator.kt:55 */
 3141         -
pub struct HttpStringPayload;
        3463  +
pub struct MalformedTimestampBodyDefault;
 3142   3464   
 3143         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpStringPayload {
        3465  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyDefault {
 3144   3466   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3145   3467   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3146         -
            "aws.protocoltests.restjson#HttpStringPayload",
        3468  +
            "aws.protocoltests.restjson#MalformedTimestampBodyDefault",
 3147   3469   
            "aws.protocoltests.restjson",
 3148         -
            "HttpStringPayload",
        3470  +
            "MalformedTimestampBodyDefault",
 3149   3471   
        );
 3150   3472   
 3151         -
    type Input = crate::input::HttpStringPayloadInput;
 3152         -
    type Output = crate::output::HttpStringPayloadOutput;
 3153         -
    type Error = std::convert::Infallible;
        3473  +
    type Input = crate::input::MalformedTimestampBodyDefaultInput;
        3474  +
    type Output = crate::output::MalformedTimestampBodyDefaultOutput;
        3475  +
    type Error = crate::error::MalformedTimestampBodyDefaultError;
 3154   3476   
}
 3155   3477   
 3156   3478   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3157         -
    for HttpStringPayload
        3479  +
    for MalformedTimestampBodyDefault
 3158   3480   
{
 3159   3481   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3160   3482   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3161   3483   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3162   3484   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3163   3485   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3164   3486   
        >,
 3165   3487   
    >;
 3166   3488   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3167   3489   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3168   3490   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3169   3491   
    >;
 3170   3492   
 3171   3493   
    fn request_fmt() -> Self::RequestFmt {
 3172   3494   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3173   3495   
    }
 3174   3496   
 3175   3497   
    fn response_fmt() -> Self::ResponseFmt {
 3176   3498   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3177   3499   
    }
 3178   3500   
}
 3179   3501   
/* ServerOperationGenerator.kt:88 */
 3180   3502   
 3181   3503   
/* ServerOperationGenerator.kt:48 */
 3182   3504   
#[allow(missing_docs)] // documentation missing in model
 3183   3505   
                       /* ServerOperationGenerator.kt:55 */
 3184         -
pub struct HttpEnumPayload;
        3506  +
pub struct MalformedTimestampBodyDateTime;
 3185   3507   
 3186         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpEnumPayload {
        3508  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyDateTime {
 3187   3509   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3188   3510   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3189         -
            "aws.protocoltests.restjson#HttpEnumPayload",
        3511  +
            "aws.protocoltests.restjson#MalformedTimestampBodyDateTime",
 3190   3512   
            "aws.protocoltests.restjson",
 3191         -
            "HttpEnumPayload",
        3513  +
            "MalformedTimestampBodyDateTime",
 3192   3514   
        );
 3193   3515   
 3194         -
    type Input = crate::input::HttpEnumPayloadInput;
 3195         -
    type Output = crate::output::HttpEnumPayloadOutput;
 3196         -
    type Error = crate::error::HttpEnumPayloadError;
        3516  +
    type Input = crate::input::MalformedTimestampBodyDateTimeInput;
        3517  +
    type Output = crate::output::MalformedTimestampBodyDateTimeOutput;
        3518  +
    type Error = crate::error::MalformedTimestampBodyDateTimeError;
 3197   3519   
}
 3198   3520   
 3199   3521   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3200         -
    for HttpEnumPayload
        3522  +
    for MalformedTimestampBodyDateTime
 3201   3523   
{
 3202   3524   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3203   3525   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3204   3526   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3205   3527   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3206   3528   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3207   3529   
        >,
 3208   3530   
    >;
 3209   3531   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3210   3532   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3211   3533   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3212   3534   
    >;
 3213   3535   
 3214   3536   
    fn request_fmt() -> Self::RequestFmt {
 3215   3537   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3216   3538   
    }
 3217   3539   
 3218   3540   
    fn response_fmt() -> Self::ResponseFmt {
 3219   3541   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3220   3542   
    }
 3221   3543   
}
 3222   3544   
/* ServerOperationGenerator.kt:88 */
 3223   3545   
 3224         -
/// /* ServerOperationGenerator.kt:48 */This example serializes a structure in the payload. Note that serializing a structure changes the wrapper element name to match the targeted structure.
 3225         -
/* ServerOperationGenerator.kt:55 */
 3226         -
pub struct HttpPayloadWithStructure;
        3546  +
/* ServerOperationGenerator.kt:48 */
        3547  +
#[allow(missing_docs)] // documentation missing in model
        3548  +
                       /* ServerOperationGenerator.kt:55 */
        3549  +
pub struct MalformedTimestampBodyHttpDate;
 3227   3550   
 3228         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadWithStructure {
        3551  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedTimestampBodyHttpDate {
 3229   3552   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3230   3553   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3231         -
            "aws.protocoltests.restjson#HttpPayloadWithStructure",
        3554  +
            "aws.protocoltests.restjson#MalformedTimestampBodyHttpDate",
 3232   3555   
            "aws.protocoltests.restjson",
 3233         -
            "HttpPayloadWithStructure",
        3556  +
            "MalformedTimestampBodyHttpDate",
 3234   3557   
        );
 3235   3558   
 3236         -
    type Input = crate::input::HttpPayloadWithStructureInput;
 3237         -
    type Output = crate::output::HttpPayloadWithStructureOutput;
 3238         -
    type Error = std::convert::Infallible;
        3559  +
    type Input = crate::input::MalformedTimestampBodyHttpDateInput;
        3560  +
    type Output = crate::output::MalformedTimestampBodyHttpDateOutput;
        3561  +
    type Error = crate::error::MalformedTimestampBodyHttpDateError;
 3239   3562   
}
 3240   3563   
 3241   3564   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3242         -
    for HttpPayloadWithStructure
        3565  +
    for MalformedTimestampBodyHttpDate
 3243   3566   
{
 3244   3567   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3245   3568   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3246   3569   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3247   3570   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3248   3571   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3249   3572   
        >,
 3250   3573   
    >;
 3251   3574   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3252   3575   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3253   3576   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3254   3577   
    >;
 3255   3578   
 3256   3579   
    fn request_fmt() -> Self::RequestFmt {
 3257   3580   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3258   3581   
    }
 3259   3582   
 3260   3583   
    fn response_fmt() -> Self::ResponseFmt {
 3261   3584   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3262   3585   
    }
 3263   3586   
}
 3264   3587   
/* ServerOperationGenerator.kt:88 */
 3265   3588   
 3266         -
/// /* ServerOperationGenerator.kt:48 */This example uses a `@mediaType` trait on the payload to force a custom content-type to be serialized.
 3267         -
/* ServerOperationGenerator.kt:55 */
 3268         -
pub struct HttpPayloadTraitsWithMediaType;
        3589  +
/* ServerOperationGenerator.kt:48 */
        3590  +
#[allow(missing_docs)] // documentation missing in model
        3591  +
                       /* ServerOperationGenerator.kt:55 */
        3592  +
pub struct MalformedContentTypeWithoutBody;
 3269   3593   
 3270         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadTraitsWithMediaType {
        3594  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3595  +
    for MalformedContentTypeWithoutBody
        3596  +
{
 3271   3597   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3272   3598   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3273         -
            "aws.protocoltests.restjson#HttpPayloadTraitsWithMediaType",
        3599  +
            "aws.protocoltests.restjson#MalformedContentTypeWithoutBody",
 3274   3600   
            "aws.protocoltests.restjson",
 3275         -
            "HttpPayloadTraitsWithMediaType",
        3601  +
            "MalformedContentTypeWithoutBody",
 3276   3602   
        );
 3277   3603   
 3278         -
    type Input = crate::input::HttpPayloadTraitsWithMediaTypeInput;
 3279         -
    type Output = crate::output::HttpPayloadTraitsWithMediaTypeOutput;
        3604  +
    type Input = crate::input::MalformedContentTypeWithoutBodyInput;
        3605  +
    type Output = crate::output::MalformedContentTypeWithoutBodyOutput;
 3280   3606   
    type Error = std::convert::Infallible;
 3281   3607   
}
 3282   3608   
 3283   3609   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3284         -
    for HttpPayloadTraitsWithMediaType
        3610  +
    for MalformedContentTypeWithoutBody
 3285   3611   
{
 3286   3612   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3287   3613   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3288   3614   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3289   3615   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3290   3616   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3291   3617   
        >,
 3292   3618   
    >;
 3293   3619   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3294   3620   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3295   3621   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3296   3622   
    >;
 3297   3623   
 3298   3624   
    fn request_fmt() -> Self::RequestFmt {
 3299   3625   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3300   3626   
    }
 3301   3627   
 3302   3628   
    fn response_fmt() -> Self::ResponseFmt {
 3303   3629   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3304   3630   
    }
 3305   3631   
}
 3306   3632   
/* ServerOperationGenerator.kt:88 */
 3307   3633   
 3308         -
/// /* ServerOperationGenerator.kt:48 */This example serializes a blob shape in the payload. In this example, no JSON document is synthesized because the payload is not a structure or a union type.
 3309         -
/* ServerOperationGenerator.kt:55 */
 3310         -
pub struct HttpPayloadTraits;
        3634  +
/* ServerOperationGenerator.kt:48 */
        3635  +
#[allow(missing_docs)] // documentation missing in model
        3636  +
                       /* ServerOperationGenerator.kt:55 */
        3637  +
pub struct MalformedContentTypeWithoutBodyEmptyInput;
 3311   3638   
 3312         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPayloadTraits {
        3639  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3640  +
    for MalformedContentTypeWithoutBodyEmptyInput
        3641  +
{
 3313   3642   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3314   3643   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3315         -
            "aws.protocoltests.restjson#HttpPayloadTraits",
        3644  +
            "aws.protocoltests.restjson#MalformedContentTypeWithoutBodyEmptyInput",
 3316   3645   
            "aws.protocoltests.restjson",
 3317         -
            "HttpPayloadTraits",
        3646  +
            "MalformedContentTypeWithoutBodyEmptyInput",
 3318   3647   
        );
 3319   3648   
 3320         -
    type Input = crate::input::HttpPayloadTraitsInput;
 3321         -
    type Output = crate::output::HttpPayloadTraitsOutput;
        3649  +
    type Input = crate::input::MalformedContentTypeWithoutBodyEmptyInputInput;
        3650  +
    type Output = crate::output::MalformedContentTypeWithoutBodyEmptyInputOutput;
 3322   3651   
    type Error = std::convert::Infallible;
 3323   3652   
}
 3324   3653   
 3325   3654   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3326         -
    for HttpPayloadTraits
        3655  +
    for MalformedContentTypeWithoutBodyEmptyInput
 3327   3656   
{
 3328   3657   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3329   3658   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3330   3659   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3331   3660   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3332   3661   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3333   3662   
        >,
 3334   3663   
    >;
 3335   3664   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3336   3665   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3337   3666   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3338   3667   
    >;
 3339   3668   
 3340   3669   
    fn request_fmt() -> Self::RequestFmt {
 3341   3670   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3342   3671   
    }
 3343   3672   
 3344   3673   
    fn response_fmt() -> Self::ResponseFmt {
 3345   3674   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3346   3675   
    }
 3347   3676   
}
 3348   3677   
/* ServerOperationGenerator.kt:88 */
 3349   3678   
 3350         -
/// /* ServerOperationGenerator.kt:48 */Clients that perform this test extract all headers from the response.
 3351         -
/* ServerOperationGenerator.kt:55 */
 3352         -
pub struct HttpEmptyPrefixHeaders;
        3679  +
/* ServerOperationGenerator.kt:48 */
        3680  +
#[allow(missing_docs)] // documentation missing in model
        3681  +
                       /* ServerOperationGenerator.kt:55 */
        3682  +
pub struct MalformedContentTypeWithBody;
 3353   3683   
 3354         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpEmptyPrefixHeaders {
        3684  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedContentTypeWithBody {
 3355   3685   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3356   3686   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3357         -
            "aws.protocoltests.restjson#HttpEmptyPrefixHeaders",
        3687  +
            "aws.protocoltests.restjson#MalformedContentTypeWithBody",
 3358   3688   
            "aws.protocoltests.restjson",
 3359         -
            "HttpEmptyPrefixHeaders",
        3689  +
            "MalformedContentTypeWithBody",
 3360   3690   
        );
 3361   3691   
 3362         -
    type Input = crate::input::HttpEmptyPrefixHeadersInput;
 3363         -
    type Output = crate::output::HttpEmptyPrefixHeadersOutput;
        3692  +
    type Input = crate::input::MalformedContentTypeWithBodyInput;
        3693  +
    type Output = crate::output::MalformedContentTypeWithBodyOutput;
 3364   3694   
    type Error = std::convert::Infallible;
 3365   3695   
}
 3366   3696   
 3367   3697   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3368         -
    for HttpEmptyPrefixHeaders
        3698  +
    for MalformedContentTypeWithBody
 3369   3699   
{
 3370   3700   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3371   3701   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3372   3702   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3373   3703   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3374   3704   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3375   3705   
        >,
 3376   3706   
    >;
 3377   3707   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3378   3708   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3379   3709   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3380   3710   
    >;
 3381   3711   
 3382   3712   
    fn request_fmt() -> Self::RequestFmt {
 3383   3713   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3384   3714   
    }
 3385   3715   
 3386   3716   
    fn response_fmt() -> Self::ResponseFmt {
 3387   3717   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3388   3718   
    }
 3389   3719   
}
 3390   3720   
/* ServerOperationGenerator.kt:88 */
 3391   3721   
 3392         -
/// /* ServerOperationGenerator.kt:48 */Clients that perform this test extract all headers from the response.
 3393         -
/* ServerOperationGenerator.kt:55 */
 3394         -
pub struct HttpPrefixHeadersInResponse;
        3722  +
/* ServerOperationGenerator.kt:48 */
        3723  +
#[allow(missing_docs)] // documentation missing in model
        3724  +
                       /* ServerOperationGenerator.kt:55 */
        3725  +
pub struct MalformedContentTypeWithPayload;
 3395   3726   
 3396         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPrefixHeadersInResponse {
        3727  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3728  +
    for MalformedContentTypeWithPayload
        3729  +
{
 3397   3730   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3398   3731   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3399         -
            "aws.protocoltests.restjson#HttpPrefixHeadersInResponse",
        3732  +
            "aws.protocoltests.restjson#MalformedContentTypeWithPayload",
 3400   3733   
            "aws.protocoltests.restjson",
 3401         -
            "HttpPrefixHeadersInResponse",
        3734  +
            "MalformedContentTypeWithPayload",
 3402   3735   
        );
 3403   3736   
 3404         -
    type Input = crate::input::HttpPrefixHeadersInResponseInput;
 3405         -
    type Output = crate::output::HttpPrefixHeadersInResponseOutput;
        3737  +
    type Input = crate::input::MalformedContentTypeWithPayloadInput;
        3738  +
    type Output = crate::output::MalformedContentTypeWithPayloadOutput;
 3406   3739   
    type Error = std::convert::Infallible;
 3407   3740   
}
 3408   3741   
 3409   3742   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3410         -
    for HttpPrefixHeadersInResponse
        3743  +
    for MalformedContentTypeWithPayload
 3411   3744   
{
 3412   3745   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3413   3746   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3414   3747   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3415   3748   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3416   3749   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3417   3750   
        >,
 3418   3751   
    >;
 3419   3752   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3420   3753   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3421   3754   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3422   3755   
    >;
 3423   3756   
 3424   3757   
    fn request_fmt() -> Self::RequestFmt {
 3425   3758   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3426   3759   
    }
 3427   3760   
 3428   3761   
    fn response_fmt() -> Self::ResponseFmt {
 3429   3762   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3430   3763   
    }
 3431   3764   
}
 3432   3765   
/* ServerOperationGenerator.kt:88 */
 3433   3766   
 3434         -
/// /* ServerOperationGenerator.kt:48 */This examples adds headers to the input of a request and response by prefix.
 3435         -
/* ServerOperationGenerator.kt:55 */
 3436         -
pub struct HttpPrefixHeaders;
        3767  +
/* ServerOperationGenerator.kt:48 */
        3768  +
#[allow(missing_docs)] // documentation missing in model
        3769  +
                       /* ServerOperationGenerator.kt:55 */
        3770  +
pub struct MalformedContentTypeWithGenericString;
 3437   3771   
 3438         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpPrefixHeaders {
        3772  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3773  +
    for MalformedContentTypeWithGenericString
        3774  +
{
 3439   3775   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3440   3776   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3441         -
            "aws.protocoltests.restjson#HttpPrefixHeaders",
        3777  +
            "aws.protocoltests.restjson#MalformedContentTypeWithGenericString",
 3442   3778   
            "aws.protocoltests.restjson",
 3443         -
            "HttpPrefixHeaders",
        3779  +
            "MalformedContentTypeWithGenericString",
 3444   3780   
        );
 3445   3781   
 3446         -
    type Input = crate::input::HttpPrefixHeadersInput;
 3447         -
    type Output = crate::output::HttpPrefixHeadersOutput;
        3782  +
    type Input = crate::input::MalformedContentTypeWithGenericStringInput;
        3783  +
    type Output = crate::output::MalformedContentTypeWithGenericStringOutput;
 3448   3784   
    type Error = std::convert::Infallible;
 3449   3785   
}
 3450   3786   
 3451   3787   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3452         -
    for HttpPrefixHeaders
        3788  +
    for MalformedContentTypeWithGenericString
 3453   3789   
{
 3454   3790   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3455   3791   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3456   3792   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3457   3793   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3458   3794   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3459   3795   
        >,
 3460   3796   
    >;
 3461   3797   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3462   3798   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3463   3799   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3464   3800   
    >;
 3465   3801   
 3466   3802   
    fn request_fmt() -> Self::RequestFmt {
 3467   3803   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3468   3804   
    }
 3469   3805   
 3470   3806   
    fn response_fmt() -> Self::ResponseFmt {
 3471   3807   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3472   3808   
    }
 3473   3809   
}
 3474   3810   
/* ServerOperationGenerator.kt:88 */
 3475   3811   
 3476   3812   
/* ServerOperationGenerator.kt:48 */
 3477   3813   
#[allow(missing_docs)] // documentation missing in model
 3478   3814   
                       /* ServerOperationGenerator.kt:55 */
 3479         -
pub struct QueryParamsAsStringListMap;
        3815  +
pub struct MalformedAcceptWithBody;
 3480   3816   
 3481         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryParamsAsStringListMap {
        3817  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedAcceptWithBody {
 3482   3818   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3483   3819   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3484         -
            "aws.protocoltests.restjson#QueryParamsAsStringListMap",
        3820  +
            "aws.protocoltests.restjson#MalformedAcceptWithBody",
 3485   3821   
            "aws.protocoltests.restjson",
 3486         -
            "QueryParamsAsStringListMap",
        3822  +
            "MalformedAcceptWithBody",
 3487   3823   
        );
 3488   3824   
 3489         -
    type Input = crate::input::QueryParamsAsStringListMapInput;
 3490         -
    type Output = crate::output::QueryParamsAsStringListMapOutput;
        3825  +
    type Input = crate::input::MalformedAcceptWithBodyInput;
        3826  +
    type Output = crate::output::MalformedAcceptWithBodyOutput;
 3491   3827   
    type Error = std::convert::Infallible;
 3492   3828   
}
 3493   3829   
 3494   3830   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3495         -
    for QueryParamsAsStringListMap
        3831  +
    for MalformedAcceptWithBody
 3496   3832   
{
 3497   3833   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3498   3834   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3499   3835   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3500   3836   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3501   3837   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3502   3838   
        >,
 3503   3839   
    >;
 3504   3840   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3505   3841   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3506   3842   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3507   3843   
    >;
 3508   3844   
 3509   3845   
    fn request_fmt() -> Self::RequestFmt {
 3510   3846   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3511   3847   
    }
 3512   3848   
 3513   3849   
    fn response_fmt() -> Self::ResponseFmt {
 3514   3850   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3515   3851   
    }
 3516   3852   
}
 3517   3853   
/* ServerOperationGenerator.kt:88 */
 3518   3854   
 3519   3855   
/* ServerOperationGenerator.kt:48 */
 3520   3856   
#[allow(missing_docs)] // documentation missing in model
 3521   3857   
                       /* ServerOperationGenerator.kt:55 */
 3522         -
pub struct QueryPrecedence;
        3858  +
pub struct MalformedAcceptWithPayload;
 3523   3859   
 3524         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryPrecedence {
        3860  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MalformedAcceptWithPayload {
 3525   3861   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3526   3862   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3527         -
            "aws.protocoltests.restjson#QueryPrecedence",
        3863  +
            "aws.protocoltests.restjson#MalformedAcceptWithPayload",
 3528   3864   
            "aws.protocoltests.restjson",
 3529         -
            "QueryPrecedence",
        3865  +
            "MalformedAcceptWithPayload",
 3530   3866   
        );
 3531   3867   
 3532         -
    type Input = crate::input::QueryPrecedenceInput;
 3533         -
    type Output = crate::output::QueryPrecedenceOutput;
        3868  +
    type Input = crate::input::MalformedAcceptWithPayloadInput;
        3869  +
    type Output = crate::output::MalformedAcceptWithPayloadOutput;
 3534   3870   
    type Error = std::convert::Infallible;
 3535   3871   
}
 3536   3872   
 3537   3873   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3538         -
    for QueryPrecedence
        3874  +
    for MalformedAcceptWithPayload
 3539   3875   
{
 3540   3876   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3541   3877   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3542   3878   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3543   3879   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3544   3880   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3545   3881   
        >,
 3546   3882   
    >;
 3547   3883   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3548   3884   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3549   3885   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3550   3886   
    >;
 3551   3887   
 3552   3888   
    fn request_fmt() -> Self::RequestFmt {
 3553   3889   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3554   3890   
    }
 3555   3891   
 3556   3892   
    fn response_fmt() -> Self::ResponseFmt {
 3557   3893   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3558   3894   
    }
 3559   3895   
}
 3560   3896   
/* ServerOperationGenerator.kt:88 */
 3561   3897   
 3562         -
/// /* ServerOperationGenerator.kt:48 */Automatically adds idempotency tokens.
 3563         -
/* ServerOperationGenerator.kt:55 */
 3564         -
pub struct QueryIdempotencyTokenAutoFill;
        3898  +
/* ServerOperationGenerator.kt:48 */
        3899  +
#[allow(missing_docs)] // documentation missing in model
        3900  +
                       /* ServerOperationGenerator.kt:55 */
        3901  +
pub struct MalformedAcceptWithGenericString;
 3565   3902   
 3566         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for QueryIdempotencyTokenAutoFill {
        3903  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        3904  +
    for MalformedAcceptWithGenericString
        3905  +
{
 3567   3906   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3568   3907   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3569         -
            "aws.protocoltests.restjson#QueryIdempotencyTokenAutoFill",
        3908  +
            "aws.protocoltests.restjson#MalformedAcceptWithGenericString",
 3570   3909   
            "aws.protocoltests.restjson",
 3571         -
            "QueryIdempotencyTokenAutoFill",
        3910  +
            "MalformedAcceptWithGenericString",
 3572   3911   
        );
 3573   3912   
 3574         -
    type Input = crate::input::QueryIdempotencyTokenAutoFillInput;
 3575         -
    type Output = crate::output::QueryIdempotencyTokenAutoFillOutput;
        3913  +
    type Input = crate::input::MalformedAcceptWithGenericStringInput;
        3914  +
    type Output = crate::output::MalformedAcceptWithGenericStringOutput;
 3576   3915   
    type Error = std::convert::Infallible;
 3577   3916   
}
 3578   3917   
 3579   3918   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3580         -
    for QueryIdempotencyTokenAutoFill
        3919  +
    for MalformedAcceptWithGenericString
 3581   3920   
{
 3582   3921   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3583   3922   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3584   3923   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3585   3924   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3586   3925   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3587   3926   
        >,
 3588   3927   
    >;
 3589   3928   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3590   3929   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3591   3930   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3592   3931   
    >;
 3593   3932   
 3594   3933   
    fn request_fmt() -> Self::RequestFmt {
 3595   3934   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3596   3935   
    }
 3597   3936   
 3598   3937   
    fn response_fmt() -> Self::ResponseFmt {
 3599   3938   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3600   3939   
    }
 3601   3940   
}
 3602   3941   
/* ServerOperationGenerator.kt:88 */
 3603   3942   
 3604         -
/// /* ServerOperationGenerator.kt:48 */Omits serializing empty lists. Because empty strings are serilized as `Foo=`, empty lists cannot also be serialized as `Foo=` and instead must be omitted.
        3943  +
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a structure in the HTTP body. It should ensure Content-Type: application/json is used in all requests and that an "empty" body is an empty JSON document ({}).
 3605   3944   
/* ServerOperationGenerator.kt:55 */
 3606         -
pub struct OmitsSerializingEmptyLists;
        3945  +
pub struct TestBodyStructure;
 3607   3946   
 3608         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OmitsSerializingEmptyLists {
        3947  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestBodyStructure {
 3609   3948   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3610   3949   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3611         -
            "aws.protocoltests.restjson#OmitsSerializingEmptyLists",
        3950  +
            "aws.protocoltests.restjson#TestBodyStructure",
 3612   3951   
            "aws.protocoltests.restjson",
 3613         -
            "OmitsSerializingEmptyLists",
        3952  +
            "TestBodyStructure",
 3614   3953   
        );
 3615   3954   
 3616         -
    type Input = crate::input::OmitsSerializingEmptyListsInput;
 3617         -
    type Output = crate::output::OmitsSerializingEmptyListsOutput;
 3618         -
    type Error = crate::error::OmitsSerializingEmptyListsError;
        3955  +
    type Input = crate::input::TestBodyStructureInput;
        3956  +
    type Output = crate::output::TestBodyStructureOutput;
        3957  +
    type Error = std::convert::Infallible;
 3619   3958   
}
 3620   3959   
 3621   3960   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3622         -
    for OmitsSerializingEmptyLists
        3961  +
    for TestBodyStructure
 3623   3962   
{
 3624   3963   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3625   3964   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3626   3965   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3627   3966   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3628   3967   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3629   3968   
        >,
 3630   3969   
    >;
 3631   3970   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3632   3971   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3633   3972   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3634   3973   
    >;
 3635   3974   
 3636   3975   
    fn request_fmt() -> Self::RequestFmt {
 3637   3976   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3638   3977   
    }
 3639   3978   
 3640   3979   
    fn response_fmt() -> Self::ResponseFmt {
 3641   3980   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3642   3981   
    }
 3643   3982   
}
 3644   3983   
/* ServerOperationGenerator.kt:88 */
 3645   3984   
 3646         -
/// /* ServerOperationGenerator.kt:48 */Omits null, but serializes empty string value.
        3985  +
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a payload targeting a structure. This enforces the same requirements as TestBodyStructure but with the body specified by the @httpPayload trait.
 3647   3986   
/* ServerOperationGenerator.kt:55 */
 3648         -
pub struct OmitsNullSerializesEmptyString;
        3987  +
pub struct TestPayloadStructure;
 3649   3988   
 3650         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OmitsNullSerializesEmptyString {
        3989  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPayloadStructure {
 3651   3990   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3652   3991   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3653         -
            "aws.protocoltests.restjson#OmitsNullSerializesEmptyString",
        3992  +
            "aws.protocoltests.restjson#TestPayloadStructure",
 3654   3993   
            "aws.protocoltests.restjson",
 3655         -
            "OmitsNullSerializesEmptyString",
        3994  +
            "TestPayloadStructure",
 3656   3995   
        );
 3657   3996   
 3658         -
    type Input = crate::input::OmitsNullSerializesEmptyStringInput;
 3659         -
    type Output = crate::output::OmitsNullSerializesEmptyStringOutput;
        3997  +
    type Input = crate::input::TestPayloadStructureInput;
        3998  +
    type Output = crate::output::TestPayloadStructureOutput;
 3660   3999   
    type Error = std::convert::Infallible;
 3661   4000   
}
 3662   4001   
 3663   4002   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3664         -
    for OmitsNullSerializesEmptyString
        4003  +
    for TestPayloadStructure
 3665   4004   
{
 3666   4005   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3667   4006   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3668   4007   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3669   4008   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3670   4009   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3671   4010   
        >,
 3672   4011   
    >;
 3673   4012   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3674   4013   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3675   4014   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3676   4015   
    >;
 3677   4016   
 3678   4017   
    fn request_fmt() -> Self::RequestFmt {
 3679   4018   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3680   4019   
    }
 3681   4020   
 3682   4021   
    fn response_fmt() -> Self::ResponseFmt {
 3683   4022   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3684   4023   
    }
 3685   4024   
}
 3686   4025   
/* ServerOperationGenerator.kt:88 */
 3687   4026   
 3688         -
/// /* ServerOperationGenerator.kt:48 */This example ensures that query string bound request parameters are serialized in the body of responses if the structure is used in both the request and response.
        4027  +
/// /* ServerOperationGenerator.kt:48 */This example operation serializes a payload targeting a blob. The Blob shape is not structured content and we cannot make assumptions about what data will be sent. This test ensures only a generic "Content-Type: application/octet-stream" header is used, and that we are not treating an empty body as an empty JSON document.
 3689   4028   
/* ServerOperationGenerator.kt:55 */
 3690         -
pub struct IgnoreQueryParamsInResponse;
        4029  +
pub struct TestPayloadBlob;
 3691   4030   
 3692         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for IgnoreQueryParamsInResponse {
        4031  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPayloadBlob {
 3693   4032   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3694   4033   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3695         -
            "aws.protocoltests.restjson#IgnoreQueryParamsInResponse",
        4034  +
            "aws.protocoltests.restjson#TestPayloadBlob",
 3696   4035   
            "aws.protocoltests.restjson",
 3697         -
            "IgnoreQueryParamsInResponse",
        4036  +
            "TestPayloadBlob",
 3698   4037   
        );
 3699   4038   
 3700         -
    type Input = crate::input::IgnoreQueryParamsInResponseInput;
 3701         -
    type Output = crate::output::IgnoreQueryParamsInResponseOutput;
        4039  +
    type Input = crate::input::TestPayloadBlobInput;
        4040  +
    type Output = crate::output::TestPayloadBlobOutput;
 3702   4041   
    type Error = std::convert::Infallible;
 3703   4042   
}
 3704   4043   
 3705   4044   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3706         -
    for IgnoreQueryParamsInResponse
        4045  +
    for TestPayloadBlob
 3707   4046   
{
 3708   4047   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3709   4048   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3710   4049   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3711   4050   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3712   4051   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3713   4052   
        >,
 3714   4053   
    >;
 3715   4054   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3716   4055   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3717   4056   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3718   4057   
    >;
 3719   4058   
 3720   4059   
    fn request_fmt() -> Self::RequestFmt {
 3721   4060   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3722   4061   
    }
 3723   4062   
 3724   4063   
    fn response_fmt() -> Self::ResponseFmt {
 3725   4064   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3726   4065   
    }
 3727   4066   
}
 3728   4067   
/* ServerOperationGenerator.kt:88 */
 3729   4068   
 3730         -
/// /* ServerOperationGenerator.kt:48 */This example uses fixed query string params and variable query string params. The fixed query string parameters and variable parameters must both be serialized (implementations may need to merge them together).
        4069  +
/// /* ServerOperationGenerator.kt:48 */This example GET operation serializes a request without a modeled HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Length, Content-Type) to operations that semantically cannot produce an HTTP body.
 3731   4070   
/* ServerOperationGenerator.kt:55 */
 3732         -
pub struct ConstantAndVariableQueryString;
        4071  +
pub struct TestGetNoPayload;
 3733   4072   
 3734         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ConstantAndVariableQueryString {
        4073  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestGetNoPayload {
 3735   4074   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3736   4075   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3737         -
            "aws.protocoltests.restjson#ConstantAndVariableQueryString",
        4076  +
            "aws.protocoltests.restjson#TestGetNoPayload",
 3738   4077   
            "aws.protocoltests.restjson",
 3739         -
            "ConstantAndVariableQueryString",
        4078  +
            "TestGetNoPayload",
 3740   4079   
        );
 3741   4080   
 3742         -
    type Input = crate::input::ConstantAndVariableQueryStringInput;
 3743         -
    type Output = crate::output::ConstantAndVariableQueryStringOutput;
        4081  +
    type Input = crate::input::TestGetNoPayloadInput;
        4082  +
    type Output = crate::output::TestGetNoPayloadOutput;
 3744   4083   
    type Error = std::convert::Infallible;
 3745   4084   
}
 3746   4085   
 3747   4086   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3748         -
    for ConstantAndVariableQueryString
        4087  +
    for TestGetNoPayload
 3749   4088   
{
 3750   4089   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3751   4090   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3752   4091   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3753   4092   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3754   4093   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3755   4094   
        >,
 3756   4095   
    >;
 3757   4096   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3758   4097   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3759   4098   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3760   4099   
    >;
 3761   4100   
 3762   4101   
    fn request_fmt() -> Self::RequestFmt {
 3763   4102   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3764   4103   
    }
 3765   4104   
 3766   4105   
    fn response_fmt() -> Self::ResponseFmt {
 3767   4106   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3768   4107   
    }
 3769   4108   
}
 3770   4109   
/* ServerOperationGenerator.kt:88 */
 3771   4110   
 3772         -
/// /* ServerOperationGenerator.kt:48 */This example uses a constant query string parameters and a label. This simply tests that labels and query string parameters are compatible. The fixed query string parameter named "hello" should in no way conflict with the label, `{hello}`.
        4111  +
/// /* ServerOperationGenerator.kt:48 */This example POST operation serializes a request without a modeled HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Type) to a POST operation with no modeled payload.
 3773   4112   
/* ServerOperationGenerator.kt:55 */
 3774         -
pub struct ConstantQueryString;
        4113  +
pub struct TestPostNoPayload;
 3775   4114   
 3776         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ConstantQueryString {
        4115  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPostNoPayload {
 3777   4116   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3778   4117   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3779         -
            "aws.protocoltests.restjson#ConstantQueryString",
        4118  +
            "aws.protocoltests.restjson#TestPostNoPayload",
 3780   4119   
            "aws.protocoltests.restjson",
 3781         -
            "ConstantQueryString",
        4120  +
            "TestPostNoPayload",
 3782   4121   
        );
 3783   4122   
 3784         -
    type Input = crate::input::ConstantQueryStringInput;
 3785         -
    type Output = crate::output::ConstantQueryStringOutput;
 3786         -
    type Error = crate::error::ConstantQueryStringError;
        4123  +
    type Input = crate::input::TestPostNoPayloadInput;
        4124  +
    type Output = crate::output::TestPostNoPayloadOutput;
        4125  +
    type Error = std::convert::Infallible;
 3787   4126   
}
 3788   4127   
 3789   4128   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3790         -
    for ConstantQueryString
        4129  +
    for TestPostNoPayload
 3791   4130   
{
 3792   4131   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3793   4132   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3794   4133   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3795   4134   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3796   4135   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3797   4136   
        >,
 3798   4137   
    >;
 3799   4138   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3800   4139   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3801   4140   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3802   4141   
    >;
 3803   4142   
 3804   4143   
    fn request_fmt() -> Self::RequestFmt {
 3805   4144   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3806   4145   
    }
 3807   4146   
 3808   4147   
    fn response_fmt() -> Self::ResponseFmt {
 3809   4148   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3810   4149   
    }
 3811   4150   
}
 3812   4151   
/* ServerOperationGenerator.kt:88 */
 3813   4152   
 3814         -
/// /* ServerOperationGenerator.kt:48 */This example uses all query string types.
        4153  +
/// /* ServerOperationGenerator.kt:48 */This example GET operation has no input and serializes a request without a HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Length, Content-Type) to operations that semantically cannot produce an HTTP body.
 3815   4154   
/* ServerOperationGenerator.kt:55 */
 3816         -
pub struct AllQueryStringTypes;
        4155  +
pub struct TestGetNoInputNoPayload;
 3817   4156   
 3818         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for AllQueryStringTypes {
        4157  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestGetNoInputNoPayload {
 3819   4158   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3820   4159   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3821         -
            "aws.protocoltests.restjson#AllQueryStringTypes",
        4160  +
            "aws.protocoltests.restjson#TestGetNoInputNoPayload",
 3822   4161   
            "aws.protocoltests.restjson",
 3823         -
            "AllQueryStringTypes",
        4162  +
            "TestGetNoInputNoPayload",
 3824   4163   
        );
 3825   4164   
 3826         -
    type Input = crate::input::AllQueryStringTypesInput;
 3827         -
    type Output = crate::output::AllQueryStringTypesOutput;
 3828         -
    type Error = crate::error::AllQueryStringTypesError;
        4165  +
    type Input = crate::input::TestGetNoInputNoPayloadInput;
        4166  +
    type Output = crate::output::TestGetNoInputNoPayloadOutput;
        4167  +
    type Error = std::convert::Infallible;
 3829   4168   
}
 3830   4169   
 3831   4170   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3832         -
    for AllQueryStringTypes
        4171  +
    for TestGetNoInputNoPayload
 3833   4172   
{
 3834   4173   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3835   4174   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3836   4175   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3837   4176   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3838   4177   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3839   4178   
        >,
 3840   4179   
    >;
 3841   4180   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3842   4181   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3843   4182   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3844   4183   
    >;
 3845   4184   
 3846   4185   
    fn request_fmt() -> Self::RequestFmt {
 3847   4186   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3848   4187   
    }
 3849   4188   
 3850   4189   
    fn response_fmt() -> Self::ResponseFmt {
 3851   4190   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3852   4191   
    }
 3853   4192   
}
 3854   4193   
/* ServerOperationGenerator.kt:88 */
 3855   4194   
 3856         -
/* ServerOperationGenerator.kt:48 */
 3857         -
#[allow(missing_docs)] // documentation missing in model
 3858         -
                       /* ServerOperationGenerator.kt:55 */
 3859         -
pub struct HttpRequestWithRegexLiteral;
        4195  +
/// /* ServerOperationGenerator.kt:48 */This example POST operation has no input and serializes a request without a HTTP body. These tests are to ensure we do not attach a body or related headers (Content-Type) to a POST operation with no modeled input.
        4196  +
/* ServerOperationGenerator.kt:55 */
        4197  +
pub struct TestPostNoInputNoPayload;
 3860   4198   
 3861         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithRegexLiteral {
        4199  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TestPostNoInputNoPayload {
 3862   4200   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3863   4201   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3864         -
            "aws.protocoltests.restjson#HttpRequestWithRegexLiteral",
        4202  +
            "aws.protocoltests.restjson#TestPostNoInputNoPayload",
 3865   4203   
            "aws.protocoltests.restjson",
 3866         -
            "HttpRequestWithRegexLiteral",
        4204  +
            "TestPostNoInputNoPayload",
 3867   4205   
        );
 3868   4206   
 3869         -
    type Input = crate::input::HttpRequestWithRegexLiteralInput;
 3870         -
    type Output = crate::output::HttpRequestWithRegexLiteralOutput;
 3871         -
    type Error = crate::error::HttpRequestWithRegexLiteralError;
        4207  +
    type Input = crate::input::TestPostNoInputNoPayloadInput;
        4208  +
    type Output = crate::output::TestPostNoInputNoPayloadOutput;
        4209  +
    type Error = std::convert::Infallible;
 3872   4210   
}
 3873   4211   
 3874   4212   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3875         -
    for HttpRequestWithRegexLiteral
        4213  +
    for TestPostNoInputNoPayload
 3876   4214   
{
 3877   4215   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3878   4216   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3879   4217   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3880   4218   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3881   4219   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3882   4220   
        >,
 3883   4221   
    >;
 3884   4222   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3885   4223   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3886   4224   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3887   4225   
    >;
 3888   4226   
 3889   4227   
    fn request_fmt() -> Self::RequestFmt {
 3890   4228   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3891   4229   
    }
 3892   4230   
 3893   4231   
    fn response_fmt() -> Self::ResponseFmt {
 3894   4232   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3895   4233   
    }
 3896   4234   
}
 3897   4235   
/* ServerOperationGenerator.kt:88 */
 3898   4236   
 3899   4237   
/* ServerOperationGenerator.kt:48 */
 3900   4238   
#[allow(missing_docs)] // documentation missing in model
 3901   4239   
                       /* ServerOperationGenerator.kt:55 */
 3902         -
pub struct HttpRequestWithFloatLabels;
        4240  +
pub struct DatetimeOffsets;
 3903   4241   
 3904         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithFloatLabels {
        4242  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DatetimeOffsets {
 3905   4243   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3906   4244   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3907         -
            "aws.protocoltests.restjson#HttpRequestWithFloatLabels",
        4245  +
            "aws.protocoltests.restjson#DatetimeOffsets",
 3908   4246   
            "aws.protocoltests.restjson",
 3909         -
            "HttpRequestWithFloatLabels",
        4247  +
            "DatetimeOffsets",
 3910   4248   
        );
 3911   4249   
 3912         -
    type Input = crate::input::HttpRequestWithFloatLabelsInput;
 3913         -
    type Output = crate::output::HttpRequestWithFloatLabelsOutput;
 3914         -
    type Error = crate::error::HttpRequestWithFloatLabelsError;
        4250  +
    type Input = crate::input::DatetimeOffsetsInput;
        4251  +
    type Output = crate::output::DatetimeOffsetsOutput;
        4252  +
    type Error = std::convert::Infallible;
 3915   4253   
}
 3916   4254   
 3917   4255   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3918         -
    for HttpRequestWithFloatLabels
        4256  +
    for DatetimeOffsets
 3919   4257   
{
 3920   4258   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3921   4259   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3922   4260   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3923   4261   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3924   4262   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3925   4263   
        >,
 3926   4264   
    >;
 3927   4265   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3928   4266   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3929   4267   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3930   4268   
    >;
 3931   4269   
 3932   4270   
    fn request_fmt() -> Self::RequestFmt {
 3933   4271   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3934   4272   
    }
 3935   4273   
 3936   4274   
    fn response_fmt() -> Self::ResponseFmt {
 3937   4275   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3938   4276   
    }
 3939   4277   
}
 3940   4278   
/* ServerOperationGenerator.kt:88 */
 3941   4279   
 3942   4280   
/* ServerOperationGenerator.kt:48 */
 3943   4281   
#[allow(missing_docs)] // documentation missing in model
 3944   4282   
                       /* ServerOperationGenerator.kt:55 */
 3945         -
pub struct HttpRequestWithGreedyLabelInPath;
        4283  +
pub struct FractionalSeconds;
 3946   4284   
 3947         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
 3948         -
    for HttpRequestWithGreedyLabelInPath
 3949         -
{
        4285  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for FractionalSeconds {
 3950   4286   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3951   4287   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3952         -
            "aws.protocoltests.restjson#HttpRequestWithGreedyLabelInPath",
        4288  +
            "aws.protocoltests.restjson#FractionalSeconds",
 3953   4289   
            "aws.protocoltests.restjson",
 3954         -
            "HttpRequestWithGreedyLabelInPath",
        4290  +
            "FractionalSeconds",
 3955   4291   
        );
 3956   4292   
 3957         -
    type Input = crate::input::HttpRequestWithGreedyLabelInPathInput;
 3958         -
    type Output = crate::output::HttpRequestWithGreedyLabelInPathOutput;
 3959         -
    type Error = crate::error::HttpRequestWithGreedyLabelInPathError;
        4293  +
    type Input = crate::input::FractionalSecondsInput;
        4294  +
    type Output = crate::output::FractionalSecondsOutput;
        4295  +
    type Error = std::convert::Infallible;
 3960   4296   
}
 3961   4297   
 3962   4298   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 3963         -
    for HttpRequestWithGreedyLabelInPath
        4299  +
    for FractionalSeconds
 3964   4300   
{
 3965   4301   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 3966   4302   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3967   4303   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 3968   4304   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3969   4305   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3970   4306   
        >,
 3971   4307   
    >;
 3972   4308   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 3973   4309   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3974   4310   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 3975   4311   
    >;
 3976   4312   
 3977   4313   
    fn request_fmt() -> Self::RequestFmt {
 3978   4314   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 3979   4315   
    }
 3980   4316   
 3981   4317   
    fn response_fmt() -> Self::ResponseFmt {
 3982   4318   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 3983   4319   
    }
 3984   4320   
}
 3985   4321   
/* ServerOperationGenerator.kt:88 */
 3986   4322   
 3987         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests serialize different timestamp formats in the URI path.
 3988         -
/* ServerOperationGenerator.kt:55 */
 3989         -
pub struct HttpRequestWithLabelsAndTimestampFormat;
        4323  +
/* ServerOperationGenerator.kt:48 */
        4324  +
#[allow(missing_docs)] // documentation missing in model
        4325  +
                       /* ServerOperationGenerator.kt:55 */
        4326  +
pub struct PutWithContentEncoding;
 3990   4327   
 3991         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape
 3992         -
    for HttpRequestWithLabelsAndTimestampFormat
 3993         -
{
        4328  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for PutWithContentEncoding {
 3994   4329   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 3995   4330   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 3996         -
            "aws.protocoltests.restjson#HttpRequestWithLabelsAndTimestampFormat",
        4331  +
            "aws.protocoltests.restjson#PutWithContentEncoding",
 3997   4332   
            "aws.protocoltests.restjson",
 3998         -
            "HttpRequestWithLabelsAndTimestampFormat",
        4333  +
            "PutWithContentEncoding",
 3999   4334   
        );
 4000   4335   
 4001         -
    type Input = crate::input::HttpRequestWithLabelsAndTimestampFormatInput;
 4002         -
    type Output = crate::output::HttpRequestWithLabelsAndTimestampFormatOutput;
 4003         -
    type Error = crate::error::HttpRequestWithLabelsAndTimestampFormatError;
        4336  +
    type Input = crate::input::PutWithContentEncodingInput;
        4337  +
    type Output = crate::output::PutWithContentEncodingOutput;
        4338  +
    type Error = std::convert::Infallible;
 4004   4339   
}
 4005   4340   
 4006   4341   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4007         -
    for HttpRequestWithLabelsAndTimestampFormat
        4342  +
    for PutWithContentEncoding
 4008   4343   
{
 4009   4344   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4010   4345   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4011   4346   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4012   4347   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4013   4348   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4014   4349   
        >,
 4015   4350   
    >;
 4016   4351   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4017   4352   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4018   4353   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4019   4354   
    >;
 4020   4355   
 4021   4356   
    fn request_fmt() -> Self::RequestFmt {
 4022   4357   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4023   4358   
    }
 4024   4359   
 4025   4360   
    fn response_fmt() -> Self::ResponseFmt {
 4026   4361   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4027   4362   
    }
 4028   4363   
}
 4029   4364   
/* ServerOperationGenerator.kt:88 */
 4030   4365   
 4031         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests are serialized when there's no input payload but there are HTTP labels.
        4366  +
/// /* ServerOperationGenerator.kt:48 */The example tests how servers must support requests containing a `Content-Type` header with parameters.
 4032   4367   
/* ServerOperationGenerator.kt:55 */
 4033         -
pub struct HttpRequestWithLabels;
        4368  +
pub struct ContentTypeParameters;
 4034   4369   
 4035         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for HttpRequestWithLabels {
        4370  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for ContentTypeParameters {
 4036   4371   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4037   4372   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4038         -
            "aws.protocoltests.restjson#HttpRequestWithLabels",
        4373  +
            "aws.protocoltests.restjson#ContentTypeParameters",
 4039   4374   
            "aws.protocoltests.restjson",
 4040         -
            "HttpRequestWithLabels",
        4375  +
            "ContentTypeParameters",
 4041   4376   
        );
 4042   4377   
 4043         -
    type Input = crate::input::HttpRequestWithLabelsInput;
 4044         -
    type Output = crate::output::HttpRequestWithLabelsOutput;
 4045         -
    type Error = crate::error::HttpRequestWithLabelsError;
        4378  +
    type Input = crate::input::ContentTypeParametersInput;
        4379  +
    type Output = crate::output::ContentTypeParametersOutput;
        4380  +
    type Error = std::convert::Infallible;
 4046   4381   
}
 4047   4382   
 4048   4383   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4049         -
    for HttpRequestWithLabels
        4384  +
    for ContentTypeParameters
 4050   4385   
{
 4051   4386   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4052   4387   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4053   4388   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4054   4389   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4055   4390   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4056   4391   
        >,
 4057   4392   
    >;
 4058   4393   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4059   4394   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4060   4395   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4061   4396   
    >;
 4062   4397   
 4063   4398   
    fn request_fmt() -> Self::RequestFmt {
 4064   4399   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4065   4400   
    }
 4066   4401   
 4067   4402   
    fn response_fmt() -> Self::ResponseFmt {
 4068   4403   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4069   4404   
    }
 4070   4405   
}
 4071   4406   
/* ServerOperationGenerator.kt:88 */
 4072   4407   
 4073         -
/// /* ServerOperationGenerator.kt:48 */This example ensures that mediaType strings are base64 encoded in headers.
 4074         -
/* ServerOperationGenerator.kt:55 */
 4075         -
pub struct MediaTypeHeader;
        4408  +
/* ServerOperationGenerator.kt:48 */
        4409  +
#[allow(missing_docs)] // documentation missing in model
        4410  +
                       /* ServerOperationGenerator.kt:55 */
        4411  +
pub struct OperationWithDefaults;
 4076   4412   
 4077         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for MediaTypeHeader {
        4413  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithDefaults {
 4078   4414   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4079   4415   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4080         -
            "aws.protocoltests.restjson#MediaTypeHeader",
        4416  +
            "aws.protocoltests.restjson#OperationWithDefaults",
 4081   4417   
            "aws.protocoltests.restjson",
 4082         -
            "MediaTypeHeader",
        4418  +
            "OperationWithDefaults",
 4083   4419   
        );
 4084   4420   
 4085         -
    type Input = crate::input::MediaTypeHeaderInput;
 4086         -
    type Output = crate::output::MediaTypeHeaderOutput;
 4087         -
    type Error = std::convert::Infallible;
        4421  +
    type Input = crate::input::OperationWithDefaultsInput;
        4422  +
    type Output = crate::output::OperationWithDefaultsOutput;
        4423  +
    type Error = crate::error::OperationWithDefaultsError;
 4088   4424   
}
 4089   4425   
 4090   4426   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4091         -
    for MediaTypeHeader
        4427  +
    for OperationWithDefaults
 4092   4428   
{
 4093   4429   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4094   4430   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4095   4431   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4096   4432   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4097   4433   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4098   4434   
        >,
 4099   4435   
    >;
 4100   4436   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4101   4437   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4102   4438   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4103   4439   
    >;
 4104   4440   
 4105   4441   
    fn request_fmt() -> Self::RequestFmt {
 4106   4442   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4107   4443   
    }
 4108   4444   
 4109   4445   
    fn response_fmt() -> Self::ResponseFmt {
 4110   4446   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4111   4447   
    }
 4112   4448   
}
 4113   4449   
/* ServerOperationGenerator.kt:88 */
 4114   4450   
 4115         -
/// /* ServerOperationGenerator.kt:48 */This example tests how timestamp request and response headers are serialized.
 4116         -
/* ServerOperationGenerator.kt:55 */
 4117         -
pub struct TimestampFormatHeaders;
        4451  +
/* ServerOperationGenerator.kt:48 */
        4452  +
#[allow(missing_docs)] // documentation missing in model
        4453  +
                       /* ServerOperationGenerator.kt:55 */
        4454  +
pub struct OperationWithNestedStructure;
 4118   4455   
 4119         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for TimestampFormatHeaders {
        4456  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OperationWithNestedStructure {
 4120   4457   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4121   4458   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4122         -
            "aws.protocoltests.restjson#TimestampFormatHeaders",
        4459  +
            "aws.protocoltests.restjson#OperationWithNestedStructure",
 4123   4460   
            "aws.protocoltests.restjson",
 4124         -
            "TimestampFormatHeaders",
        4461  +
            "OperationWithNestedStructure",
 4125   4462   
        );
 4126   4463   
 4127         -
    type Input = crate::input::TimestampFormatHeadersInput;
 4128         -
    type Output = crate::output::TimestampFormatHeadersOutput;
 4129         -
    type Error = std::convert::Infallible;
        4464  +
    type Input = crate::input::OperationWithNestedStructureInput;
        4465  +
    type Output = crate::output::OperationWithNestedStructureOutput;
        4466  +
    type Error = crate::error::OperationWithNestedStructureError;
 4130   4467   
}
 4131   4468   
 4132   4469   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4133         -
    for TimestampFormatHeaders
        4470  +
    for OperationWithNestedStructure
 4134   4471   
{
 4135   4472   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4136   4473   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4137   4474   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4138   4475   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4139   4476   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4140   4477   
        >,
 4141   4478   
    >;
 4142   4479   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4143   4480   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4144   4481   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4145   4482   
    >;
 4146   4483   
 4147   4484   
    fn request_fmt() -> Self::RequestFmt {
 4148   4485   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4149   4486   
    }
 4150   4487   
 4151   4488   
    fn response_fmt() -> Self::ResponseFmt {
 4152   4489   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4153   4490   
    }
 4154   4491   
}
 4155   4492   
/* ServerOperationGenerator.kt:88 */
 4156   4493   
 4157         -
/// /* ServerOperationGenerator.kt:48 */Null headers are not sent over the wire, empty headers are serialized to ""
 4158         -
/* ServerOperationGenerator.kt:55 */
 4159         -
pub struct NullAndEmptyHeadersServer;
        4494  +
/* ServerOperationGenerator.kt:48 */
        4495  +
#[allow(missing_docs)] // documentation missing in model
        4496  +
                       /* ServerOperationGenerator.kt:55 */
        4497  +
pub struct InputStream;
 4160   4498   
 4161         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullAndEmptyHeadersServer {
        4499  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for InputStream {
 4162   4500   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4163   4501   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4164         -
            "aws.protocoltests.restjson#NullAndEmptyHeadersServer",
        4502  +
            "aws.protocoltests.restjson#InputStream",
 4165   4503   
            "aws.protocoltests.restjson",
 4166         -
            "NullAndEmptyHeadersServer",
        4504  +
            "InputStream",
 4167   4505   
        );
 4168   4506   
 4169         -
    type Input = crate::input::NullAndEmptyHeadersServerInput;
 4170         -
    type Output = crate::output::NullAndEmptyHeadersServerOutput;
 4171         -
    type Error = std::convert::Infallible;
        4507  +
    type Input = crate::input::InputStreamInput;
        4508  +
    type Output = crate::output::InputStreamOutput;
        4509  +
    type Error = crate::error::InputStreamError;
 4172   4510   
}
 4173   4511   
 4174         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4175         -
    for NullAndEmptyHeadersServer
 4176         -
{
        4512  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for InputStream {
 4177   4513   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4178   4514   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4179   4515   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4180   4516   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4181   4517   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4182   4518   
        >,
 4183   4519   
    >;
 4184   4520   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4185   4521   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4186   4522   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4187   4523   
    >;
 4188   4524   
 4189   4525   
    fn request_fmt() -> Self::RequestFmt {
 4190   4526   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4191   4527   
    }
 4192   4528   
 4193   4529   
    fn response_fmt() -> Self::ResponseFmt {
 4194   4530   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4195   4531   
    }
 4196   4532   
}
 4197   4533   
/* ServerOperationGenerator.kt:88 */
 4198   4534   
 4199         -
/// /* ServerOperationGenerator.kt:48 */Null headers are not sent over the wire, empty headers are serialized to ""
 4200         -
/* ServerOperationGenerator.kt:55 */
 4201         -
pub struct NullAndEmptyHeadersClient;
        4535  +
/* ServerOperationGenerator.kt:48 */
        4536  +
#[allow(missing_docs)] // documentation missing in model
        4537  +
                       /* ServerOperationGenerator.kt:55 */
        4538  +
pub struct OutputStream;
 4202   4539   
 4203         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NullAndEmptyHeadersClient {
        4540  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for OutputStream {
 4204   4541   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4205   4542   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4206         -
            "aws.protocoltests.restjson#NullAndEmptyHeadersClient",
        4543  +
            "aws.protocoltests.restjson#OutputStream",
 4207   4544   
            "aws.protocoltests.restjson",
 4208         -
            "NullAndEmptyHeadersClient",
        4545  +
            "OutputStream",
 4209   4546   
        );
 4210   4547   
 4211         -
    type Input = crate::input::NullAndEmptyHeadersClientInput;
 4212         -
    type Output = crate::output::NullAndEmptyHeadersClientOutput;
 4213         -
    type Error = std::convert::Infallible;
        4548  +
    type Input = crate::input::OutputStreamInput;
        4549  +
    type Output = crate::output::OutputStreamOutput;
        4550  +
    type Error = crate::error::OutputStreamError;
 4214   4551   
}
 4215   4552   
 4216         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4217         -
    for NullAndEmptyHeadersClient
 4218         -
{
        4553  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for OutputStream {
 4219   4554   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4220   4555   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4221   4556   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4222   4557   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4223   4558   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4224   4559   
        >,
 4225   4560   
    >;
 4226   4561   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4227   4562   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4228   4563   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4229   4564   
    >;
 4230   4565   
 4231   4566   
    fn request_fmt() -> Self::RequestFmt {
 4232   4567   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4233   4568   
    }
 4234   4569   
 4235   4570   
    fn response_fmt() -> Self::ResponseFmt {
 4236   4571   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4237   4572   
    }
 4238   4573   
}
 4239   4574   
/* ServerOperationGenerator.kt:88 */
 4240   4575   
 4241         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there is no input or output payload but there are HTTP header bindings.
 4242         -
/* ServerOperationGenerator.kt:55 */
 4243         -
pub struct InputAndOutputWithHeaders;
        4576  +
/* ServerOperationGenerator.kt:48 */
        4577  +
#[allow(missing_docs)] // documentation missing in model
        4578  +
                       /* ServerOperationGenerator.kt:55 */
        4579  +
pub struct DuplexStream;
 4244   4580   
 4245         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for InputAndOutputWithHeaders {
        4581  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for DuplexStream {
 4246   4582   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4247   4583   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4248         -
            "aws.protocoltests.restjson#InputAndOutputWithHeaders",
        4584  +
            "aws.protocoltests.restjson#DuplexStream",
 4249   4585   
            "aws.protocoltests.restjson",
 4250         -
            "InputAndOutputWithHeaders",
        4586  +
            "DuplexStream",
 4251   4587   
        );
 4252   4588   
 4253         -
    type Input = crate::input::InputAndOutputWithHeadersInput;
 4254         -
    type Output = crate::output::InputAndOutputWithHeadersOutput;
 4255         -
    type Error = crate::error::InputAndOutputWithHeadersError;
        4589  +
    type Input = crate::input::DuplexStreamInput;
        4590  +
    type Output = crate::output::DuplexStreamOutput;
        4591  +
    type Error = crate::error::DuplexStreamError;
 4256   4592   
}
 4257   4593   
 4258         -
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4259         -
    for InputAndOutputWithHeaders
 4260         -
{
        4594  +
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity for DuplexStream {
 4261   4595   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4262   4596   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4263   4597   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4264   4598   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4265   4599   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4266   4600   
        >,
 4267   4601   
    >;
 4268   4602   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4269   4603   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4270   4604   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4271   4605   
    >;
 4272   4606   
 4273   4607   
    fn request_fmt() -> Self::RequestFmt {
 4274   4608   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4275   4609   
    }
 4276   4610   
 4277   4611   
    fn response_fmt() -> Self::ResponseFmt {
 4278   4612   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4279   4613   
    }
 4280   4614   
}
 4281   4615   
/* ServerOperationGenerator.kt:88 */
 4282   4616   
 4283         -
/// /* ServerOperationGenerator.kt:48 */This test is similar to NoInputAndNoOutput, but uses explicit Unit types.
 4284         -
/* ServerOperationGenerator.kt:55 */
 4285         -
pub struct UnitInputAndOutput;
        4617  +
/* ServerOperationGenerator.kt:48 */
        4618  +
#[allow(missing_docs)] // documentation missing in model
        4619  +
                       /* ServerOperationGenerator.kt:55 */
        4620  +
pub struct InputStreamWithInitialRequest;
 4286   4621   
 4287         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for UnitInputAndOutput {
        4622  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape for InputStreamWithInitialRequest {
 4288   4623   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4289   4624   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4290         -
            "aws.protocoltests.restjson#UnitInputAndOutput",
        4625  +
            "aws.protocoltests.restjson#InputStreamWithInitialRequest",
 4291   4626   
            "aws.protocoltests.restjson",
 4292         -
            "UnitInputAndOutput",
        4627  +
            "InputStreamWithInitialRequest",
 4293   4628   
        );
 4294   4629   
 4295         -
    type Input = crate::input::UnitInputAndOutputInput;
 4296         -
    type Output = crate::output::UnitInputAndOutputOutput;
 4297         -
    type Error = std::convert::Infallible;
        4630  +
    type Input = crate::input::InputStreamWithInitialRequestInput;
        4631  +
    type Output = crate::output::InputStreamWithInitialRequestOutput;
        4632  +
    type Error = crate::error::InputStreamWithInitialRequestError;
 4298   4633   
}
 4299   4634   
 4300   4635   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4301         -
    for UnitInputAndOutput
        4636  +
    for InputStreamWithInitialRequest
 4302   4637   
{
 4303   4638   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4304   4639   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4305   4640   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4306   4641   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4307   4642   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4308   4643   
        >,
 4309   4644   
    >;
 4310   4645   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4311   4646   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4312   4647   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4313   4648   
    >;
 4314   4649   
 4315   4650   
    fn request_fmt() -> Self::RequestFmt {
 4316   4651   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4317   4652   
    }
 4318   4653   
 4319   4654   
    fn response_fmt() -> Self::ResponseFmt {
 4320   4655   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4321   4656   
    }
 4322   4657   
}
 4323   4658   
/* ServerOperationGenerator.kt:88 */
 4324   4659   
 4325         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has an empty input and empty output structure that reuses the same shape. While this should be rare, code generators must support this.
 4326         -
/* ServerOperationGenerator.kt:55 */
 4327         -
pub struct EmptyInputAndEmptyOutput;
        4660  +
/* ServerOperationGenerator.kt:48 */
        4661  +
#[allow(missing_docs)] // documentation missing in model
        4662  +
                       /* ServerOperationGenerator.kt:55 */
        4663  +
pub struct OutputStreamWithInitialResponse;
 4328   4664   
 4329         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for EmptyInputAndEmptyOutput {
        4665  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        4666  +
    for OutputStreamWithInitialResponse
        4667  +
{
 4330   4668   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4331   4669   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4332         -
            "aws.protocoltests.restjson#EmptyInputAndEmptyOutput",
        4670  +
            "aws.protocoltests.restjson#OutputStreamWithInitialResponse",
 4333   4671   
            "aws.protocoltests.restjson",
 4334         -
            "EmptyInputAndEmptyOutput",
        4672  +
            "OutputStreamWithInitialResponse",
 4335   4673   
        );
 4336   4674   
 4337         -
    type Input = crate::input::EmptyInputAndEmptyOutputInput;
 4338         -
    type Output = crate::output::EmptyInputAndEmptyOutputOutput;
 4339         -
    type Error = std::convert::Infallible;
        4675  +
    type Input = crate::input::OutputStreamWithInitialResponseInput;
        4676  +
    type Output = crate::output::OutputStreamWithInitialResponseOutput;
        4677  +
    type Error = crate::error::OutputStreamWithInitialResponseError;
 4340   4678   
}
 4341   4679   
 4342   4680   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4343         -
    for EmptyInputAndEmptyOutput
        4681  +
    for OutputStreamWithInitialResponse
 4344   4682   
{
 4345   4683   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4346   4684   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4347   4685   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4348   4686   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4349   4687   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4350   4688   
        >,
 4351   4689   
    >;
 4352   4690   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4353   4691   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4354   4692   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4355   4693   
    >;
 4356   4694   
 4357   4695   
    fn request_fmt() -> Self::RequestFmt {
 4358   4696   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4359   4697   
    }
 4360   4698   
 4361   4699   
    fn response_fmt() -> Self::ResponseFmt {
 4362   4700   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4363   4701   
    }
 4364   4702   
}
 4365   4703   
/* ServerOperationGenerator.kt:88 */
 4366   4704   
 4367         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input and the output is empty. While this should be rare, code generators must support this.
 4368         -
/* ServerOperationGenerator.kt:55 */
 4369         -
pub struct NoInputAndOutput;
        4705  +
/* ServerOperationGenerator.kt:48 */
        4706  +
#[allow(missing_docs)] // documentation missing in model
        4707  +
                       /* ServerOperationGenerator.kt:55 */
        4708  +
pub struct DuplexStreamWithInitialMessages;
 4370   4709   
 4371         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndOutput {
        4710  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        4711  +
    for DuplexStreamWithInitialMessages
        4712  +
{
 4372   4713   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4373   4714   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4374         -
            "aws.protocoltests.restjson#NoInputAndOutput",
        4715  +
            "aws.protocoltests.restjson#DuplexStreamWithInitialMessages",
 4375   4716   
            "aws.protocoltests.restjson",
 4376         -
            "NoInputAndOutput",
        4717  +
            "DuplexStreamWithInitialMessages",
 4377   4718   
        );
 4378   4719   
 4379         -
    type Input = crate::input::NoInputAndOutputInput;
 4380         -
    type Output = crate::output::NoInputAndOutputOutput;
 4381         -
    type Error = std::convert::Infallible;
        4720  +
    type Input = crate::input::DuplexStreamWithInitialMessagesInput;
        4721  +
    type Output = crate::output::DuplexStreamWithInitialMessagesOutput;
        4722  +
    type Error = crate::error::DuplexStreamWithInitialMessagesError;
 4382   4723   
}
 4383   4724   
 4384   4725   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4385         -
    for NoInputAndOutput
        4726  +
    for DuplexStreamWithInitialMessages
 4386   4727   
{
 4387   4728   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4388   4729   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4389   4730   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4390   4731   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4391   4732   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4392   4733   
        >,
 4393   4734   
    >;
 4394   4735   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4395   4736   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4396   4737   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4397   4738   
    >;
 4398   4739   
 4399   4740   
    fn request_fmt() -> Self::RequestFmt {
 4400   4741   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt::new()
 4401   4742   
    }
 4402   4743   
 4403   4744   
    fn response_fmt() -> Self::ResponseFmt {
 4404   4745   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt::new()
 4405   4746   
    }
 4406   4747   
}
 4407   4748   
/* ServerOperationGenerator.kt:88 */
 4408   4749   
 4409         -
/// /* ServerOperationGenerator.kt:48 */The example tests how requests and responses are serialized when there's no request or response payload because the operation has no input or output. While this should be rare, code generators must support this.
 4410         -
/* ServerOperationGenerator.kt:55 */
 4411         -
pub struct NoInputAndNoOutput;
        4750  +
/* ServerOperationGenerator.kt:48 */
        4751  +
#[allow(missing_docs)] // documentation missing in model
        4752  +
                       /* ServerOperationGenerator.kt:55 */
        4753  +
pub struct DuplexStreamWithDistinctStreams;
 4412   4754   
 4413         -
impl ::aws_smithy_legacy_http_server::operation::OperationShape for NoInputAndNoOutput {
        4755  +
impl ::aws_smithy_legacy_http_server::operation::OperationShape
        4756  +
    for DuplexStreamWithDistinctStreams
        4757  +
{
 4414   4758   
    const ID: ::aws_smithy_legacy_http_server::shape_id::ShapeId =
 4415   4759   
        ::aws_smithy_legacy_http_server::shape_id::ShapeId::new(
 4416         -
            "aws.protocoltests.restjson#NoInputAndNoOutput",
        4760  +
            "aws.protocoltests.restjson#DuplexStreamWithDistinctStreams",
 4417   4761   
            "aws.protocoltests.restjson",
 4418         -
            "NoInputAndNoOutput",
        4762  +
            "DuplexStreamWithDistinctStreams",
 4419   4763   
        );
 4420   4764   
 4421         -
    type Input = crate::input::NoInputAndNoOutputInput;
 4422         -
    type Output = crate::output::NoInputAndNoOutputOutput;
 4423         -
    type Error = std::convert::Infallible;
        4765  +
    type Input = crate::input::DuplexStreamWithDistinctStreamsInput;
        4766  +
    type Output = crate::output::DuplexStreamWithDistinctStreamsOutput;
        4767  +
    type Error = crate::error::DuplexStreamWithDistinctStreamsError;
 4424   4768   
}
 4425   4769   
 4426   4770   
impl ::aws_smithy_legacy_http_server::instrumentation::sensitivity::Sensitivity
 4427         -
    for NoInputAndNoOutput
        4771  +
    for DuplexStreamWithDistinctStreams
 4428   4772   
{
 4429   4773   
    type RequestFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::RequestFmt<
 4430   4774   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4431   4775   
        ::aws_smithy_legacy_http_server::instrumentation::sensitivity::uri::MakeUri<
 4432   4776   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4433   4777   
            ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,
 4434   4778   
        >,
 4435   4779   
    >;
 4436   4780   
    type ResponseFmt = ::aws_smithy_legacy_http_server::instrumentation::sensitivity::ResponseFmt<
 4437   4781   
        ::aws_smithy_legacy_http_server::instrumentation::MakeIdentity,