From a9425a866bdb7d2be8cd2ab0ab9232541f93258a Mon Sep 17 00:00:00 2001 From: Douman Date: Mon, 25 Jun 2018 19:41:23 +0300 Subject: [PATCH] Fix duplicate tail of StaticFiles with index_file Map from 0.6 to master --- src/fs.rs | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/fs.rs b/src/fs.rs index c5a7de615..574f2cff8 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -676,10 +676,6 @@ impl Handler for StaticFiles { // TODO: It'd be nice if there were a good usable URL manipulation // library let mut new_path: String = req.path().to_owned(); - for el in relpath.iter() { - new_path.push_str(&el.to_string_lossy()); - new_path.push('/'); - } if !new_path.ends_with('/') { new_path.push('/'); } @@ -1205,8 +1201,7 @@ mod tests { #[test] fn test_redirect_to_index() { let st = StaticFiles::new(".").index_file("index.html"); - let mut req = HttpRequest::default(); - req.match_info_mut().add_static("tail", "tests"); + let req = TestRequest::default().uri("/tests").finish(); let resp = st.handle(req).respond_to(&HttpRequest::default()).unwrap(); let resp = resp.as_msg(); @@ -1216,8 +1211,7 @@ mod tests { "/tests/index.html" ); - let mut req = HttpRequest::default(); - req.match_info_mut().add_static("tail", "tests/"); + let req = TestRequest::default().uri("/tests/").finish(); let resp = st.handle(req).respond_to(&HttpRequest::default()).unwrap(); let resp = resp.as_msg(); @@ -1230,16 +1224,15 @@ mod tests { #[test] fn test_redirect_to_index_nested() { - let st = StaticFiles::new(".").index_file("mod.rs"); - let mut req = HttpRequest::default(); - req.match_info_mut().add_static("tail", "src/client"); + let st = StaticFiles::new(".").index_file("Cargo.toml"); + let req = TestRequest::default().uri("/tools/wsload").finish(); let resp = st.handle(req).respond_to(&HttpRequest::default()).unwrap(); let resp = resp.as_msg(); assert_eq!(resp.status(), StatusCode::FOUND); assert_eq!( resp.headers().get(header::LOCATION).unwrap(), - "/src/client/mod.rs" + "/tools/wsload/Cargo.toml" ); }