53 53 | "aws.protocoltests.restjson.synthetic",
|
54 54 | "TimestampFormatHeadersInput",
|
55 55 | );
|
56 56 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_EPOCH_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
57 57 | ::aws_smithy_schema::ShapeId::from_static(
|
58 58 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$memberEpochSeconds",
|
59 59 | "aws.protocoltests.restjson.synthetic",
|
60 60 | "TimestampFormatHeadersInput",
|
61 61 | ),
|
62 62 | ::aws_smithy_schema::ShapeType::Timestamp,
|
63 - | "member_epoch_seconds",
|
63 + | "memberEpochSeconds",
|
64 64 | 0,
|
65 65 | )
|
66 66 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::EpochSeconds)
|
67 67 | .with_http_header("X-memberEpochSeconds");
|
68 68 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_HTTP_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
69 69 | ::aws_smithy_schema::ShapeId::from_static(
|
70 70 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$memberHttpDate",
|
71 71 | "aws.protocoltests.restjson.synthetic",
|
72 72 | "TimestampFormatHeadersInput",
|
73 73 | ),
|
74 74 | ::aws_smithy_schema::ShapeType::Timestamp,
|
75 - | "member_http_date",
|
75 + | "memberHttpDate",
|
76 76 | 1,
|
77 77 | )
|
78 78 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate)
|
79 79 | .with_http_header("X-memberHttpDate");
|
80 80 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_DATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
81 81 | ::aws_smithy_schema::ShapeId::from_static(
|
82 82 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$memberDateTime",
|
83 83 | "aws.protocoltests.restjson.synthetic",
|
84 84 | "TimestampFormatHeadersInput",
|
85 85 | ),
|
86 86 | ::aws_smithy_schema::ShapeType::Timestamp,
|
87 - | "member_date_time",
|
87 + | "memberDateTime",
|
88 88 | 2,
|
89 89 | )
|
90 90 | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime)
|
91 91 | .with_http_header("X-memberDateTime");
|
92 92 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_DEFAULT_FORMAT: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
93 93 | ::aws_smithy_schema::ShapeId::from_static(
|
94 94 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$defaultFormat",
|
95 95 | "aws.protocoltests.restjson.synthetic",
|
96 96 | "TimestampFormatHeadersInput",
|
97 97 | ),
|
98 98 | ::aws_smithy_schema::ShapeType::Timestamp,
|
99 - | "default_format",
|
99 + | "defaultFormat",
|
100 100 | 3,
|
101 101 | )
|
102 102 | .with_http_header("X-defaultFormat");
|
103 103 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_EPOCH_SECONDS: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
104 104 | ::aws_smithy_schema::ShapeId::from_static(
|
105 105 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$targetEpochSeconds",
|
106 106 | "aws.protocoltests.restjson.synthetic",
|
107 107 | "TimestampFormatHeadersInput",
|
108 108 | ),
|
109 109 | ::aws_smithy_schema::ShapeType::Timestamp,
|
110 - | "target_epoch_seconds",
|
110 + | "targetEpochSeconds",
|
111 111 | 4,
|
112 112 | )
|
113 - | .with_http_header("X-targetEpochSeconds");
|
113 + | .with_http_header("X-targetEpochSeconds")
|
114 + | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::EpochSeconds);
|
114 115 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_HTTP_DATE: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
115 116 | ::aws_smithy_schema::ShapeId::from_static(
|
116 117 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$targetHttpDate",
|
117 118 | "aws.protocoltests.restjson.synthetic",
|
118 119 | "TimestampFormatHeadersInput",
|
119 120 | ),
|
120 121 | ::aws_smithy_schema::ShapeType::Timestamp,
|
121 - | "target_http_date",
|
122 + | "targetHttpDate",
|
122 123 | 5,
|
123 124 | )
|
124 - | .with_http_header("X-targetHttpDate");
|
125 + | .with_http_header("X-targetHttpDate")
|
126 + | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::HttpDate);
|
125 127 | static TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_DATE_TIME: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_member(
|
126 128 | ::aws_smithy_schema::ShapeId::from_static(
|
127 129 | "aws.protocoltests.restjson.synthetic#TimestampFormatHeadersInput$targetDateTime",
|
128 130 | "aws.protocoltests.restjson.synthetic",
|
129 131 | "TimestampFormatHeadersInput",
|
130 132 | ),
|
131 133 | ::aws_smithy_schema::ShapeType::Timestamp,
|
132 - | "target_date_time",
|
134 + | "targetDateTime",
|
133 135 | 6,
|
134 136 | )
|
135 - | .with_http_header("X-targetDateTime");
|
137 + | .with_http_header("X-targetDateTime")
|
138 + | .with_timestamp_format(aws_smithy_schema::traits::TimestampFormat::DateTime);
|
136 139 | static TIMESTAMPFORMATHEADERSINPUT_SCHEMA: ::aws_smithy_schema::Schema = ::aws_smithy_schema::Schema::new_struct(
|
137 140 | TIMESTAMPFORMATHEADERSINPUT_SCHEMA_ID,
|
138 141 | ::aws_smithy_schema::ShapeType::Structure,
|
139 142 | &[
|
140 143 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_EPOCH_SECONDS,
|
141 144 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_HTTP_DATE,
|
142 145 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_DATE_TIME,
|
143 146 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_DEFAULT_FORMAT,
|
144 147 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_EPOCH_SECONDS,
|
145 148 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_HTTP_DATE,
|
146 149 | &TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_DATE_TIME,
|
147 150 | ],
|
148 - | );
|
151 + | )
|
152 + | .with_http(aws_smithy_schema::traits::HttpTrait::new("POST", "/TimestampFormatHeaders", None));
|
149 153 | impl TimestampFormatHeadersInput {
|
150 154 | /// The schema for this shape.
|
151 155 | pub const SCHEMA: &'static ::aws_smithy_schema::Schema = &TIMESTAMPFORMATHEADERSINPUT_SCHEMA;
|
152 156 | }
|
153 157 | impl ::aws_smithy_schema::serde::SerializableStruct for TimestampFormatHeadersInput {
|
154 158 | #[allow(unused_variables, clippy::diverging_sub_expression)]
|
155 159 | fn serialize_members(
|
156 160 | &self,
|
157 161 | ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
|
158 162 | ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
|
159 163 | if let Some(ref val) = self.member_epoch_seconds {
|
160 164 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_EPOCH_SECONDS, val)?;
|
161 165 | }
|
162 166 | if let Some(ref val) = self.member_http_date {
|
163 167 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_HTTP_DATE, val)?;
|
164 168 | }
|
165 169 | if let Some(ref val) = self.member_date_time {
|
166 170 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_MEMBER_DATE_TIME, val)?;
|
167 171 | }
|
168 172 | if let Some(ref val) = self.default_format {
|
169 173 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_DEFAULT_FORMAT, val)?;
|
170 174 | }
|
171 175 | if let Some(ref val) = self.target_epoch_seconds {
|
172 176 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_EPOCH_SECONDS, val)?;
|
173 177 | }
|
174 178 | if let Some(ref val) = self.target_http_date {
|
175 179 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_HTTP_DATE, val)?;
|
176 180 | }
|
177 181 | if let Some(ref val) = self.target_date_time {
|
178 182 | ser.write_timestamp(&TIMESTAMPFORMATHEADERSINPUT_MEMBER_TARGET_DATE_TIME, val)?;
|
179 183 | }
|
180 184 | Ok(())
|
181 185 | }
|
182 186 | }
|
183 187 | impl TimestampFormatHeadersInput {
|
184 188 | /// Deserializes this structure from a [`ShapeDeserializer`].
|
185 - | pub fn deserialize<D: ::aws_smithy_schema::serde::ShapeDeserializer>(
|
186 - | deserializer: &mut D,
|
189 + | pub fn deserialize(
|
190 + | deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
187 191 | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
188 192 | #[allow(unused_variables, unused_mut)]
|
189 193 | let mut builder = Self::builder();
|
190 194 | #[allow(
|
191 195 | unused_variables,
|
192 196 | unreachable_code,
|
193 197 | clippy::single_match,
|
194 198 | clippy::match_single_binding,
|
195 199 | clippy::diverging_sub_expression
|
196 200 | )]
|
197 - | deserializer.read_struct(&TIMESTAMPFORMATHEADERSINPUT_SCHEMA, (), |_, member, deser| {
|
201 + | deserializer.read_struct(&TIMESTAMPFORMATHEADERSINPUT_SCHEMA, &mut |member, deser| {
|
198 202 | match member.member_index() {
|
199 203 | Some(0) => {
|
200 204 | builder.member_epoch_seconds = Some(deser.read_timestamp(member)?);
|
201 205 | }
|
202 206 | Some(1) => {
|
203 207 | builder.member_http_date = Some(deser.read_timestamp(member)?);
|
204 208 | }
|
205 209 | Some(2) => {
|
206 210 | builder.member_date_time = Some(deser.read_timestamp(member)?);
|
207 211 | }
|
208 212 | Some(3) => {
|
209 213 | builder.default_format = Some(deser.read_timestamp(member)?);
|
210 214 | }
|
211 215 | Some(4) => {
|
212 216 | builder.target_epoch_seconds = Some(deser.read_timestamp(member)?);
|
213 217 | }
|
214 218 | Some(5) => {
|
215 219 | builder.target_http_date = Some(deser.read_timestamp(member)?);
|
216 220 | }
|
217 221 | Some(6) => {
|
218 222 | builder.target_date_time = Some(deser.read_timestamp(member)?);
|
219 223 | }
|
220 224 | _ => {}
|
221 225 | }
|
222 226 | Ok(())
|
223 227 | })?;
|
224 228 | builder
|
225 229 | .build()
|
226 230 | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
227 231 | }
|
228 232 | }
|
233 + | impl TimestampFormatHeadersInput {
|
234 + | /// Deserializes this structure from a body deserializer and HTTP response headers.
|
235 + | /// Header-bound members are read directly from headers, avoiding runtime
|
236 + | /// member iteration overhead. Body members are read via the deserializer.
|
237 + | pub fn deserialize_with_response(
|
238 + | _deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
|
239 + | headers: &::aws_smithy_runtime_api::http::Headers,
|
240 + | _status: u16,
|
241 + | _body: &[u8],
|
242 + | ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
|
243 + | #[allow(unused_variables, unused_mut)]
|
244 + | let mut builder = Self::builder();
|
245 + | if let Some(val) = headers.get("X-memberEpochSeconds") {
|
246 + | builder.member_epoch_seconds = val.parse::<f64>().ok().map(::aws_smithy_types::DateTime::from_secs_f64);
|
247 + | }
|
248 + | if let Some(val) = headers.get("X-memberHttpDate") {
|
249 + | builder.member_http_date = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
|
250 + | }
|
251 + | if let Some(val) = headers.get("X-memberDateTime") {
|
252 + | builder.member_date_time = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::DateTime).ok();
|
253 + | }
|
254 + | if let Some(val) = headers.get("X-defaultFormat") {
|
255 + | builder.default_format = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
|
256 + | }
|
257 + | if let Some(val) = headers.get("X-targetEpochSeconds") {
|
258 + | builder.target_epoch_seconds = val.parse::<f64>().ok().map(::aws_smithy_types::DateTime::from_secs_f64);
|
259 + | }
|
260 + | if let Some(val) = headers.get("X-targetHttpDate") {
|
261 + | builder.target_http_date = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::HttpDate).ok();
|
262 + | }
|
263 + | if let Some(val) = headers.get("X-targetDateTime") {
|
264 + | builder.target_date_time = ::aws_smithy_types::DateTime::from_str(val, ::aws_smithy_types::date_time::Format::DateTime).ok();
|
265 + | }
|
266 + | builder
|
267 + | .build()
|
268 + | .map_err(|e| aws_smithy_schema::serde::SerdeError::Custom { message: e.to_string() })
|
269 + | }
|
270 + | }
|
229 271 | impl TimestampFormatHeadersInput {
|
230 272 | /// Creates a new builder-style object to manufacture [`TimestampFormatHeadersInput`](crate::operation::timestamp_format_headers::TimestampFormatHeadersInput).
|
231 273 | pub fn builder() -> crate::operation::timestamp_format_headers::builders::TimestampFormatHeadersInputBuilder {
|
232 274 | crate::operation::timestamp_format_headers::builders::TimestampFormatHeadersInputBuilder::default()
|
233 275 | }
|
234 276 | }
|
235 277 |
|
236 278 | /// A builder for [`TimestampFormatHeadersInput`](crate::operation::timestamp_format_headers::TimestampFormatHeadersInput).
|
237 279 | #[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
|
238 280 | #[non_exhaustive]
|