@@ -30,6 +30,8 @@ use std::sync::Arc;
3030use tracing:: { debug, warn} ;
3131use url:: form_urlencoded;
3232
33+ use super :: cache:: CachePolicy ;
34+
3335/// Number of release in home page
3436const RELEASES_IN_HOME : i64 = 15 ;
3537/// Releases in /releases page
@@ -271,6 +273,7 @@ struct HomePage {
271273
272274impl_axum_webpage ! {
273275 HomePage = "core/home.html" ,
276+ cache_policy = |_| CachePolicy :: ShortInCdnAndBrowser ,
274277}
275278
276279pub ( crate ) async fn home_page ( mut conn : DbConnection ) -> AxumResult < impl IntoResponse > {
@@ -719,7 +722,8 @@ mod tests {
719722 use super :: * ;
720723 use crate :: registry_api:: CrateOwner ;
721724 use crate :: test:: {
722- assert_redirect, assert_redirect_unchecked, assert_success, wrapper, TestFrontend ,
725+ assert_cache_control, assert_redirect, assert_redirect_unchecked, assert_success, wrapper,
726+ TestFrontend ,
723727 } ;
724728 use anyhow:: Error ;
725729 use chrono:: { Duration , TimeZone } ;
@@ -1484,6 +1488,8 @@ mod tests {
14841488 seen. insert ( "" . to_owned ( ) ) ;
14851489
14861490 let resp = web. get ( "" ) . send ( ) ?;
1491+ assert_cache_control ( & resp, CachePolicy :: ShortInCdnAndBrowser , & env. config ( ) ) ;
1492+
14871493 assert ! ( resp. status( ) . is_success( ) ) ;
14881494
14891495 let html = kuchikiki:: parse_html ( ) . one ( resp. text ( ) ?) ;
0 commit comments