aws_sdk_codeartifact/protocol_serde/
shape_get_package_version_asset.rs1#[allow(clippy::unnecessary_wraps)]
3pub fn de_get_package_version_asset_http_response(
4 response: &mut ::aws_smithy_runtime_api::http::Response,
5) -> std::result::Result<
6 crate::operation::get_package_version_asset::GetPackageVersionAssetOutput,
7 crate::operation::get_package_version_asset::GetPackageVersionAssetError,
8> {
9 let mut _response_body = ::aws_smithy_types::body::SdkBody::taken();
10 std::mem::swap(&mut _response_body, response.body_mut());
11 let _response_body = &mut _response_body;
12
13 let _response_status = response.status().as_u16();
14 let _response_headers = response.headers();
15 Ok({
16 #[allow(unused_mut)]
17 let mut output = crate::operation::get_package_version_asset::builders::GetPackageVersionAssetOutputBuilder::default();
18 output = output.set_asset(Some(crate::protocol_serde::shape_get_package_version_asset_output::de_asset_payload(
19 _response_body,
20 )?));
21 output = output.set_asset_name(
22 crate::protocol_serde::shape_get_package_version_asset_output::de_asset_name_header(_response_headers).map_err(|_| {
23 crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled(
24 "Failed to parse assetName from header `X-AssetName",
25 )
26 })?,
27 );
28 output = output.set_package_version(
29 crate::protocol_serde::shape_get_package_version_asset_output::de_package_version_header(_response_headers).map_err(|_| {
30 crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled(
31 "Failed to parse packageVersion from header `X-PackageVersion",
32 )
33 })?,
34 );
35 output = output.set_package_version_revision(
36 crate::protocol_serde::shape_get_package_version_asset_output::de_package_version_revision_header(_response_headers).map_err(|_| {
37 crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled(
38 "Failed to parse packageVersionRevision from header `X-PackageVersionRevision",
39 )
40 })?,
41 );
42 output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
43 output.build()
44 })
45}
46
47#[allow(clippy::unnecessary_wraps)]
48pub fn de_get_package_version_asset_http_error(
49 _response_status: u16,
50 _response_headers: &::aws_smithy_runtime_api::http::Headers,
51 _response_body: &[u8],
52) -> std::result::Result<
53 crate::operation::get_package_version_asset::GetPackageVersionAssetOutput,
54 crate::operation::get_package_version_asset::GetPackageVersionAssetError,
55> {
56 #[allow(unused_mut)]
57 let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
58 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
59 generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
60 let generic = generic_builder.build();
61 let error_code = match generic.code() {
62 Some(code) => code,
63 None => {
64 return Err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled(
65 generic,
66 ))
67 }
68 };
69
70 let _error_message = generic.message().map(|msg| msg.to_owned());
71 Err(match error_code {
72 "AccessDeniedException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::AccessDeniedException({
73 #[allow(unused_mut)]
74 let mut tmp = {
75 #[allow(unused_mut)]
76 let mut output = crate::types::error::builders::AccessDeniedExceptionBuilder::default();
77 output = crate::protocol_serde::shape_access_denied_exception::de_access_denied_exception_json_err(_response_body, output)
78 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
79 let output = output.meta(generic);
80 crate::serde_util::access_denied_exception_correct_errors(output)
81 .build()
82 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
83 };
84 tmp
85 }),
86 "ConflictException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::ConflictException({
87 #[allow(unused_mut)]
88 let mut tmp = {
89 #[allow(unused_mut)]
90 let mut output = crate::types::error::builders::ConflictExceptionBuilder::default();
91 output = crate::protocol_serde::shape_conflict_exception::de_conflict_exception_json_err(_response_body, output)
92 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
93 let output = output.meta(generic);
94 crate::serde_util::conflict_exception_correct_errors(output)
95 .build()
96 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
97 };
98 tmp
99 }),
100 "InternalServerException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::InternalServerException({
101 #[allow(unused_mut)]
102 let mut tmp = {
103 #[allow(unused_mut)]
104 let mut output = crate::types::error::builders::InternalServerExceptionBuilder::default();
105 output = crate::protocol_serde::shape_internal_server_exception::de_internal_server_exception_json_err(_response_body, output)
106 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
107 let output = output.meta(generic);
108 crate::serde_util::internal_server_exception_correct_errors(output)
109 .build()
110 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
111 };
112 tmp
113 }),
114 "ResourceNotFoundException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::ResourceNotFoundException({
115 #[allow(unused_mut)]
116 let mut tmp = {
117 #[allow(unused_mut)]
118 let mut output = crate::types::error::builders::ResourceNotFoundExceptionBuilder::default();
119 output = crate::protocol_serde::shape_resource_not_found_exception::de_resource_not_found_exception_json_err(_response_body, output)
120 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
121 let output = output.meta(generic);
122 crate::serde_util::resource_not_found_exception_correct_errors(output)
123 .build()
124 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
125 };
126 tmp
127 }),
128 "ThrottlingException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::ThrottlingException({
129 #[allow(unused_mut)]
130 let mut tmp = {
131 #[allow(unused_mut)]
132 let mut output = crate::types::error::builders::ThrottlingExceptionBuilder::default();
133 output = crate::protocol_serde::shape_throttling_exception::de_throttling_exception_json_err(_response_body, output)
134 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
135 output = output.set_retry_after_seconds(
136 crate::protocol_serde::shape_throttling_exception::de_retry_after_seconds_header(_response_headers).map_err(|_| {
137 crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled(
138 "Failed to parse retryAfterSeconds from header `Retry-After",
139 )
140 })?,
141 );
142 let output = output.meta(generic);
143 crate::serde_util::throttling_exception_correct_errors(output)
144 .build()
145 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
146 };
147 tmp
148 }),
149 "ValidationException" => crate::operation::get_package_version_asset::GetPackageVersionAssetError::ValidationException({
150 #[allow(unused_mut)]
151 let mut tmp = {
152 #[allow(unused_mut)]
153 let mut output = crate::types::error::builders::ValidationExceptionBuilder::default();
154 output = crate::protocol_serde::shape_validation_exception::de_validation_exception_json_err(_response_body, output)
155 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?;
156 let output = output.meta(generic);
157 crate::serde_util::validation_exception_correct_errors(output)
158 .build()
159 .map_err(crate::operation::get_package_version_asset::GetPackageVersionAssetError::unhandled)?
160 };
161 tmp
162 }),
163 _ => crate::operation::get_package_version_asset::GetPackageVersionAssetError::generic(generic),
164 })
165}