aws_sdk_s3/protocol_serde/
shape_get_object_retention_output.rs
1pub(crate) fn de_retention_payload(
3 body: &[u8],
4) -> std::result::Result<::std::option::Option<crate::types::ObjectLockRetention>, crate::operation::get_object_retention::GetObjectRetentionError> {
5 (!body.is_empty())
6 .then(|| {
7 crate::protocol_serde::shape_get_object_retention_output::de_retention(body)
8 .map_err(crate::operation::get_object_retention::GetObjectRetentionError::unhandled)
9 })
10 .transpose()
11}
12
13pub fn de_retention(inp: &[u8]) -> std::result::Result<crate::types::ObjectLockRetention, ::aws_smithy_xml::decode::XmlDecodeError> {
14 let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
15 #[allow(unused_mut)]
16 let mut decoder = doc.root_element()?;
17 let start_el = decoder.start_el();
18 if !(start_el.matches("Retention")) {
19 return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
20 "invalid root, expected Retention got {:?}",
21 start_el
22 )));
23 }
24 crate::protocol_serde::shape_object_lock_retention::de_object_lock_retention(&mut decoder)
25}