Skip to content

Commit 12b591c

Browse files
authored
Merge pull request #1257 from syphar/less-redirects-2
remove more unnecessary redirects in search-results, and i'm feeling-lucky
2 parents 5d40f1d + bff4aa4 commit 12b591c

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

src/web/releases.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ fn redirect_to_random_crate(req: &Request, conn: &mut PoolClient) -> IronResult<
539539
let url = ctry!(
540540
req,
541541
Url::parse(&format!(
542-
"{}/{}/{}/{}",
542+
"{}/{}/{}/{}/",
543543
redirect_base(req),
544544
name,
545545
version,
@@ -618,7 +618,7 @@ pub fn search_handler(req: &mut Request) -> IronResult<Response> {
618618
let url = if rustdoc_status {
619619
ctry!(
620620
req,
621-
Url::parse(&format!("{}/{}/{}", redirect_base(req), query, version)),
621+
Url::parse(&format!("{}/{}/{}/", redirect_base(req), query, version)),
622622
)
623623
} else {
624624
ctry!(
@@ -721,7 +721,7 @@ pub fn build_queue_handler(req: &mut Request) -> IronResult<Response> {
721721
#[cfg(test)]
722722
mod tests {
723723
use super::*;
724-
use crate::test::{assert_success, wrapper, TestFrontend};
724+
use crate::test::{assert_redirect, assert_success, wrapper, TestFrontend};
725725
use chrono::TimeZone;
726726
use failure::Error;
727727
use kuchiki::traits::TendrilSink;
@@ -1100,7 +1100,12 @@ mod tests {
11001100
.github_stats("some/repo", 333, 22, 11)
11011101
.name("some_random_crate")
11021102
.create()?;
1103-
assert_success("/releases/search?query=&i-am-feeling-lucky=1", web)
1103+
assert_redirect(
1104+
"/releases/search?query=&i-am-feeling-lucky=1",
1105+
"/some_random_crate/1.0.0/some_random_crate/",
1106+
web,
1107+
)?;
1108+
Ok(())
11041109
})
11051110
}
11061111

@@ -1109,7 +1114,12 @@ mod tests {
11091114
wrapper(|env| {
11101115
let web = env.frontend();
11111116
env.fake_release().name("some_random_crate").create()?;
1112-
assert_success("/releases/search?query=some_random_crate", web)
1117+
1118+
let links = get_release_links("/releases/search?query=some_random_crate", web)?;
1119+
1120+
assert_eq!(links.len(), 1);
1121+
assert_eq!(links[0], "/some_random_crate/1.0.0/some_random_crate/",);
1122+
Ok(())
11131123
})
11141124
}
11151125

0 commit comments

Comments
 (0)