aws_sdk_cloudwatch/protocol_serde/
shape_get_metric_widget_image.rs1#[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
38pub fn ser_get_metric_widget_image_input(
39 input: &crate::operation::get_metric_widget_image::GetMetricWidgetImageInput,
40) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
41 let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
42 {
43 let encoder = &mut encoder;
44 crate::protocol_serde::shape_get_metric_widget_image_input::ser_get_metric_widget_image_input_input(encoder, input)?;
45 }
46 Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
47}
48
49pub(crate) fn de_get_metric_widget_image(
50 value: &[u8],
51 mut builder: crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
52) -> ::std::result::Result<
53 crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
54 ::aws_smithy_cbor::decode::DeserializeError,
55> {
56 #[allow(clippy::match_single_binding)]
57 fn pair(
58 mut builder: crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
59 decoder: &mut ::aws_smithy_cbor::Decoder,
60 ) -> ::std::result::Result<
61 crate::operation::get_metric_widget_image::builders::GetMetricWidgetImageOutputBuilder,
62 ::aws_smithy_cbor::decode::DeserializeError,
63 > {
64 builder = match decoder.str()?.as_ref() {
65 "MetricWidgetImage" => ::aws_smithy_cbor::decode::set_optional(builder, decoder, |builder, decoder| {
66 Ok(builder.set_metric_widget_image(Some(decoder.blob()?)))
67 })?,
68 _ => {
69 decoder.skip()?;
70 builder
71 }
72 };
73 Ok(builder)
74 }
75
76 let decoder = &mut ::aws_smithy_cbor::Decoder::new(value);
77
78 match decoder.map()? {
79 None => loop {
80 match decoder.datatype()? {
81 ::aws_smithy_cbor::data::Type::Break => {
82 decoder.skip()?;
83 break;
84 }
85 _ => {
86 builder = pair(builder, decoder)?;
87 }
88 };
89 },
90 Some(n) => {
91 for _ in 0..n {
92 builder = pair(builder, decoder)?;
93 }
94 }
95 };
96
97 if decoder.position() != value.len() {
98 return Err(::aws_smithy_cbor::decode::DeserializeError::expected_end_of_stream(decoder.position()));
99 }
100
101 Ok(builder)
102}