SHARE
TWEET

Untitled

a guest Oct 24th, 2019 73 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. multipart
  2.         .fold((last_file_id, Vec::new()), |(mut last_file_id, fields), field| {
  3.             let cd = match field.content_disposition() {
  4.                 Some(v) => v,
  5.                 None    => return err(MultipartError::NoContentType)
  6.             };
  7.  
  8.             // get field name
  9.             let field_name = match cd.get_name() {
  10.                 Some(v) => v,
  11.                 None    => return err(MultipartError::ParseContentType)
  12.             };
  13.  
  14.             match cd.get_filename() {
  15.                 Some(real_filename) => {
  16.                     /* if field is file */
  17.                     match get_ext(real_filename) {
  18.                         Some(ext) => {
  19.                             last_file_id += 1;
  20.                             let path = format!("static/{}.{}", "last_file_id", ext);
  21.                             fields.push(save_file(path, field).into_stream());
  22.  
  23.                             ok((last_file_id, fields))
  24.                         },
  25.  
  26.                         None => return err(MultipartError::ParseContentType)
  27.                     }
  28.                 },
  29.  
  30.                 None => {
  31.                     /* if field is value */
  32.                     err(MultipartError::ParseContentType)
  33.                 }
  34.             }
  35.         })
  36.         .map(|(last_file_id, fields)| fields) // error here
  37.         .flatten() // the hell is here
  38.         .collect()
  39.         .map_err(|e| {
  40.             Error::from(e)
  41.         })
  42.         .map(|vals| {
  43.             println!("{:?}", vals);
  44.  
  45.             serde_json::from_value::<T>(json!({})).unwrap()
  46.         })
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top