diff --git a/src/header.rs b/src/header.rs index aed6e39..88a500f 100644 --- a/src/header.rs +++ b/src/header.rs @@ -11,7 +11,7 @@ pub const EXPIRE: &str = "expire"; /// Parses the expiry date from the [`custom HTTP header`](EXPIRE). pub fn parse_expiry_date(headers: &HeaderMap) -> Result, ActixError> { - if let Some(expire_time) = headers.get(EXPIRE).map(|v| v.to_str().ok()).flatten() { + if let Some(expire_time) = headers.get(EXPIRE).and_then(|v| v.to_str().ok()) { let timestamp = util::get_system_time()?; let expire_time = humantime::parse_duration(expire_time).map_err(error::ErrorInternalServerError)?; @@ -57,8 +57,7 @@ impl ContentDisposition { .parameters .iter() .find(|param| param.is_filename()) - .map(|param| param.as_filename()) - .flatten() + .and_then(|param| param.as_filename()) .filter(|file_name| !file_name.is_empty()) .ok_or_else(|| error::ErrorBadRequest("file data not present")) } diff --git a/src/mime.rs b/src/mime.rs index f712dc9..04eccc0 100644 --- a/src/mime.rs +++ b/src/mime.rs @@ -25,8 +25,7 @@ pub fn get_mime_type( let path = PathBuf::from(&file_name); let mut mime_type = file_extension_to_mime( path.extension() - .map(|v| v.to_str()) - .flatten() + .and_then(|v| v.to_str()) .unwrap_or_default(), ); for matcher in mime_matchers { diff --git a/src/paste.rs b/src/paste.rs index 3fa6a4e..6e62179 100644 --- a/src/paste.rs +++ b/src/paste.rs @@ -104,8 +104,7 @@ impl Paste { } let file_name = match PathBuf::from(file_name) .file_name() - .map(|v| v.to_str()) - .flatten() + .and_then(|v| v.to_str()) { Some("-") => String::from("stdin"), Some(v) => v.to_string(), diff --git a/src/util.rs b/src/util.rs index 12cedee..bb4d1f1 100644 --- a/src/util.rs +++ b/src/util.rs @@ -39,10 +39,8 @@ pub fn glob_match_file(mut path: PathBuf) -> Result { let glob_path = glob_path.map_err(error::ErrorInternalServerError)?; if let Some(extension) = glob_path .extension() - .map(|v| v.to_str()) - .flatten() - .map(|v| v.parse().ok()) - .flatten() + .and_then(|v| v.to_str()) + .and_then(|v| v.parse().ok()) { if get_system_time()? < Duration::from_millis(extension) { path = glob_path;