From 5a54190ff21f44a0b6ba7702a8bd802042b18b1c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 9 Aug 2021 01:45:13 +0100 Subject: [PATCH] server: get token Signed-off-by: Ian Jackson --- src/bin/server.rs | 4 +++- src/multipart.rs | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/bin/server.rs b/src/bin/server.rs index 42e3785..1878512 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -90,7 +90,9 @@ async fn handle( let mut meta = MetadataFieldIterator::new(comp.payload_start); - let client: ClientName = meta.need().context("client addr")?; + let client: ClientName = meta.need_parse().context("client addr")?; + let token: &str = meta.need_next().context("token")?; + // let client = all_clients.get(&client).ok_or_else(|| anyhow!(BAD_CLIENT))?; eprintln!("boundary={:?} start={} name={:?} client={}", diff --git a/src/multipart.rs b/src/multipart.rs index 0eaabda..1c0be40 100644 --- a/src/multipart.rs +++ b/src/multipart.rs @@ -88,7 +88,13 @@ impl<'b> MetadataFieldIterator<'b> { } } #[throws(AE)] - pub fn need(&mut self) -> T + pub fn need_next(&mut self) -> &'b str + { + self.next().ok_or_else(|| anyhow!("missing"))?? + } + + #[throws(AE)] + pub fn need_parse(&mut self) -> T where T: FromStr, AE: From, { -- 2.30.2