else { throw!(anyhow!("initial boundary not found")) };
let comp = multipart::process_component
- (&mut warnings, &initial[start..], PartName::m)?;
+ (&mut warnings, &initial[start..], PartName::m)?
+ .ok_or_else(|| anyhow!(r#"no "m" component"#))?;
+
+ if comp.name != PartName::m { throw!(anyhow!(
+ r#"first multipart component must be name="m""#
+ )) }
eprintln!("boundary={:?} initial={:?} start={} comp={:?}",
boundary, initial, start, &comp);
}
#[derive(Debug)]
+#[derive(Eq,PartialEq,Ord,PartialOrd,Hash)]
#[allow(non_camel_case_types)]
pub enum PartName { m, d, Other }