aws_sdk_cloudwatch/protocol_serde/
shape_get_metric_widget_image.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(clippy::unnecessary_wraps)]
3pub fn de_get_metric_widget_image_http_error(
4    _response_status: u16,
5    _response_headers: &::aws_smithy_runtime_api::http::Headers,
6    _response_body: &[u8],
7) -> std::result::Result<
8    crate::operation::get_metric_widget_image::GetMetricWidgetImageOutput,
9    crate::operation::get_metric_widget_image::GetMetricWidgetImageError,
10> {
11    #[allow(unused_mut)]
12    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
13        .map_err(crate::operation::get_metric_widget_image::GetMetricWidgetImageError::unhandled)?;
14    generic_builder = ::aws_types::request_id::apply_request_id(generic_builder, _response_headers);
15    let generic = generic_builder.build();
16    Err(crate::operation::get_metric_widget_image::GetMetricWidgetImageError::generic(generic))
17}
18
19#[allow(clippy::unnecessary_wraps)]
20pub fn de_get_metric_widget_image_http_response(
21    _response_status: u16,
22    _response_headers: &::aws_smithy_runtime_api::http::Headers,
23    _response_body: &[u8],
24) -> std::result::Result<
25    crate::operation::get_metric_widget_image::GetMetricWidgetImageOutput,
26    crate::operation::get_metric_widget_image::GetMetricWidgetImageError,
27> {
28    Ok({
29        #[allow(unused_mut)]
30        let mut output = crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder::default();
31        output = crate::protocol_serde::shape_get_metric_widget_image::de_get_metric_widget_image(_response_body, output)
32            .map_err(crate::operation::get_metric_widget_image::GetMetricWidgetImageError::unhandled)?;
33        output._set_request_id(::aws_types::request_id::RequestId::request_id(_response_headers).map(str::to_string));
34        output.build()
35    })
36}
37
38#[allow(unused_mut)]
39pub fn de_get_metric_widget_image(
40    inp: &[u8],
41    mut builder: crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
42) -> std::result::Result<
43    crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
44    ::aws_smithy_xml::decode::XmlDecodeError,
45> {
46    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
47
48    #[allow(unused_mut)]
49    let mut decoder = doc.root_element()?;
50    #[allow(unused_variables)]
51    let start_el = decoder.start_el();
52    if !(start_el.matches("GetMetricWidgetImageResponse")) {
53        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
54            "invalid root, expected GetMetricWidgetImageResponse got {start_el:?}"
55        )));
56    }
57    if let Some(mut result_tag) = decoder.next_tag() {
58        let start_el = result_tag.start_el();
59        if !(start_el.matches("GetMetricWidgetImageResult")) {
60            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
61                "invalid result, expected GetMetricWidgetImageResult got {start_el:?}"
62            )));
63        }
64        while let Some(mut tag) = result_tag.next_tag() {
65            match tag.start_el() {
66            s if s.matches("MetricWidgetImage") /* MetricWidgetImage com.amazonaws.cloudwatch.synthetic#GetMetricWidgetImageOutput$MetricWidgetImage */ =>  {
67                let var_1 =
68                    Some(
69                        ::aws_smithy_types::base64::decode(
70                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
71                        )
72                        .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {err:?}"))).map(::aws_smithy_types::Blob::new)
73                        ?
74                    )
75                ;
76                builder = builder.set_metric_widget_image(var_1);
77            }
78            ,
79            _ => {}
80        }
81        }
82    } else {
83        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
84            "expected GetMetricWidgetImageResult tag",
85        ));
86    };
87    Ok(builder)
88}