allow limited http caching of static assets in prod
This commit is contained in:
parent
6cd15e380a
commit
e376582f12
2 changed files with 28 additions and 10 deletions
|
|
@ -55,16 +55,24 @@ pub(crate) fn new_router(app: App) -> Router<()> {
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
.layer(SetResponseHeaderLayer::if_not_present(
|
.layer(SetResponseHeaderLayer::if_not_present(
|
||||||
CACHE_CONTROL,
|
CACHE_CONTROL,
|
||||||
// FIXME: restore production value
|
HeaderValue::from_static(if cfg!(debug_assertions) {
|
||||||
// HeaderValue::from_static("max-age=21600, stale-while-revalidate=86400"),
|
// Disable caching when developing locally.
|
||||||
HeaderValue::from_static("no-cache"),
|
"no-cache"
|
||||||
|
} else {
|
||||||
|
"max-age=120, stale-while-revalidate=86400"
|
||||||
|
}),
|
||||||
))
|
))
|
||||||
.service(
|
.service(
|
||||||
ServeDir::new("js_dist").not_found_service(
|
ServeDir::new("js_dist").not_found_service(
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
.layer(SetResponseHeaderLayer::if_not_present(
|
.layer(SetResponseHeaderLayer::if_not_present(
|
||||||
CACHE_CONTROL,
|
CACHE_CONTROL,
|
||||||
HeaderValue::from_static("no-cache"),
|
HeaderValue::from_static(if cfg!(debug_assertions) {
|
||||||
|
// Disable caching when developing locally.
|
||||||
|
"no-cache"
|
||||||
|
} else {
|
||||||
|
"max-age=120, stale-while-revalidate=86400"
|
||||||
|
}),
|
||||||
))
|
))
|
||||||
.service(ServeFile::new("static/_404.html")),
|
.service(ServeFile::new("static/_404.html")),
|
||||||
),
|
),
|
||||||
|
|
@ -75,9 +83,12 @@ pub(crate) fn new_router(app: App) -> Router<()> {
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
.layer(SetResponseHeaderLayer::if_not_present(
|
.layer(SetResponseHeaderLayer::if_not_present(
|
||||||
CACHE_CONTROL,
|
CACHE_CONTROL,
|
||||||
// FIXME: restore production value
|
HeaderValue::from_static(if cfg!(debug_assertions) {
|
||||||
// HeaderValue::from_static("max-age=21600, stale-while-revalidate=86400"),
|
// Disable caching when developing locally.
|
||||||
HeaderValue::from_static("no-cache"),
|
"no-cache"
|
||||||
|
} else {
|
||||||
|
"max-age=120, stale-while-revalidate=86400"
|
||||||
|
}),
|
||||||
))
|
))
|
||||||
.service(
|
.service(
|
||||||
ServeDir::new("css_dist").not_found_service(
|
ServeDir::new("css_dist").not_found_service(
|
||||||
|
|
@ -94,13 +105,20 @@ pub(crate) fn new_router(app: App) -> Router<()> {
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
.layer(SetResponseHeaderLayer::if_not_present(
|
.layer(SetResponseHeaderLayer::if_not_present(
|
||||||
CACHE_CONTROL,
|
CACHE_CONTROL,
|
||||||
HeaderValue::from_static("max-age=21600, stale-while-revalidate=86400"),
|
HeaderValue::from_static(if cfg!(debug_assertions) {
|
||||||
|
// Disable caching when developing locally.
|
||||||
|
"no-cache"
|
||||||
|
} else {
|
||||||
|
"max-age=120, stale-while-revalidate=86400"
|
||||||
|
}),
|
||||||
))
|
))
|
||||||
.service(
|
.service(
|
||||||
ServeDir::new("static").not_found_service(
|
ServeDir::new("static").not_found_service(
|
||||||
ServiceBuilder::new()
|
ServiceBuilder::new()
|
||||||
.layer(SetResponseHeaderLayer::if_not_present(
|
.layer(SetResponseHeaderLayer::if_not_present(
|
||||||
CACHE_CONTROL,
|
CACHE_CONTROL,
|
||||||
|
// Do not allow caching of paths if they return
|
||||||
|
// a 404 error.
|
||||||
HeaderValue::from_static("no-cache"),
|
HeaderValue::from_static("no-cache"),
|
||||||
))
|
))
|
||||||
.service(ServeFile::new("static/_404.html")),
|
.service(ServeFile::new("static/_404.html")),
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@ export default defineConfig({
|
||||||
output: {
|
output: {
|
||||||
dir: path.fromFileUrl(new URL("../js_dist", import.meta.url)),
|
dir: path.fromFileUrl(new URL("../js_dist", import.meta.url)),
|
||||||
entryFileNames: "[name].mjs",
|
entryFileNames: "[name].mjs",
|
||||||
chunkFileNames: "[name].mjs",
|
chunkFileNames: "[name]-[hash].mjs",
|
||||||
assetFileNames: "[name].[ext]",
|
assetFileNames: "[name]-[hash].[ext]",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sourcemap: true,
|
sourcemap: true,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue