From a85c2cf8e2ed45fa8a2d3ba12f32eee3bef60b2e Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Thu, 12 Dec 2019 15:33:21 -0500 Subject: [PATCH 1/2] fix panic if crate failed to build closes https://github.com/rust-lang/docs.rs/issues/517 gives a 404 if you try to view the source --- src/web/source.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/web/source.rs b/src/web/source.rs index c824339e1..e3f1ea757 100644 --- a/src/web/source.rs +++ b/src/web/source.rs @@ -104,7 +104,7 @@ impl FileList { return None; } - let files: Json = rows.get(0).get(5); + let files: Json = rows.get(0).get_opt(5).unwrap().ok()?; let mut file_list: Vec = Vec::new(); @@ -181,6 +181,8 @@ impl FileList { pub fn source_browser_handler(req: &mut Request) -> IronResult { + use iron::status; + use super::error::Nope; let router = extension!(req, Router); let name = cexpect!(router.find("name")); let version = cexpect!(router.find("version")); @@ -246,6 +248,6 @@ pub fn source_browser_handler(req: &mut Request) -> IronResult { .set_bool("file_content_rust_source", is_rust_source) .to_resp("source") } else { - page.to_resp("source") + Err(IronError::new(Nope::CrateNotFound, status::NotFound)) } } From e4ee919a250b4f4ca4a48e9bd3b4203a6ed83b2d Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Thu, 12 Dec 2019 15:37:44 -0500 Subject: [PATCH 2/2] Change Nope variant to NoResults The webpage looks the same but it makes _me_ feel better at least --- src/web/source.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/web/source.rs b/src/web/source.rs index e3f1ea757..465a94dc1 100644 --- a/src/web/source.rs +++ b/src/web/source.rs @@ -248,6 +248,6 @@ pub fn source_browser_handler(req: &mut Request) -> IronResult { .set_bool("file_content_rust_source", is_rust_source) .to_resp("source") } else { - Err(IronError::new(Nope::CrateNotFound, status::NotFound)) + Err(IronError::new(Nope::NoResults, status::NotFound)) } }