From 5fff414805a24915d44946ef751b640e65e2b386 Mon Sep 17 00:00:00 2001 From: Moritz Ruth Date: Sun, 2 Mar 2025 17:12:20 +0100 Subject: [PATCH] Add support for configuring immutable paths --- src/caddy.rs | 14 ++++++++++++++ src/sites.rs | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/caddy.rs b/src/caddy.rs index 7b97bf2..7118c55 100644 --- a/src/caddy.rs +++ b/src/caddy.rs @@ -83,6 +83,20 @@ impl CaddyController { })); } + if !config.immutable_paths.is_empty() { + routes_array.push(json!({ + "match": [{ "path": config.immutable_paths }], + "handle": [{ + "handler": "headers", + "response": { + "set": { + "Cache-Control": ["public, max-age=15778476, immutable"] + } + } + }] + })) + } + routes_array.push(json!({ "handle": [{ "handler": "file_server", diff --git a/src/sites.rs b/src/sites.rs index e8ce75c..c6c3e51 100644 --- a/src/sites.rs +++ b/src/sites.rs @@ -23,6 +23,8 @@ pub struct SiteConfig { pub paths_mode: SiteConfigPathsMode, #[serde(default)] pub redirects: Vec, + #[serde(default)] + pub immutable_paths: Vec, } #[derive(Deserialize, Default, Eq, PartialEq)]