From: Ian Jackson Date: Sun, 8 Aug 2021 19:51:56 +0000 (+0100) Subject: server: MetadataFieldIterator::need X-Git-Tag: hippotat/1.0.0~193 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=c738d59a98e2e5c91cc9ac15f131eae55bb3a717;hp=1d58bbbb4bb699cac2cf1ca0145df84843362ce8;p=hippotat.git server: MetadataFieldIterator::need Signed-off-by: Ian Jackson --- diff --git a/src/multipart.rs b/src/multipart.rs index 4ebff64..5099f05 100644 --- a/src/multipart.rs +++ b/src/multipart.rs @@ -87,6 +87,14 @@ impl<'b> MetadataFieldIterator<'b> { iter: memchr::Memchr::new(b'\n', buf), } } + #[throws(AE)] + pub fn need(&mut self) -> T + where T: FromStr, + T::Err: std::error::Error + Sync + Send + 'static, + { + self.parse()?.ok_or_else(|| anyhow!("missing"))? + } + #[throws(AE)] pub fn parse(&mut self) -> Option where T: FromStr,