diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2015-10-12 11:18:09 -0700 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2015-10-13 16:37:12 -0700 |
commit | 10664cf3f4e98d501ce918e32132226927b4f27f (patch) | |
tree | b3c6317a77b4a89111784b3a7c654629a0c881af /components/net/data_loader.rs | |
parent | bc58cd2de05b371f641051eb1038cd29e36bbb01 (diff) | |
download | servo-10664cf3f4e98d501ce918e32132226927b4f27f.tar.gz servo-10664cf3f4e98d501ce918e32132226927b4f27f.zip |
Refactor resource loaders to use send_error utility.
No substantial functional change.
Diffstat (limited to 'components/net/data_loader.rs')
-rw-r--r-- | components/net/data_loader.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/components/net/data_loader.rs b/components/net/data_loader.rs index 2b90af74bd0..f9276d8f0a2 100644 --- a/components/net/data_loader.rs +++ b/components/net/data_loader.rs @@ -6,7 +6,7 @@ use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value}; use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::{Done, Payload}; use net_traits::{LoadConsumer, LoadData, Metadata}; -use resource_task::start_sending; +use resource_task::{send_error, start_sending}; use rustc_serialize::base64::FromBase64; use std::sync::Arc; use url::SchemeData; @@ -24,11 +24,9 @@ pub fn load(load_data: LoadData, start_chan: LoadConsumer) { let url = load_data.url; assert!(&*url.scheme == "data"); - let mut metadata = Metadata::default(url.clone()); - // Split out content type and data. let mut scheme_data = match url.scheme_data { - SchemeData::NonRelative(scheme_data) => scheme_data, + SchemeData::NonRelative(ref scheme_data) => scheme_data.clone(), _ => panic!("Expected a non-relative scheme URL.") }; match url.query { @@ -40,8 +38,7 @@ pub fn load(load_data: LoadData, start_chan: LoadConsumer) { } let parts: Vec<&str> = scheme_data.splitn(2, ',').collect(); if parts.len() != 2 { - start_sending(start_chan, - metadata).send(Done(Err("invalid data uri".to_owned()))).unwrap(); + send_error(url, "invalid data uri".to_owned(), start_chan); return; } @@ -65,6 +62,7 @@ pub fn load(load_data: LoadData, start_chan: LoadConsumer) { content_type = Some(Mime(TopLevel::Text, SubLevel::Plain, vec!((Attr::Charset, Value::Ext("US-ASCII".to_owned()))))); } + let mut metadata = Metadata::default(url); metadata.set_content_type(content_type.as_ref()); let progress_chan = start_sending(start_chan, metadata); |