Skip to content

Commit cdedb65

Browse files
committed
revert permanent redirect to match current logic in rustdoc redirects
1 parent 3e3c257 commit cdedb65

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/web/rustdoc.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ pub fn rustdoc_redirector_handler(req: &mut Request) -> IronResult<Response> {
5454
}
5555
queries.extend(req.url.as_ref().query_pairs());
5656
let url = ctry!(req, parse_url_with_params(&url_str, queries));
57-
let mut resp = Response::with((status::Found, Redirect(url)));
57+
let status = if matches!(cache_policy, CachePolicy::ForeverInCdnAndBrowser) {
58+
status::MovedPermanently
59+
} else {
60+
status::Found
61+
};
62+
let mut resp = Response::with((status, Redirect(url)));
5863
resp.extensions.insert::<CachePolicy>(cache_policy);
5964
Ok(resp)
6065
}
@@ -190,7 +195,7 @@ pub fn rustdoc_redirector_handler(req: &mut Request) -> IronResult<Response> {
190195
};
191196

192197
let cache = if version == "latest" {
193-
CachePolicy::ForeverInCdn
198+
CachePolicy::ForeverInCdnAndBrowser
194199
} else {
195200
CachePolicy::ForeverInCdnAndStaleInBrowser
196201
};
@@ -1767,7 +1772,7 @@ mod test {
17671772
}
17681773

17691774
#[test]
1770-
fn test_redirect_to_latest_302() {
1775+
fn test_redirect_to_latest_301() {
17711776
wrapper(|env| {
17721777
env.fake_release().name("dummy").version("1.0.0").create()?;
17731778
let web = env.frontend();
@@ -1777,10 +1782,10 @@ mod test {
17771782
.unwrap();
17781783
let url = format!("http://{}/dummy", web.server_addr());
17791784
let resp = client.get(url).send()?;
1780-
assert_eq!(resp.status(), StatusCode::FOUND);
1785+
assert_eq!(resp.status(), StatusCode::MOVED_PERMANENTLY);
17811786
assert_eq!(
17821787
resp.headers().get("Cache-Control").unwrap(),
1783-
reqwest::header::HeaderValue::from_str("public").unwrap()
1788+
reqwest::header::HeaderValue::from_str("public, max-age=31104000").unwrap()
17841789
);
17851790
assert!(resp
17861791
.headers()

0 commit comments

Comments
 (0)