Server Test

Server Test

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

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