From 02c2eaa8b50fc2696f123129ff6d6dc2f6394f6e Mon Sep 17 00:00:00 2001 From: Kenneth Jorgensen Date: Tue, 10 Dec 2024 13:10:21 +0900 Subject: [PATCH 1/3] fix(ui): Added cache headers --- ui/server/middleware/cache-control.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 ui/server/middleware/cache-control.ts diff --git a/ui/server/middleware/cache-control.ts b/ui/server/middleware/cache-control.ts new file mode 100644 index 000000000..9d414adfa --- /dev/null +++ b/ui/server/middleware/cache-control.ts @@ -0,0 +1,7 @@ +export default defineEventHandler(event => { + const res = event.node.res; + const url = event.node.req.url; + if (url) { + res.setHeader('Cache-Control', `public, max-age=300`); + } +}); From a888c369b4af443e9864e835b8cca34b8c6ca903 Mon Sep 17 00:00:00 2001 From: Kenneth Jorgensen Date: Tue, 10 Dec 2024 13:45:13 +0900 Subject: [PATCH 2/3] More caching --- ui/server/middleware/cache-control.ts | 7 ------- ui/server/middleware/cache-headers.ts | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) delete mode 100644 ui/server/middleware/cache-control.ts create mode 100644 ui/server/middleware/cache-headers.ts diff --git a/ui/server/middleware/cache-control.ts b/ui/server/middleware/cache-control.ts deleted file mode 100644 index 9d414adfa..000000000 --- a/ui/server/middleware/cache-control.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default defineEventHandler(event => { - const res = event.node.res; - const url = event.node.req.url; - if (url) { - res.setHeader('Cache-Control', `public, max-age=300`); - } -}); diff --git a/ui/server/middleware/cache-headers.ts b/ui/server/middleware/cache-headers.ts new file mode 100644 index 000000000..23482fbf1 --- /dev/null +++ b/ui/server/middleware/cache-headers.ts @@ -0,0 +1,20 @@ +import {DateTime, Duration} from "luxon"; + +const defaultMaxAge = Duration.fromISO("PT5M"); +const assetsMaxAge = Duration.fromISO("PT1H"); + +export default defineEventHandler(event => { + const res = event.node.res; + console.log("res.statusCode", res.statusCode); + if (res.statusCode != 200) { + return; + } + const url = event.node.req.url; + if (url) { + const isAsset = url.match(/(.+)\.(jpg|jpeg|gif|css|png|js|ico|svg|mjs|webp)/); + const maxAge = isAsset ? assetsMaxAge : defaultMaxAge; + const expires = DateTime.now().plus(maxAge).toHTTP(); + res.setHeader('cache-control', `public, max-age=${Math.round(maxAge.toMillis() / 1000)}`); + res.setHeader('expires', expires); + } +}); From 8e4845df6bacea8d12a062492fd4a9d924183cea Mon Sep 17 00:00:00 2001 From: Kenneth Jorgensen Date: Tue, 10 Dec 2024 14:47:54 +0900 Subject: [PATCH 3/3] Stuff --- ui/server/middleware/cache-headers.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ui/server/middleware/cache-headers.ts b/ui/server/middleware/cache-headers.ts index 23482fbf1..3b81a6a9a 100644 --- a/ui/server/middleware/cache-headers.ts +++ b/ui/server/middleware/cache-headers.ts @@ -4,8 +4,14 @@ const defaultMaxAge = Duration.fromISO("PT5M"); const assetsMaxAge = Duration.fromISO("PT1H"); export default defineEventHandler(event => { + const req = event.node.req; const res = event.node.res; + console.log("event", event); + // console.log("req", req); + // console.log("res", res); + console.log("req.headers.host", req.headers.host); console.log("res.statusCode", res.statusCode); + console.log("event.handled", event.handled); if (res.statusCode != 200) { return; }