From ce4b8a0af70f580d7847298c3ddfef9cbc69e491 Mon Sep 17 00:00:00 2001 From: Bogdan Cuza Date: Mon, 13 Apr 2015 22:32:16 +0300 Subject: [PATCH] Reduce duplication --- components/net/resource_task.rs | 35 ++++++++------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/components/net/resource_task.rs b/components/net/resource_task.rs index a1ae7991100..9952190c23b 100644 --- a/components/net/resource_task.rs +++ b/components/net/resource_task.rs @@ -79,33 +79,14 @@ pub fn start_sending_sniffed_opt(start_chan: Sender, mut metadata: let nosniff = false; let check_for_apache_bug = false; - metadata.content_type = match metadata.content_type { - Some(ContentType(Mime(toplevel, sublevel, _))) => { - let content_type = classifier.classify(nosniff, check_for_apache_bug, - &Some((format!("{}", toplevel), format!("{}", sublevel))), &partial_body); - match content_type { - Some((tp, sb)) => { - let mime_tp: TopLevel = FromStr::from_str(&tp).unwrap(); - let mime_sb: SubLevel = FromStr::from_str(&sb).unwrap(); - Some(ContentType(Mime(mime_tp, mime_sb, vec!()))) - } - None => None - } - } - None => { - let content_type = classifier.classify(nosniff, check_for_apache_bug, - &None, &partial_body); - - match content_type { - Some((tp, sb)) => { - let mime_tp: TopLevel = FromStr::from_str(&tp).unwrap(); - let mime_sb: SubLevel = FromStr::from_str(&sb).unwrap(); - Some(ContentType(Mime(mime_tp, mime_sb, vec!()))) - } - None => None - } - } - } + let supplied_type = metadata.content_type.map(|ContentType(Mime(toplevel, sublevel, _))| { + (format!("{}", toplevel), format!("{}", sublevel)) + }); + metadata.content_type = classifier.classify(nosniff, check_for_apache_bug, &supplied_type, &partial_body).map(|(toplevel, sublevel)| { + let mime_tp: TopLevel = FromStr::from_str(&toplevel).unwrap(); + let mime_sb: SubLevel = FromStr::from_str(&sublevel).unwrap(); + ContentType(Mime(mime_tp, mime_sb, vec!())) + }); }