@dwp/govuk-casa 9.4.2 → 9.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/middleware/i18n.js +1 -1
- package/dist/middleware/i18n.js.map +1 -1
- package/dist/middleware/pre.js +0 -1
- package/dist/middleware/pre.js.map +1 -1
- package/dist/routes/static.d.ts +12 -5
- package/dist/routes/static.js +7 -7
- package/dist/routes/static.js.map +1 -1
- package/package.json +8 -8
- package/src/middleware/i18n.js +1 -1
- package/src/middleware/pre.js +0 -1
- package/src/routes/static.js +10 -8
package/dist/middleware/i18n.js
CHANGED
|
@@ -74,7 +74,7 @@ function i18nMiddleware({ languages = ["en", "cy"], directories = [], }) {
|
|
|
74
74
|
// Configure i18next
|
|
75
75
|
const i18nInstance = (0, i18next_1.createInstance)();
|
|
76
76
|
i18nInstance.use(i18next_http_middleware_1.LanguageDetector).init({
|
|
77
|
-
|
|
77
|
+
initAsync: false, // because we need synchronous loading
|
|
78
78
|
supportedLngs: languages,
|
|
79
79
|
fallbackLng: false,
|
|
80
80
|
defaultNS: "common",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":";;;;;AA8EA,iCAyCC;AAvHD,qCAAyC;AACzC,qEAAmE;AACnE,yCAA8C;AAC9C,qCAAgE;AAChE,0DAAkC;AAClC,qCAA6C;AAC7C,iEAAsC;AAEtC;;;GAGG;AAEH,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,iBAAiB,CAAC,CAAC;AAEtC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,uEAAuE;IACvE,4BAA4B;IAC5B,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAU,EAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACrD,MAAM,IAAI,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE/D,OAAO;QACL,EAAE,EAAE,IAAA,oBAAQ,EAAC,IAAI,EAAE,GAAG,CAAC;QACvB,IAAI;KACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,0EAA0E;QAC1E,uDAAuD;QACvD,qDAAqD;QACrD,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACvC,sEAAsE;YACtE,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3D,sEAAsE;YACtE,KAAK,MAAM,IAAI,IAAI,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAA,mBAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAEjD,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACtC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBAED,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAA,mBAAS,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,oDAAoD;IACtD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,SAAwB,cAAc,CAAC,EACrC,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EACxB,WAAW,GAAG,EAAE,GACjB;IACC,6DAA6D;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAExD,oBAAoB;IACpB,MAAM,YAAY,GAAG,IAAA,wBAAc,GAAE,CAAC;IACtC,YAAY,CAAC,GAAG,CAAC,0CAAgB,CAAC,CAAC,IAAI,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":"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"}
|
package/dist/middleware/pre.js
CHANGED
|
@@ -54,7 +54,6 @@ exports.default = ({ helmetConfigurator = (config) => config } = {}) => [
|
|
|
54
54
|
// possible leakage of information.
|
|
55
55
|
(req, res, next) => {
|
|
56
56
|
res.set("cache-control", "no-cache, no-store, must-revalidate, private");
|
|
57
|
-
res.set("pragma", "no-cache");
|
|
58
57
|
res.set("expires", 0);
|
|
59
58
|
res.set("x-robots-tag", "noindex, nofollow");
|
|
60
59
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre.js","sourceRoot":"","sources":["../../src/middleware/pre.js"],"names":[],"mappings":";;;;;AAAA,6CAA0C;AAC1C,oDAA4B;AAE5B;;;GAGG;AAEH,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG;IAC5B,OAAO,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,kBAAe,CAAC,EAAE,kBAAkB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACnE,qCAAqC;IACrC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,+BAA+B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAClE,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,2BAA2B;IAC3B,4EAA4E;IAC5E,mCAAmC;IACnC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;QACzE,GAAG,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"pre.js","sourceRoot":"","sources":["../../src/middleware/pre.js"],"names":[],"mappings":";;;;;AAAA,6CAA0C;AAC1C,oDAA4B;AAE5B;;;GAGG;AAEH,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAC3C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACrD,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG;IAC5B,OAAO,UAAU,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,kBAAe,CAAC,EAAE,kBAAkB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACnE,qCAAqC;IACrC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,+BAA+B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAClE,CAAC;YACF,GAAG,CAAC,IAAI,GAAG,2BAA2B,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,2BAA2B;IAC3B,4EAA4E;IAC5E,mCAAmC;IACnC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,8CAA8C,CAAC,CAAC;QACzE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC;IACT,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAA,gBAAM,EACJ,kBAAkB,CAAC;QACjB,qEAAqE;QACrE,qBAAqB,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBACV,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,YAAY,EAAE;oBACZ,QAAQ;oBACR,SAAS;oBACT,UAAU;oBACV,kBAAkB;oBAClB,YAAY;iBACb;gBACD,SAAS,EAAE;oBACT,QAAQ;oBACR,SAAS;oBACT,mBAAmB;oBACnB,UAAU;oBACV,yBAAyB;oBACzB,yBAAyB;iBAC1B;gBACD,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAC;gBACrE,WAAW,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACnC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;gBAC7B,aAAa,EAAE,CAAC,QAAQ,CAAC;gBACzB,WAAW,EAAE;oBACX,QAAQ;oBACR,8BAA8B;oBAC9B,kBAAkB;oBAClB,YAAY;iBACb;gBACD,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,2BAA2B,CAAC;gBAC5D,cAAc,EAAE,CAAC,QAAQ,CAAC;aAC3B;SACF;QAED,wCAAwC;QACxC,8CAA8C;KAC/C,CAAC,CACH;CACF,CAAC"}
|
package/dist/routes/static.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {object} StaticOptions Options to configure static router
|
|
3
|
-
* @property {number} [maxAge=3600000] Cache TTL for all assets
|
|
4
|
-
*
|
|
3
|
+
* @property {number} [maxAge=3600000] Cache TTL for all assets. Default is
|
|
4
|
+
* `3600000`
|
|
5
|
+
* @property {string} [cacheControl=private] Cache control headers. Default is
|
|
6
|
+
* `private`
|
|
5
7
|
*/
|
|
6
8
|
/**
|
|
7
9
|
* Create a router for serving CASA's static assets.
|
|
@@ -10,15 +12,20 @@
|
|
|
10
12
|
* @returns {MutableRouter} ExpressJS Router instance
|
|
11
13
|
* @access private
|
|
12
14
|
*/
|
|
13
|
-
export default function staticRouter({ maxAge }?: StaticOptions): MutableRouter;
|
|
15
|
+
export default function staticRouter({ maxAge, cacheControl, }?: StaticOptions): MutableRouter;
|
|
14
16
|
/**
|
|
15
17
|
* Options to configure static router
|
|
16
18
|
*/
|
|
17
19
|
export type StaticOptions = {
|
|
18
20
|
/**
|
|
19
|
-
* Cache TTL for all assets
|
|
20
|
-
*
|
|
21
|
+
* Cache TTL for all assets. Default is
|
|
22
|
+
* `3600000`
|
|
21
23
|
*/
|
|
22
24
|
maxAge?: number | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Cache control headers. Default is
|
|
27
|
+
* `private`
|
|
28
|
+
*/
|
|
29
|
+
cacheControl?: string | undefined;
|
|
23
30
|
};
|
|
24
31
|
import MutableRouter from "../lib/MutableRouter.js";
|
package/dist/routes/static.js
CHANGED
|
@@ -13,11 +13,12 @@ const dirname_cjs_1 = __importDefault(require("./dirname.cjs"));
|
|
|
13
13
|
const MutableRouter_js_1 = __importDefault(require("../lib/MutableRouter.js"));
|
|
14
14
|
const utils_js_1 = require("../lib/utils.js");
|
|
15
15
|
const { static: ExpressStatic } = express_1.default; // CommonJS
|
|
16
|
-
const oneDay = 86400000;
|
|
17
16
|
/**
|
|
18
17
|
* @typedef {object} StaticOptions Options to configure static router
|
|
19
|
-
* @property {number} [maxAge=3600000] Cache TTL for all assets
|
|
20
|
-
*
|
|
18
|
+
* @property {number} [maxAge=3600000] Cache TTL for all assets. Default is
|
|
19
|
+
* `3600000`
|
|
20
|
+
* @property {string} [cacheControl=private] Cache control headers. Default is
|
|
21
|
+
* `private`
|
|
21
22
|
*/
|
|
22
23
|
/**
|
|
23
24
|
* Create a router for serving CASA's static assets.
|
|
@@ -26,16 +27,15 @@ const oneDay = 86400000;
|
|
|
26
27
|
* @returns {MutableRouter} ExpressJS Router instance
|
|
27
28
|
* @access private
|
|
28
29
|
*/
|
|
29
|
-
function staticRouter({ maxAge = 3600000 } = {}) {
|
|
30
|
+
function staticRouter({ maxAge = 3600000, cacheControl = "private", } = {}) {
|
|
30
31
|
const router = new MutableRouter_js_1.default();
|
|
31
32
|
const notFoundHandler = (req, res, next) => {
|
|
32
33
|
// Fall through to a general purpose error handler
|
|
33
34
|
next(new Error("404"));
|
|
34
35
|
};
|
|
35
36
|
const setHeaders = (req, res, next) => {
|
|
36
|
-
res.set("cache-control",
|
|
37
|
-
res.set("
|
|
38
|
-
res.set("expires", new Date(Date.now() + oneDay).toUTCString());
|
|
37
|
+
res.set("cache-control", cacheControl);
|
|
38
|
+
res.set("expires", new Date(Date.now() + maxAge).toUTCString());
|
|
39
39
|
const { pathname } = new node_url_1.URL(req?.originalUrl ?? "", "https://placeholder.test/");
|
|
40
40
|
if (pathname.substr(-4) === ".css") {
|
|
41
41
|
// Just needed for our in-memory CSS assets
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.js"],"names":[],"mappings":";;;;;AA2BA,+
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/routes/static.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dwp/govuk-casa",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.4",
|
|
4
4
|
"description": "A framework for building GOVUK Collect-And-Submit-Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"express-session": "1.18.1",
|
|
62
62
|
"govuk-frontend": "5.8.0",
|
|
63
63
|
"helmet": "8.0.0",
|
|
64
|
-
"i18next": "24.2.
|
|
64
|
+
"i18next": "24.2.2",
|
|
65
65
|
"i18next-http-middleware": "3.7.1",
|
|
66
66
|
"js-yaml": "4.1.0",
|
|
67
67
|
"lodash": "4.17.21",
|
|
@@ -74,31 +74,31 @@
|
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@ckeditor/jsdoc-plugins": "43.0.1",
|
|
76
76
|
"@commitlint/config-conventional": "19.6.0",
|
|
77
|
-
"@dwp/casa-spiderplan": "4.
|
|
77
|
+
"@dwp/casa-spiderplan": "4.2.0",
|
|
78
78
|
"@dwp/casa-spiderplan-a11y-plugin": "1.0.2",
|
|
79
79
|
"@dwp/casa-spiderplan-zap-plugin": "1.0.3",
|
|
80
80
|
"@dwp/eslint-config-base": "9.0.2",
|
|
81
81
|
"@types/express": "4.17.21",
|
|
82
82
|
"@types/luxon": "3.4.2",
|
|
83
|
-
"@types/node": "22.
|
|
83
|
+
"@types/node": "22.12.0",
|
|
84
84
|
"@types/nunjucks": "3.2.6",
|
|
85
85
|
"c8": "10.1.3",
|
|
86
86
|
"chai": "5.1.2",
|
|
87
87
|
"cheerio": "1.0.0",
|
|
88
88
|
"commitlint": "19.6.1",
|
|
89
89
|
"docdash": "2.0.2",
|
|
90
|
-
"eslint": "9.
|
|
90
|
+
"eslint": "9.19.0",
|
|
91
91
|
"eslint-plugin-import": "2.31.0",
|
|
92
|
-
"eslint-plugin-jsdoc": "50.6.
|
|
92
|
+
"eslint-plugin-jsdoc": "50.6.3",
|
|
93
93
|
"eslint-plugin-security": "3.0.1",
|
|
94
94
|
"eslint-plugin-sonarjs": "3.0.1",
|
|
95
95
|
"fast-check": "3.23.2",
|
|
96
96
|
"jsdoc": "4.0.4",
|
|
97
97
|
"jsdoc-tsimport-plugin": "1.0.5",
|
|
98
|
-
"mocha": "11.0
|
|
98
|
+
"mocha": "11.1.0",
|
|
99
99
|
"prettier": "3.4.2",
|
|
100
100
|
"prettier-plugin-jsdoc": "1.3.2",
|
|
101
|
-
"sass": "1.83.
|
|
101
|
+
"sass": "1.83.4",
|
|
102
102
|
"sinon": "19.0.2",
|
|
103
103
|
"supertest": "7.0.0",
|
|
104
104
|
"typescript": "5.7.3"
|
package/src/middleware/i18n.js
CHANGED
|
@@ -86,7 +86,7 @@ export default function i18nMiddleware({
|
|
|
86
86
|
// Configure i18next
|
|
87
87
|
const i18nInstance = createInstance();
|
|
88
88
|
i18nInstance.use(LanguageDetector).init({
|
|
89
|
-
|
|
89
|
+
initAsync: false, // because we need synchronous loading
|
|
90
90
|
supportedLngs: languages,
|
|
91
91
|
fallbackLng: false,
|
|
92
92
|
defaultNS: "common",
|
package/src/middleware/pre.js
CHANGED
|
@@ -55,7 +55,6 @@ export default ({ helmetConfigurator = (config) => config } = {}) => [
|
|
|
55
55
|
// possible leakage of information.
|
|
56
56
|
(req, res, next) => {
|
|
57
57
|
res.set("cache-control", "no-cache, no-store, must-revalidate, private");
|
|
58
|
-
res.set("pragma", "no-cache");
|
|
59
58
|
res.set("expires", 0);
|
|
60
59
|
res.set("x-robots-tag", "noindex, nofollow");
|
|
61
60
|
next();
|
package/src/routes/static.js
CHANGED
|
@@ -10,12 +10,12 @@ import { validateUrlPath } from "../lib/utils.js";
|
|
|
10
10
|
|
|
11
11
|
const { static: ExpressStatic } = ExpressJS; // CommonJS
|
|
12
12
|
|
|
13
|
-
const oneDay = 86400000;
|
|
14
|
-
|
|
15
13
|
/**
|
|
16
14
|
* @typedef {object} StaticOptions Options to configure static router
|
|
17
|
-
* @property {number} [maxAge=3600000] Cache TTL for all assets
|
|
18
|
-
*
|
|
15
|
+
* @property {number} [maxAge=3600000] Cache TTL for all assets. Default is
|
|
16
|
+
* `3600000`
|
|
17
|
+
* @property {string} [cacheControl=private] Cache control headers. Default is
|
|
18
|
+
* `private`
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -25,7 +25,10 @@ const oneDay = 86400000;
|
|
|
25
25
|
* @returns {MutableRouter} ExpressJS Router instance
|
|
26
26
|
* @access private
|
|
27
27
|
*/
|
|
28
|
-
export default function staticRouter({
|
|
28
|
+
export default function staticRouter({
|
|
29
|
+
maxAge = 3600000,
|
|
30
|
+
cacheControl = "private",
|
|
31
|
+
} = {}) {
|
|
29
32
|
const router = new MutableRouter();
|
|
30
33
|
|
|
31
34
|
const notFoundHandler = (req, res, next) => {
|
|
@@ -34,9 +37,8 @@ export default function staticRouter({ maxAge = 3600000 } = {}) {
|
|
|
34
37
|
};
|
|
35
38
|
|
|
36
39
|
const setHeaders = (req, res, next) => {
|
|
37
|
-
res.set("cache-control",
|
|
38
|
-
res.set("
|
|
39
|
-
res.set("expires", new Date(Date.now() + oneDay).toUTCString());
|
|
40
|
+
res.set("cache-control", cacheControl);
|
|
41
|
+
res.set("expires", new Date(Date.now() + maxAge).toUTCString());
|
|
40
42
|
const { pathname } = new URL(
|
|
41
43
|
req?.originalUrl ?? "",
|
|
42
44
|
"https://placeholder.test/",
|