aws_sdk_s3/protocol_serde/
shape_routing_rule.rs
1#[allow(clippy::needless_question_mark)]
3pub fn de_routing_rule(
4 decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
5) -> ::std::result::Result<crate::types::RoutingRule, ::aws_smithy_xml::decode::XmlDecodeError> {
6 #[allow(unused_mut)]
7 let mut builder = crate::types::RoutingRule::builder();
8 while let Some(mut tag) = decoder.next_tag() {
9 match tag.start_el() {
10 s if s.matches("Condition") => {
11 let var_1 =
12 Some(
13 crate::protocol_serde::shape_condition::de_condition(&mut tag)
14 ?
15 )
16 ;
17 builder = builder.set_condition(var_1);
18 }
19 ,
20 s if s.matches("Redirect") => {
21 let var_2 =
22 Some(
23 crate::protocol_serde::shape_redirect::de_redirect(&mut tag)
24 ?
25 )
26 ;
27 builder = builder.set_redirect(var_2);
28 }
29 ,
30 _ => {}
31 }
32 }
33 Ok(crate::serde_util::routing_rule_correct_errors(builder).build())
34}
35
36pub fn ser_routing_rule(
37 input: &crate::types::RoutingRule,
38 writer: ::aws_smithy_xml::encode::ElWriter,
39) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
40 #[allow(unused_mut)]
41 let mut scope = writer.finish();
42 if let Some(var_3) = &input.condition {
43 let inner_writer = scope.start_el("Condition");
44 crate::protocol_serde::shape_condition::ser_condition(var_3, inner_writer)?
45 }
46 if let Some(var_4) = &input.redirect {
47 let inner_writer = scope.start_el("Redirect");
48 crate::protocol_serde::shape_redirect::ser_redirect(var_4, inner_writer)?
49 }
50 scope.finish();
51 Ok(())
52}