Server Test Python

Server Test Python

rev. 7254d43655ed63111c94f599437f2b0d3f55446e

Files changed:

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

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