chiark
/
gitweb
/
~ian
/
hippotat.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c52df15
)
server: MetadataFieldIterator::parse
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 8 Aug 2021 19:49:42 +0000
(20:49 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 8 Aug 2021 19:49:42 +0000
(20:49 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/multipart.rs
patch
|
blob
|
history
diff --git
a/src/multipart.rs
b/src/multipart.rs
index 112712bb8d5f4ad79d78f5e66473039b4357f46f..3f918b77c5aa76c80f162619553a32902dfaf81f 100644
(file)
--- a/
src/multipart.rs
+++ b/
src/multipart.rs
@@
-86,6
+86,15
@@
impl<'b> MetadataFieldIterator<'b> {
last: Some(0),
iter: memchr::Memchr::new(b'\n', buf),
} }
+
+ #[throws(AE)]
+ pub fn parse<T>(&mut self) -> Option<T>
+ where T: FromStr,
+ T::Err: std::error::Error + Sync + Send + 'static,
+ {
+ let s = if let Some(r) = self.next() { r? } else { return None };
+ Some(s.parse()?)
+ }
}
impl<'b> Iterator for MetadataFieldIterator<'b> {