aws_sdk_s3/protocol_serde/
shape_delete_object.rs
1#[allow(clippy::unnecessary_wraps)]
3pub fn de_delete_object_http_error(
4 _response_status: u16,
5 _response_headers: &::aws_smithy_runtime_api::http::Headers,
6 _response_body: &[u8],
7) -> std::result::Result<crate::operation::delete_object::DeleteObjectOutput, crate::operation::delete_object::DeleteObjectError> {
8 #[allow(unused_mut)]
9 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
10 .map_err(crate::operation::delete_object::DeleteObjectError::unhandled)?;
11 generic_builder = crate::s3_request_id::apply_extended_request_id(generic_builder, _response_headers);
12 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
13 let generic = generic_builder.build();
14 Err(crate::operation::delete_object::DeleteObjectError::generic(generic))
15}
16
17#[allow(clippy::unnecessary_wraps)]
18pub fn de_delete_object_http_response(
19 _response_status: u16,
20 _response_headers: &::aws_smithy_runtime_api::http::Headers,
21 _response_body: &[u8],
22) -> std::result::Result<crate::operation::delete_object::DeleteObjectOutput, crate::operation::delete_object::DeleteObjectError> {
23 Ok({
24 #[allow(unused_mut)]
25 let mut output = crate::operation::delete_object::builders::DeleteObjectOutputBuilder::default();
26 output = output.set_delete_marker(
27 crate::protocol_serde::shape_delete_object_output::de_delete_marker_header(_response_headers).map_err(|_| {
28 crate::operation::delete_object::DeleteObjectError::unhandled("Failed to parse DeleteMarker from header `x-amz-delete-marker")
29 })?,
30 );
31 output = output.set_request_charged(
32 crate::protocol_serde::shape_delete_object_output::de_request_charged_header(_response_headers).map_err(|_| {
33 crate::operation::delete_object::DeleteObjectError::unhandled("Failed to parse RequestCharged from header `x-amz-request-charged")
34 })?,
35 );
36 output = output.set_version_id(
37 crate::protocol_serde::shape_delete_object_output::de_version_id_header(_response_headers).map_err(|_| {
38 crate::operation::delete_object::DeleteObjectError::unhandled("Failed to parse VersionId from header `x-amz-version-id")
39 })?,
40 );
41 output._set_extended_request_id(crate::s3_request_id::RequestIdExt::extended_request_id(_response_headers).map(str::to_string));
42 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
43 output.build()
44 })
45}
46
47pub fn ser_delete_object_headers(
48 input: &crate::operation::delete_object::DeleteObjectInput,
49 mut builder: ::http::request::Builder,
50) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
51 if let ::std::option::Option::Some(inner_1) = &input.mfa {
52 let formatted_2 = inner_1.as_str();
53 let header_value = formatted_2;
54 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
55 ::aws_smithy_types::error::operation::BuildError::invalid_field(
56 "mfa",
57 format!("`{}` cannot be used as a header value: {}", &header_value, err),
58 )
59 })?;
60 builder = builder.header("x-amz-mfa", header_value);
61 }
62 if let ::std::option::Option::Some(inner_3) = &input.request_payer {
63 let formatted_4 = inner_3.as_str();
64 let header_value = formatted_4;
65 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
66 ::aws_smithy_types::error::operation::BuildError::invalid_field(
67 "request_payer",
68 format!("`{}` cannot be used as a header value: {}", &header_value, err),
69 )
70 })?;
71 builder = builder.header("x-amz-request-payer", header_value);
72 }
73 if let ::std::option::Option::Some(inner_5) = &input.bypass_governance_retention {
74 let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_5);
75 let formatted_6 = encoder.encode();
76 let header_value = formatted_6;
77 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
78 ::aws_smithy_types::error::operation::BuildError::invalid_field(
79 "bypass_governance_retention",
80 format!("`{}` cannot be used as a header value: {}", &header_value, err),
81 )
82 })?;
83 builder = builder.header("x-amz-bypass-governance-retention", header_value);
84 }
85 if let ::std::option::Option::Some(inner_7) = &input.expected_bucket_owner {
86 let formatted_8 = inner_7.as_str();
87 let header_value = formatted_8;
88 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
89 ::aws_smithy_types::error::operation::BuildError::invalid_field(
90 "expected_bucket_owner",
91 format!("`{}` cannot be used as a header value: {}", &header_value, err),
92 )
93 })?;
94 builder = builder.header("x-amz-expected-bucket-owner", header_value);
95 }
96 if let ::std::option::Option::Some(inner_9) = &input.if_match {
97 let formatted_10 = inner_9.as_str();
98 let header_value = formatted_10;
99 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
100 ::aws_smithy_types::error::operation::BuildError::invalid_field(
101 "if_match",
102 format!("`{}` cannot be used as a header value: {}", &header_value, err),
103 )
104 })?;
105 builder = builder.header("If-Match", header_value);
106 }
107 if let ::std::option::Option::Some(inner_11) = &input.if_match_last_modified_time {
108 let formatted_12 = inner_11.fmt(::aws_smithy_types::date_time::Format::HttpDate)?;
109 let header_value = formatted_12;
110 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
111 ::aws_smithy_types::error::operation::BuildError::invalid_field(
112 "if_match_last_modified_time",
113 format!("`{}` cannot be used as a header value: {}", &header_value, err),
114 )
115 })?;
116 builder = builder.header("x-amz-if-match-last-modified-time", header_value);
117 }
118 if let ::std::option::Option::Some(inner_13) = &input.if_match_size {
119 let mut encoder = ::aws_smithy_types::primitive::Encoder::from(*inner_13);
120 let formatted_14 = encoder.encode();
121 let header_value = formatted_14;
122 let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
123 ::aws_smithy_types::error::operation::BuildError::invalid_field(
124 "if_match_size",
125 format!("`{}` cannot be used as a header value: {}", &header_value, err),
126 )
127 })?;
128 builder = builder.header("x-amz-if-match-size", header_value);
129 }
130 Ok(builder)
131}