diff --git a/src/web/crate_details.rs b/src/web/crate_details.rs index 280aaf46c..b4d9e377a 100644 --- a/src/web/crate_details.rs +++ b/src/web/crate_details.rs @@ -443,6 +443,7 @@ struct ReleaseList { impl_axum_webpage! { ReleaseList = "rustdoc/releases.html", + cache_policy = |_| CachePolicy::ForeverInCdn, cpu_intensive_rendering = true, } @@ -499,6 +500,7 @@ struct PlatformList { impl_axum_webpage! { PlatformList = "rustdoc/platforms.html", + cache_policy = |_| CachePolicy::ForeverInCdn, cpu_intensive_rendering = true, } @@ -1337,6 +1339,7 @@ mod tests { .send() .unwrap(); assert!(response.status().is_success()); + assert_cache_control(&response, CachePolicy::ForeverInCdn, &env.config()); let list2 = check_links(response.text().unwrap(), true, should_contain_redirect); assert_eq!(list1, list2); } diff --git a/src/web/rustdoc.rs b/src/web/rustdoc.rs index e8735867b..63e80fc92 100644 --- a/src/web/rustdoc.rs +++ b/src/web/rustdoc.rs @@ -2236,12 +2236,13 @@ mod test { .create()?; // test rustdoc pages stay on the documentation - let page = kuchikiki::parse_html().one( - env.frontend() - .get("/crate/hexponent/0.3.1/menus/releases") - .send()? - .text()?, - ); + let releases_response = env + .frontend() + .get("/crate/hexponent/0.3.1/menus/releases") + .send()?; + assert!(releases_response.status().is_success()); + assert_cache_control(&releases_response, CachePolicy::ForeverInCdn, &env.config()); + let page = kuchikiki::parse_html().one(releases_response.text()?); let selector = r#"ul > li a[href="/crate/hexponent/0.3.1/target-redirect/hexponent/index.html"]"# .to_string();