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/file_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/file_loader.rs')
-rw-r--r-- | components/net/file_loader.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index 6af036f0f14..f1ffe9c957f 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -5,7 +5,7 @@ use mime_classifier::MIMEClassifier; use net_traits::ProgressMsg::{Done, Payload}; use net_traits::{LoadConsumer, LoadData, Metadata}; -use resource_task::{ProgressSender, start_sending, start_sending_sniffed}; +use resource_task::{ProgressSender, send_error, start_sending, start_sending_sniffed}; use std::borrow::ToOwned; use std::error::Error; use std::fs::File; @@ -47,12 +47,12 @@ pub fn factory(load_data: LoadData, senders: LoadConsumer, classifier: Arc<MIMEC let url = load_data.url; assert!(&*url.scheme == "file"); spawn_named("file_loader".to_owned(), move || { - let metadata = Metadata::default(url.clone()); let file_path: Result<PathBuf, ()> = url.to_file_path(); match file_path { Ok(file_path) => { match File::open(&file_path) { Ok(ref mut reader) => { + let metadata = Metadata::default(url); let res = read_block(reader); let (res, progress_chan) = match res { Ok(ReadStatus::Partial(buf)) => { @@ -67,14 +67,12 @@ pub fn factory(load_data: LoadData, senders: LoadConsumer, classifier: Arc<MIMEC progress_chan.send(Done(res)).unwrap(); } Err(e) => { - let progress_chan = start_sending(senders, metadata); - progress_chan.send(Done(Err(e.description().to_owned()))).unwrap(); + send_error(url, e.description().to_owned(), senders); } } } Err(_) => { - let progress_chan = start_sending(senders, metadata); - progress_chan.send(Done(Err(url.to_string()))).unwrap(); + send_error(url, "Could not parse path".to_owned(), senders); } } }); |