aws_sdk_codeartifact/protocol_serde/
shape_get_package_version_asset.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[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}