diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-26 22:47:03 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-11-26 22:47:03 +0530 |
commit | 831979d6a7e6fc615434a6585710b2becb7dbf42 (patch) | |
tree | 179677058d57f06991fd82879108df5226ed30ad /components/net/file_loader.rs | |
parent | 5e7306bf1965988551cafe6a27baab13eb927bbe (diff) | |
parent | b17ca9bdc1dd16706f24a27807f34a48fd2e9735 (diff) | |
download | servo-831979d6a7e6fc615434a6585710b2becb7dbf42.tar.gz servo-831979d6a7e6fc615434a6585710b2becb7dbf42.zip |
Auto merge of #8650 - Wafflespeanut:about-404, r=Wafflespeanut
Redirect to an error page on 404!
fixes #7658
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8650)
<!-- Reviewable:end -->
Diffstat (limited to 'components/net/file_loader.rs')
-rw-r--r-- | components/net/file_loader.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs index 1519ec31b2d..8b0a287c4a1 100644 --- a/components/net/file_loader.rs +++ b/components/net/file_loader.rs @@ -2,6 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +use about_loader; use mime_classifier::MIMEClassifier; use mime_guess::guess_mime_type; use net_traits::ProgressMsg::{Done, Payload}; @@ -14,6 +15,7 @@ use std::fs::File; use std::io::Read; use std::path::PathBuf; use std::sync::Arc; +use url::Url; use util::task::spawn_named; static READ_SIZE: usize = 8192; @@ -101,8 +103,13 @@ pub fn factory(load_data: LoadData, } }; } - Err(e) => { - send_error(url, e.description().to_owned(), senders); + Err(_) => { + // this should be one of the three errors listed in + // http://doc.rust-lang.org/std/fs/struct.OpenOptions.html#method.open + // but, we'll go for a "file not found!" + let url = Url::parse("about:not-found").unwrap(); + let load_data_404 = LoadData::new(url, None); + about_loader::factory(load_data_404, senders, classifier, cancel_listener) } } } |