From 5e50873d10ca4ad33768eab74330fed437398dae Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Sun, 15 Dec 2019 13:27:38 -0500 Subject: [PATCH 1/2] revert all the changes except for fixing the panic --- 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 c824339e1..6c1d82c54 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(); From 9f35100f04af5b25d094d1b04f5d0c853fa572a0 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Wed, 18 Dec 2019 22:06:49 -0500 Subject: [PATCH 2/2] show 404 when None is returned --- src/web/source.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/web/source.rs b/src/web/source.rs index 6c1d82c54..cb56f0153 100644 --- a/src/web/source.rs +++ b/src/web/source.rs @@ -234,6 +234,11 @@ pub fn source_browser_handler(req: &mut Request) -> IronResult { }; let list = FileList::from_path(&conn, &name, &version, &req_path); + if list.is_none() { + use iron::status; + use super::error::Nope; + return Err(IronError::new(Nope::NoResults, status::NotFound)); + } let page = Page::new(list) .set_bool("show_parent_link", !req_path.is_empty())