107 107 | output.build()
|
108 108 | })
|
109 109 | }
|
110 110 |
|
111 111 | pub fn ser_put_object_headers(
|
112 112 | input: &crate::operation::put_object::PutObjectInput,
|
113 113 | mut builder: ::http::request::Builder,
|
114 114 | ) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
|
115 115 | if let ::std::option::Option::Some(inner_1) = &input.acl {
|
116 116 | let formatted_2 = inner_1.as_str();
|
117 + | if !formatted_2.is_empty() {
|
117 118 | let header_value = formatted_2;
|
118 119 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
119 120 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
120 121 | "acl",
|
121 122 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
122 123 | )
|
123 124 | })?;
|
124 125 | builder = builder.header("x-amz-acl", header_value);
|
125 126 | }
|
127 + | }
|
126 128 | if let ::std::option::Option::Some(inner_3) = &input.cache_control {
|
127 129 | let formatted_4 = inner_3.as_str();
|
130 + | if !formatted_4.is_empty() {
|
128 131 | let header_value = formatted_4;
|
129 132 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
130 133 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
131 134 | "cache_control",
|
132 135 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
133 136 | )
|
134 137 | })?;
|
135 138 | builder = builder.header("Cache-Control", header_value);
|
136 139 | }
|
140 + | }
|
137 141 | if let ::std::option::Option::Some(inner_5) = &input.content_disposition {
|
138 142 | let formatted_6 = inner_5.as_str();
|
143 + | if !formatted_6.is_empty() {
|
139 144 | let header_value = formatted_6;
|
140 145 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
141 146 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
142 147 | "content_disposition",
|
143 148 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
144 149 | )
|
145 150 | })?;
|
146 151 | builder = builder.header("Content-Disposition", header_value);
|
147 152 | }
|
153 + | }
|
148 154 | if let ::std::option::Option::Some(inner_7) = &input.content_encoding {
|
149 155 | let formatted_8 = inner_7.as_str();
|
156 + | if !formatted_8.is_empty() {
|
150 157 | let header_value = formatted_8;
|
151 158 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
152 159 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
153 160 | "content_encoding",
|
154 161 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
155 162 | )
|
156 163 | })?;
|
157 164 | builder = builder.header("Content-Encoding", header_value);
|
158 165 | }
|
166 + | }
|
159 167 | if let ::std::option::Option::Some(inner_9) = &input.content_language {
|
160 168 | let formatted_10 = inner_9.as_str();
|
169 + | if !formatted_10.is_empty() {
|
161 170 | let header_value = formatted_10;
|
162 171 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
163 172 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
164 173 | "content_language",
|
165 174 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
166 175 | )
|
167 176 | })?;
|
168 177 | builder = builder.header("Content-Language", header_value);
|
169 178 | }
|
179 + | }
|
170 180 | if let ::std::option::Option::Some(inner_11) = &input.content_length {
|
171 181 | let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_11);
|
172 182 | let formatted_12 = encoder.encode();
|
183 + | if !formatted_12.is_empty() {
|
173 184 | let header_value = formatted_12;
|
174 185 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
175 186 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
176 187 | "content_length",
|
177 188 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
178 189 | )
|
179 190 | })?;
|
180 191 | builder = builder.header("Content-Length", header_value);
|
181 192 | }
|
193 + | }
|
182 194 | if let ::std::option::Option::Some(inner_13) = &input.content_md5 {
|
183 195 | let formatted_14 = inner_13.as_str();
|
196 + | if !formatted_14.is_empty() {
|
184 197 | let header_value = formatted_14;
|
185 198 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
186 199 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
187 200 | "content_md5",
|
188 201 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
189 202 | )
|
190 203 | })?;
|
191 204 | builder = builder.header("Content-MD5", header_value);
|
192 205 | }
|
206 + | }
|
193 207 | if let ::std::option::Option::Some(inner_15) = &input.content_type {
|
194 208 | let formatted_16 = inner_15.as_str();
|
209 + | if !formatted_16.is_empty() {
|
195 210 | let header_value = formatted_16;
|
196 211 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
197 212 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
198 213 | "content_type",
|
199 214 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
200 215 | )
|
201 216 | })?;
|
202 217 | builder = builder.header("Content-Type", header_value);
|
203 218 | }
|
219 + | }
|
204 220 | if let ::std::option::Option::Some(inner_17) = &input.checksum_algorithm {
|
205 221 | let formatted_18 = inner_17.as_str();
|
222 + | if !formatted_18.is_empty() {
|
206 223 | let header_value = formatted_18;
|
207 224 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
208 225 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
209 226 | "checksum_algorithm",
|
210 227 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
211 228 | )
|
212 229 | })?;
|
213 230 | builder = builder.header("x-amz-sdk-checksum-algorithm", header_value);
|
214 231 | }
|
232 + | }
|
215 233 | if let ::std::option::Option::Some(inner_19) = &input.checksum_crc32 {
|
216 234 | let formatted_20 = inner_19.as_str();
|
235 + | if !formatted_20.is_empty() {
|
217 236 | let header_value = formatted_20;
|
218 237 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
219 238 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
220 239 | "checksum_crc32",
|
221 240 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
222 241 | )
|
223 242 | })?;
|
224 243 | builder = builder.header("x-amz-checksum-crc32", header_value);
|
225 244 | }
|
245 + | }
|
226 246 | if let ::std::option::Option::Some(inner_21) = &input.checksum_crc32_c {
|
227 247 | let formatted_22 = inner_21.as_str();
|
248 + | if !formatted_22.is_empty() {
|
228 249 | let header_value = formatted_22;
|
229 250 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
230 251 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
231 252 | "checksum_crc32_c",
|
232 253 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
233 254 | )
|
234 255 | })?;
|
235 256 | builder = builder.header("x-amz-checksum-crc32c", header_value);
|
236 257 | }
|
258 + | }
|
237 259 | if let ::std::option::Option::Some(inner_23) = &input.checksum_sha1 {
|
238 260 | let formatted_24 = inner_23.as_str();
|
261 + | if !formatted_24.is_empty() {
|
239 262 | let header_value = formatted_24;
|
240 263 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
241 264 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
242 265 | "checksum_sha1",
|
243 266 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
244 267 | )
|
245 268 | })?;
|
246 269 | builder = builder.header("x-amz-checksum-sha1", header_value);
|
247 270 | }
|
271 + | }
|
248 272 | if let ::std::option::Option::Some(inner_25) = &input.checksum_sha256 {
|
249 273 | let formatted_26 = inner_25.as_str();
|
274 + | if !formatted_26.is_empty() {
|
250 275 | let header_value = formatted_26;
|
251 276 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
252 277 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
253 278 | "checksum_sha256",
|
254 279 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
255 280 | )
|
256 281 | })?;
|
257 282 | builder = builder.header("x-amz-checksum-sha256", header_value);
|
258 283 | }
|
284 + | }
|
259 285 | if let ::std::option::Option::Some(inner_27) = &input.expires {
|
260 286 | let formatted_28 = inner_27.fmt(::aws_smithy_types::date_time::Format::HttpDate)?;
|
287 + | if !formatted_28.is_empty() {
|
261 288 | let header_value = formatted_28;
|
262 289 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
263 290 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
264 291 | "expires",
|
265 292 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
266 293 | )
|
267 294 | })?;
|
268 295 | builder = builder.header("Expires", header_value);
|
269 296 | }
|
297 + | }
|
270 298 | if let ::std::option::Option::Some(inner_29) = &input.grant_full_control {
|
271 299 | let formatted_30 = inner_29.as_str();
|
300 + | if !formatted_30.is_empty() {
|
272 301 | let header_value = formatted_30;
|
273 302 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
274 303 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
275 304 | "grant_full_control",
|
276 305 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
277 306 | )
|
278 307 | })?;
|
279 308 | builder = builder.header("x-amz-grant-full-control", header_value);
|
280 309 | }
|
310 + | }
|
281 311 | if let ::std::option::Option::Some(inner_31) = &input.grant_read {
|
282 312 | let formatted_32 = inner_31.as_str();
|
313 + | if !formatted_32.is_empty() {
|
283 314 | let header_value = formatted_32;
|
284 315 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
285 316 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
286 317 | "grant_read",
|
287 318 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
288 319 | )
|
289 320 | })?;
|
290 321 | builder = builder.header("x-amz-grant-read", header_value);
|
291 322 | }
|
323 + | }
|
292 324 | if let ::std::option::Option::Some(inner_33) = &input.grant_read_acp {
|
293 325 | let formatted_34 = inner_33.as_str();
|
326 + | if !formatted_34.is_empty() {
|
294 327 | let header_value = formatted_34;
|
295 328 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
296 329 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
297 330 | "grant_read_acp",
|
298 331 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
299 332 | )
|
300 333 | })?;
|
301 334 | builder = builder.header("x-amz-grant-read-acp", header_value);
|
302 335 | }
|
336 + | }
|
303 337 | if let ::std::option::Option::Some(inner_35) = &input.grant_write_acp {
|
304 338 | let formatted_36 = inner_35.as_str();
|
339 + | if !formatted_36.is_empty() {
|
305 340 | let header_value = formatted_36;
|
306 341 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
307 342 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
308 343 | "grant_write_acp",
|
309 344 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
310 345 | )
|
311 346 | })?;
|
312 347 | builder = builder.header("x-amz-grant-write-acp", header_value);
|
313 348 | }
|
349 + | }
|
314 350 | if let ::std::option::Option::Some(inner_37) = &input.server_side_encryption {
|
315 351 | let formatted_38 = inner_37.as_str();
|
352 + | if !formatted_38.is_empty() {
|
316 353 | let header_value = formatted_38;
|
317 354 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
318 355 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
319 356 | "server_side_encryption",
|
320 357 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
321 358 | )
|
322 359 | })?;
|
323 360 | builder = builder.header("x-amz-server-side-encryption", header_value);
|
324 361 | }
|
362 + | }
|
325 363 | if let ::std::option::Option::Some(inner_39) = &input.storage_class {
|
326 364 | let formatted_40 = inner_39.as_str();
|
365 + | if !formatted_40.is_empty() {
|
327 366 | let header_value = formatted_40;
|
328 367 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
329 368 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
330 369 | "storage_class",
|
331 370 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
332 371 | )
|
333 372 | })?;
|
334 373 | builder = builder.header("x-amz-storage-class", header_value);
|
335 374 | }
|
375 + | }
|
336 376 | if let ::std::option::Option::Some(inner_41) = &input.website_redirect_location {
|
337 377 | let formatted_42 = inner_41.as_str();
|
378 + | if !formatted_42.is_empty() {
|
338 379 | let header_value = formatted_42;
|
339 380 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
340 381 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
341 382 | "website_redirect_location",
|
342 383 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
343 384 | )
|
344 385 | })?;
|
345 386 | builder = builder.header("x-amz-website-redirect-location", header_value);
|
346 387 | }
|
388 + | }
|
347 389 | if let ::std::option::Option::Some(inner_43) = &input.sse_customer_algorithm {
|
348 390 | let formatted_44 = inner_43.as_str();
|
391 + | if !formatted_44.is_empty() {
|
349 392 | let header_value = formatted_44;
|
350 393 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
351 394 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
352 395 | "sse_customer_algorithm",
|
353 396 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
354 397 | )
|
355 398 | })?;
|
356 399 | builder = builder.header("x-amz-server-side-encryption-customer-algorithm", header_value);
|
357 400 | }
|
401 + | }
|
358 402 | if let ::std::option::Option::Some(inner_45) = &input.sse_customer_key {
|
359 403 | let formatted_46 = inner_45.as_str();
|
404 + | if !formatted_46.is_empty() {
|
360 405 | let header_value = formatted_46;
|
361 406 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
362 407 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
363 408 | "sse_customer_key",
|
364 409 | format!("`{}` cannot be used as a header value: {}", &"*** Sensitive Data Redacted ***", err),
|
365 410 | )
|
366 411 | })?;
|
367 412 | builder = builder.header("x-amz-server-side-encryption-customer-key", header_value);
|
368 413 | }
|
414 + | }
|
369 415 | if let ::std::option::Option::Some(inner_47) = &input.sse_customer_key_md5 {
|
370 416 | let formatted_48 = inner_47.as_str();
|
417 + | if !formatted_48.is_empty() {
|
371 418 | let header_value = formatted_48;
|
372 419 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
373 420 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
374 421 | "sse_customer_key_md5",
|
375 422 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
376 423 | )
|
377 424 | })?;
|
378 425 | builder = builder.header("x-amz-server-side-encryption-customer-key-MD5", header_value);
|
379 426 | }
|
427 + | }
|
380 428 | if let ::std::option::Option::Some(inner_49) = &input.ssekms_key_id {
|
381 429 | let formatted_50 = inner_49.as_str();
|
430 + | if !formatted_50.is_empty() {
|
382 431 | let header_value = formatted_50;
|
383 432 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
384 433 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
385 434 | "ssekms_key_id",
|
386 435 | format!("`{}` cannot be used as a header value: {}", &"*** Sensitive Data Redacted ***", err),
|
387 436 | )
|
388 437 | })?;
|
389 438 | builder = builder.header("x-amz-server-side-encryption-aws-kms-key-id", header_value);
|
390 439 | }
|
440 + | }
|
391 441 | if let ::std::option::Option::Some(inner_51) = &input.ssekms_encryption_context {
|
392 442 | let formatted_52 = inner_51.as_str();
|
443 + | if !formatted_52.is_empty() {
|
393 444 | let header_value = formatted_52;
|
394 445 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
395 446 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
396 447 | "ssekms_encryption_context",
|
397 448 | format!("`{}` cannot be used as a header value: {}", &"*** Sensitive Data Redacted ***", err),
|
398 449 | )
|
399 450 | })?;
|
400 451 | builder = builder.header("x-amz-server-side-encryption-context", header_value);
|
401 452 | }
|
453 + | }
|
402 454 | if let ::std::option::Option::Some(inner_53) = &input.bucket_key_enabled {
|
403 455 | let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_53);
|
404 456 | let formatted_54 = encoder.encode();
|
457 + | if !formatted_54.is_empty() {
|
405 458 | let header_value = formatted_54;
|
406 459 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
407 460 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
408 461 | "bucket_key_enabled",
|
409 462 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
410 463 | )
|
411 464 | })?;
|
412 465 | builder = builder.header("x-amz-server-side-encryption-bucket-key-enabled", header_value);
|
413 466 | }
|
467 + | }
|
414 468 | if let ::std::option::Option::Some(inner_55) = &input.request_payer {
|
415 469 | let formatted_56 = inner_55.as_str();
|
470 + | if !formatted_56.is_empty() {
|
416 471 | let header_value = formatted_56;
|
417 472 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
418 473 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
419 474 | "request_payer",
|
420 475 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
421 476 | )
|
422 477 | })?;
|
423 478 | builder = builder.header("x-amz-request-payer", header_value);
|
424 479 | }
|
480 + | }
|
425 481 | if let ::std::option::Option::Some(inner_57) = &input.tagging {
|
426 482 | let formatted_58 = inner_57.as_str();
|
483 + | if !formatted_58.is_empty() {
|
427 484 | let header_value = formatted_58;
|
428 485 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
429 486 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
430 487 | "tagging",
|
431 488 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
432 489 | )
|
433 490 | })?;
|
434 491 | builder = builder.header("x-amz-tagging", header_value);
|
435 492 | }
|
493 + | }
|
436 494 | if let ::std::option::Option::Some(inner_59) = &input.object_lock_mode {
|
437 495 | let formatted_60 = inner_59.as_str();
|
496 + | if !formatted_60.is_empty() {
|
438 497 | let header_value = formatted_60;
|
439 498 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
440 499 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
441 500 | "object_lock_mode",
|
442 501 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
443 502 | )
|
444 503 | })?;
|
445 504 | builder = builder.header("x-amz-object-lock-mode", header_value);
|
446 505 | }
|
506 + | }
|
447 507 | if let ::std::option::Option::Some(inner_61) = &input.object_lock_retain_until_date {
|
448 508 | let formatted_62 = inner_61.fmt(::aws_smithy_types::date_time::Format::DateTime)?;
|
509 + | if !formatted_62.is_empty() {
|
449 510 | let header_value = formatted_62;
|
450 511 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
451 512 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
452 513 | "object_lock_retain_until_date",
|
453 514 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
454 515 | )
|
455 516 | })?;
|
456 517 | builder = builder.header("x-amz-object-lock-retain-until-date", header_value);
|
457 518 | }
|
519 + | }
|
458 520 | if let ::std::option::Option::Some(inner_63) = &input.object_lock_legal_hold_status {
|
459 521 | let formatted_64 = inner_63.as_str();
|
522 + | if !formatted_64.is_empty() {
|
460 523 | let header_value = formatted_64;
|
461 524 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
462 525 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
463 526 | "object_lock_legal_hold_status",
|
464 527 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
465 528 | )
|
466 529 | })?;
|
467 530 | builder = builder.header("x-amz-object-lock-legal-hold", header_value);
|
468 531 | }
|
532 + | }
|
469 533 | if let ::std::option::Option::Some(inner_65) = &input.expected_bucket_owner {
|
470 534 | let formatted_66 = inner_65.as_str();
|
535 + | if !formatted_66.is_empty() {
|
471 536 | let header_value = formatted_66;
|
472 537 | let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
|
473 538 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
474 539 | "expected_bucket_owner",
|
475 540 | format!("`{}` cannot be used as a header value: {}", &header_value, err),
|
476 541 | )
|
477 542 | })?;
|
478 543 | builder = builder.header("x-amz-expected-bucket-owner", header_value);
|
479 544 | }
|
545 + | }
|
480 546 | if let ::std::option::Option::Some(inner_67) = &input.metadata {
|
481 547 | {
|
482 548 | for (k, v) in inner_67 {
|
483 549 | use std::str::FromStr;
|
484 550 | let header_name = http::header::HeaderName::from_str(&format!("{}{}", "x-amz-meta-", &k)).map_err(|err| {
|
485 551 | ::aws_smithy_types::error::operation::BuildError::invalid_field(
|
486 552 | "metadata",
|
487 553 | format!("`{k}` cannot be used as a header name: {err}"),
|
488 554 | )
|
489 555 | })?;
|