chiark / gitweb /
server: get token
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 9 Aug 2021 00:45:13 +0000 (01:45 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 9 Aug 2021 00:45:13 +0000 (01:45 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/bin/server.rs
src/multipart.rs

index 42e3785024f00a39d3892a3cb70d90706c847fd3..18785122831681b708ddc082b599d6d978645351 100644 (file)
@@ -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={}",
index 0eaabdad1dbdf37b79f1080008c17c52d7f16040..1c0be403351b4d91fe691afc6d7d39e10b79d8fe 100644 (file)
@@ -88,7 +88,13 @@ impl<'b> MetadataFieldIterator<'b> {
   } }
 
   #[throws(AE)]
-  pub fn need<T>(&mut self) -> T
+  pub fn need_next(&mut self) -> &'b str
+  {
+    self.next().ok_or_else(|| anyhow!("missing"))??
+  }
+
+  #[throws(AE)]
+  pub fn need_parse<T>(&mut self) -> T
   where T: FromStr,
         AE: From<T::Err>,
   {