pub(crate) fn de_cache_policy_payload(
body: &[u8],
) -> std::result::Result<::std::option::Option<crate::types::CachePolicy>, crate::operation::create_cache_policy::CreateCachePolicyError> {
(!body.is_empty())
.then(|| {
crate::protocol_serde::shape_create_cache_policy_output::de_cache_policy(body)
.map_err(crate::operation::create_cache_policy::CreateCachePolicyError::unhandled)
})
.transpose()
}
pub(crate) fn de_e_tag_header(
header_map: &::aws_smithy_runtime_api::http::Headers,
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
let headers = header_map.get_all("ETag");
::aws_smithy_http::header::one_or_none(headers)
}
pub(crate) fn de_location_header(
header_map: &::aws_smithy_runtime_api::http::Headers,
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
let headers = header_map.get_all("Location");
::aws_smithy_http::header::one_or_none(headers)
}
pub fn de_cache_policy(inp: &[u8]) -> std::result::Result<crate::types::CachePolicy, ::aws_smithy_xml::decode::XmlDecodeError> {
let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
#[allow(unused_mut)]
let mut decoder = doc.root_element()?;
let start_el = decoder.start_el();
if !(start_el.matches("CachePolicy")) {
return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
"invalid root, expected CachePolicy got {start_el:?}"
)));
}
crate::protocol_serde::shape_cache_policy::de_cache_policy(&mut decoder)
}