@farm.js/core 0.1.17 → 0.1.18
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/after.cjs +12 -225
- package/dist/agent-runtime.cjs +83 -2800
- package/dist/api/client.cjs +17 -4060
- package/dist/api/route-manager.cjs +34 -4354
- package/dist/api/runtime.cjs +29 -2696
- package/dist/api.cjs +88 -8434
- package/dist/app-markdown.cjs +39 -280
- package/dist/cache.cjs +38 -1560
- package/dist/chunk-22GUSVNJ.cjs +351 -0
- package/dist/chunk-2CQ74SP6.cjs +13 -0
- package/dist/chunk-2SJ4RQ6P.cjs +57 -0
- package/dist/chunk-3376ZTRC.cjs +1 -0
- package/dist/{chunk-YD4J4XCI.mjs → chunk-3XG26Z3J.mjs} +1 -1
- package/dist/chunk-4PNUXIVU.cjs +472 -0
- package/dist/chunk-4PPEPOZZ.cjs +21 -0
- package/dist/chunk-4ZFL5GFN.cjs +520 -0
- package/dist/chunk-5OVTOKGH.cjs +65 -0
- package/dist/chunk-5QIKR7RR.cjs +224 -0
- package/dist/chunk-5ZSWG4UX.cjs +127 -0
- package/dist/chunk-62YJ2IEB.cjs +238 -0
- package/dist/chunk-6EODJYCX.cjs +183 -0
- package/dist/chunk-6EXBPJ24.cjs +434 -0
- package/dist/chunk-6QQDAAAZ.cjs +38 -0
- package/dist/chunk-6V4TDWEC.cjs +455 -0
- package/dist/chunk-72ADZ6GQ.cjs +19 -0
- package/dist/chunk-75BRBIFP.cjs +172 -0
- package/dist/chunk-7W3CPVXS.cjs +24 -0
- package/dist/chunk-A6WIQH5Z.cjs +31 -0
- package/dist/chunk-AFOD3LYZ.cjs +377 -0
- package/dist/chunk-AMDMVWMI.cjs +39 -0
- package/dist/chunk-AORPIPNB.cjs +552 -0
- package/dist/chunk-ARJWXNQL.cjs +256 -0
- package/dist/chunk-AWRISO2H.cjs +2199 -0
- package/dist/chunk-AYJR42WX.cjs +711 -0
- package/dist/chunk-B4CH33IG.cjs +644 -0
- package/dist/chunk-BIDYX3SL.cjs +91 -0
- package/dist/chunk-BSTRERPP.cjs +40 -0
- package/dist/chunk-BYODCJD6.cjs +663 -0
- package/dist/chunk-C3VRMB6H.cjs +85 -0
- package/dist/chunk-C5GUTBZK.cjs +173 -0
- package/dist/chunk-CIAGU2X4.cjs +337 -0
- package/dist/chunk-CMGMGHUZ.cjs +27 -0
- package/dist/chunk-CXP5U3RW.cjs +54 -0
- package/dist/chunk-D2ULAULS.cjs +166 -0
- package/dist/chunk-D7JTOLFK.cjs +285 -0
- package/dist/chunk-DVM4FKZL.cjs +169 -0
- package/dist/chunk-DYEJQTDN.cjs +49 -0
- package/dist/chunk-E2BMSZ2W.cjs +151 -0
- package/dist/chunk-E3UK5IIB.cjs +593 -0
- package/dist/chunk-EM6SBQKM.cjs +470 -0
- package/dist/chunk-FJSWYIR7.cjs +482 -0
- package/dist/chunk-FK6GO24V.cjs +54 -0
- package/dist/chunk-FXUUWYAX.cjs +654 -0
- package/dist/chunk-G3HRIVEY.cjs +395 -0
- package/dist/chunk-G643DQCH.cjs +13 -0
- package/dist/chunk-G7HXGLEC.cjs +175 -0
- package/dist/chunk-GDSHDTJ4.cjs +152 -0
- package/dist/chunk-GNEO2XOF.cjs +2040 -0
- package/dist/{chunk-56DAX2BE.mjs → chunk-GYKJCFTS.mjs} +1 -1
- package/dist/chunk-H6G5INWM.cjs +1094 -0
- package/dist/chunk-HBTUGXHS.cjs +180 -0
- package/dist/chunk-HREOKQWT.cjs +45 -0
- package/dist/chunk-I4J452B7.cjs +435 -0
- package/dist/chunk-I57LW5VZ.cjs +94 -0
- package/dist/chunk-I7PUUDGY.cjs +389 -0
- package/dist/chunk-IAMRBF3Z.cjs +86 -0
- package/dist/chunk-IKNRN4VS.cjs +14214 -0
- package/dist/chunk-IQXFRNY2.cjs +169 -0
- package/dist/chunk-IXTFU4PL.cjs +2355 -0
- package/dist/chunk-J2OP5GG3.cjs +725 -0
- package/dist/chunk-J3LOGE4T.cjs +42 -0
- package/dist/chunk-J7FSKED3.cjs +93 -0
- package/dist/chunk-JDNHKPTD.cjs +22 -0
- package/dist/chunk-JSROZYYO.cjs +164 -0
- package/dist/chunk-K6FNHVDR.cjs +696 -0
- package/dist/chunk-KGZIORNL.cjs +43 -0
- package/dist/{chunk-MVIWBEJF.mjs → chunk-KPNVGRBL.mjs} +1 -1
- package/dist/chunk-KR6CKSXT.cjs +15 -0
- package/dist/chunk-KROWKCUH.cjs +185 -0
- package/dist/chunk-KVFPGF2M.cjs +46 -0
- package/dist/chunk-LCCBO7PJ.cjs +46 -0
- package/dist/chunk-LIUGYUX3.cjs +22 -0
- package/dist/chunk-LTNGXMQ6.cjs +55 -0
- package/dist/chunk-M2L4MYDQ.cjs +14 -0
- package/dist/chunk-MCJLA63J.cjs +1 -0
- package/dist/chunk-MKB2EGIR.cjs +148 -0
- package/dist/chunk-MQ3H6LT5.cjs +202 -0
- package/dist/chunk-MT763TDW.cjs +43 -0
- package/dist/chunk-MWSK6C4J.cjs +18 -0
- package/dist/chunk-MWWVKDW3.cjs +169 -0
- package/dist/chunk-NO3WWW3N.cjs +192 -0
- package/dist/chunk-NV3A5DXM.cjs +862 -0
- package/dist/chunk-NWOD6NIT.cjs +9 -0
- package/dist/chunk-NZKJGRB3.cjs +230 -0
- package/dist/chunk-OAVTUMJP.cjs +1496 -0
- package/dist/chunk-OHY2ZWUG.cjs +25 -0
- package/dist/chunk-OI6CMLWX.cjs +47 -0
- package/dist/chunk-OIEOCXKG.cjs +453 -0
- package/dist/chunk-OWOUTKIJ.cjs +558 -0
- package/dist/chunk-OX6O6WVA.cjs +74 -0
- package/dist/chunk-OXSIH4D6.cjs +476 -0
- package/dist/chunk-OYEUREB6.cjs +35 -0
- package/dist/chunk-PCOTGFSM.cjs +139 -0
- package/dist/chunk-PZYCPSCC.cjs +35 -0
- package/dist/chunk-QBK2AA4U.cjs +445 -0
- package/dist/chunk-QBPXNZGV.cjs +487 -0
- package/dist/chunk-QNPEUFHQ.cjs +27 -0
- package/dist/chunk-QZRVZSPN.cjs +236 -0
- package/dist/chunk-R5A5KNVX.cjs +20 -0
- package/dist/chunk-R5JIFR6B.cjs +42 -0
- package/dist/chunk-R6AIILII.cjs +193 -0
- package/dist/chunk-RG3ZOTG5.cjs +34 -0
- package/dist/chunk-ROUTX2E5.cjs +390 -0
- package/dist/chunk-RTHIVJ2G.cjs +54 -0
- package/dist/chunk-S3A45T7F.cjs +166 -0
- package/dist/chunk-S3JO3N4H.cjs +17 -0
- package/dist/chunk-SK35NQKK.cjs +27 -0
- package/dist/chunk-SU7MH53P.cjs +180 -0
- package/dist/chunk-SVRTJOUF.cjs +113 -0
- package/dist/chunk-SWN467MP.cjs +18 -0
- package/dist/chunk-SYQ3MOWW.cjs +73 -0
- package/dist/chunk-T5CERMEH.cjs +417 -0
- package/dist/chunk-TFAXUHWX.cjs +206 -0
- package/dist/chunk-TIWHTW3Q.cjs +24 -0
- package/dist/chunk-TKJZFIML.cjs +20 -0
- package/dist/chunk-TKNSDBBN.cjs +193 -0
- package/dist/chunk-TWGMSEHX.cjs +525 -0
- package/dist/chunk-TYQUSXUG.cjs +1357 -0
- package/dist/chunk-U4KT7QP3.cjs +23 -0
- package/dist/chunk-UJ2C4ICS.cjs +277 -0
- package/dist/chunk-UN5GHC5V.cjs +10244 -0
- package/dist/chunk-UQZ4AYTH.cjs +168 -0
- package/dist/chunk-US2QVW3E.cjs +36 -0
- package/dist/chunk-VB6UCX3V.cjs +421 -0
- package/dist/chunk-VEKFLAQM.cjs +300 -0
- package/dist/chunk-VQDBNVOO.cjs +14 -0
- package/dist/chunk-W4E7WMXE.cjs +71 -0
- package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
- package/dist/chunk-WMAPPDMM.cjs +28 -0
- package/dist/chunk-WMOGFOUJ.cjs +223 -0
- package/dist/chunk-WPYFSQKK.cjs +37 -0
- package/dist/chunk-WZMNW2IW.cjs +1415 -0
- package/dist/chunk-XGC343EY.cjs +443 -0
- package/dist/chunk-XSKZORAS.cjs +727 -0
- package/dist/chunk-XWAWFQFS.cjs +82 -0
- package/dist/chunk-Y4YMF2NQ.cjs +460 -0
- package/dist/chunk-Y4YWHNKU.cjs +250 -0
- package/dist/chunk-Y53ZSFN6.cjs +504 -0
- package/dist/chunk-YA6LLTIJ.cjs +411 -0
- package/dist/chunk-YFPGHF5F.cjs +202 -0
- package/dist/chunk-YJRZR7VU.cjs +28 -0
- package/dist/chunk-YTAABQEV.cjs +1 -0
- package/dist/chunk-YX3DBN4M.cjs +18 -0
- package/dist/chunk-YZTASLPQ.cjs +64 -0
- package/dist/chunk-Z5HIWVDP.cjs +2173 -0
- package/dist/chunk-ZEG3OPIB.cjs +93 -0
- package/dist/chunk-ZMN3H73H.cjs +155 -0
- package/dist/client/lifecycle.cjs +6 -35
- package/dist/client-plugins.cjs +7 -448
- package/dist/client.cjs +171 -9808
- package/dist/config.cjs +8 -36
- package/dist/cron.cjs +24 -491
- package/dist/deferred.cjs +26 -475
- package/dist/deployment.cjs +39 -210
- package/dist/devtools-OUIPHVV6.cjs +388 -0
- package/dist/devtools-client-4WAPJY5L.cjs +254 -0
- package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
- package/dist/docs.cjs +46 -5657
- package/dist/env-types.cjs +5 -226
- package/dist/env.cjs +21 -338
- package/dist/environment/vite.cjs +8 -372
- package/dist/environment.cjs +12 -94
- package/dist/font.cjs +13 -63
- package/dist/headers.cjs +7 -123
- package/dist/i18n/client.cjs +55 -294
- package/dist/i18n/index.cjs +22 -209
- package/dist/i18n/server.cjs +22 -745
- package/dist/image/server.cjs +13 -729
- package/dist/image/sharp.cjs +33 -171
- package/dist/image.cjs +41 -85
- package/dist/index.cjs +1151 -68080
- package/dist/index.mjs +3 -3
- package/dist/instrumentation.cjs +12 -138
- package/dist/integration-orm-55F7CII5.cjs +13 -0
- package/dist/integrations.cjs +55 -4090
- package/dist/internal/app-markdown-runtime.cjs +27 -224
- package/dist/internal/build-runtime.cjs +120 -52259
- package/dist/internal/build-runtime.mjs +3 -3
- package/dist/internal/cli-runtime.cjs +67 -13811
- package/dist/internal/client-error-overlay.cjs +80 -733
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.cjs +81 -913
- package/dist/internal/compression-runtime.cjs +8 -214
- package/dist/internal/config-runtime.cjs +42 -6547
- package/dist/internal/docs-precompiled-runtime.cjs +26 -46
- package/dist/internal/infra-analytics-runtime.cjs +10 -536
- package/dist/internal/isolated-boundary.cjs +14 -414
- package/dist/internal/metadata-image-runtime.cjs +7 -285
- package/dist/internal/product-telemetry-runtime.cjs +42 -97
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-node-env.cjs +6 -63
- package/dist/internal/production-runtime.cjs +418 -7133
- package/dist/internal/request-cookies.cjs +6 -54
- package/dist/json-ld.cjs +24 -50
- package/dist/layers-E4WPJNY5.cjs +17 -0
- package/dist/manager-G4B2IPYE.cjs +14 -0
- package/dist/markdown.cjs +21 -547
- package/dist/middleware.cjs +36 -2995
- package/dist/navigation.cjs +22 -2588
- package/dist/nitro-4I2MYLY2.cjs +652 -0
- package/dist/observability.cjs +22 -614
- package/dist/og.cjs +5 -28
- package/dist/plugin.cjs +106 -37442
- package/dist/plugin.mjs +2 -2
- package/dist/query/client.cjs +113 -449
- package/dist/query/index.cjs +26 -288
- package/dist/query/parsers.cjs +23 -247
- package/dist/query/server.cjs +36 -298
- package/dist/renderer/react/client.cjs +9 -43
- package/dist/renderer/react/server.cjs +40 -103
- package/dist/renderer/react/vite.cjs +7 -29
- package/dist/renderer-client.cjs +126 -4295
- package/dist/renderer.cjs +31 -249
- package/dist/request.cjs +5 -68
- package/dist/router.cjs +11 -474
- package/dist/routes.cjs +42 -2461
- package/dist/schema-dev-notice-MXSZMVDG.cjs +56 -0
- package/dist/schema.cjs +6 -33
- package/dist/search-client-G3RICOFU.cjs +13 -0
- package/dist/server-action-security.cjs +25 -541
- package/dist/server-fn-client.cjs +6 -337
- package/dist/server-fn.cjs +32 -1841
- package/dist/server-plugins.cjs +15 -884
- package/dist/server-query-client.cjs +15 -1883
- package/dist/server-query.cjs +16 -1838
- package/dist/server.cjs +296 -44681
- package/dist/server.mjs +2 -2
- package/dist/storage.cjs +57 -576
- package/dist/testing.cjs +89 -3186
- package/dist/theme/client.cjs +13 -108
- package/dist/theme/index.cjs +6 -68
- package/dist/theme/runtime.cjs +13 -78
- package/dist/theme/server.cjs +10 -179
- package/dist/version.cjs +4 -32
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +119 -37773
- package/dist/vite.mjs +2 -2
- package/dist/workflows.cjs +19 -1040
- package/package.json +1 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _chunkYX3DBN4Mcjs = require('./chunk-YX3DBN4M.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var _chunkDVM4FKZLcjs = require('./chunk-DVM4FKZL.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
var _chunkOX6O6WVAcjs = require('./chunk-OX6O6WVA.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunk5ZSWG4UXcjs = require('./chunk-5ZSWG4UX.cjs');
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
19
|
+
|
|
20
|
+
// src/plugins/redirects.ts
|
|
21
|
+
function createRedirectsPlugin(redirects, {
|
|
22
|
+
beforeRequest: overrideBeforeRequest,
|
|
23
|
+
afterResponse: overrideAfterResponse,
|
|
24
|
+
i18n
|
|
25
|
+
} = {}) {
|
|
26
|
+
for (const redirect of redirects) {
|
|
27
|
+
if (redirect.statusCode !== void 0 && !_chunkOX6O6WVAcjs.isFarmRedirectStatus.call(void 0, redirect.statusCode)) {
|
|
28
|
+
throw new RangeError(
|
|
29
|
+
`Redirect "${redirect.source}" statusCode must be one of 301, 302, 303, 307, or 308.`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const compiledRedirects = redirects.map((redirect) => ({
|
|
34
|
+
redirect,
|
|
35
|
+
pattern: _chunkDVM4FKZLcjs.compileConfigRoutePattern.call(void 0, redirect.source)
|
|
36
|
+
}));
|
|
37
|
+
return {
|
|
38
|
+
name: "farm:redirects",
|
|
39
|
+
enforce: "pre",
|
|
40
|
+
async beforeRequest(req, res, context) {
|
|
41
|
+
if (overrideBeforeRequest) {
|
|
42
|
+
await overrideBeforeRequest(req, res, context);
|
|
43
|
+
}
|
|
44
|
+
const url = _chunk5ZSWG4UXcjs.resolveFarmRequestURL.call(void 0, req);
|
|
45
|
+
const routePath = _chunkDVM4FKZLcjs.resolveConfigRoutePathname.call(void 0, url.pathname, i18n);
|
|
46
|
+
const pathname = routePath.pathname;
|
|
47
|
+
for (const { redirect, pattern } of compiledRedirects) {
|
|
48
|
+
const match = pathname.match(pattern.regex);
|
|
49
|
+
if (match) {
|
|
50
|
+
const localizedDestination = _chunkDVM4FKZLcjs.localizeConfigRouteDestination.call(void 0,
|
|
51
|
+
_chunkDVM4FKZLcjs.interpolateConfigRouteDestination.call(void 0, redirect.destination, match, pattern.tokens),
|
|
52
|
+
routePath.locale,
|
|
53
|
+
i18n
|
|
54
|
+
);
|
|
55
|
+
const destination = _chunkYX3DBN4Mcjs.appendFarmRedirectQuery.call(void 0, localizedDestination, url.search);
|
|
56
|
+
const statusCode = _nullishCoalesce(redirect.statusCode, () => ( (redirect.permanent ? 308 : 307)));
|
|
57
|
+
res.writeHead(statusCode, {
|
|
58
|
+
Location: destination
|
|
59
|
+
});
|
|
60
|
+
res.end();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
async afterResponse(req, res, context) {
|
|
66
|
+
if (overrideAfterResponse) {
|
|
67
|
+
await overrideAfterResponse(req, res, context);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createRedirectsPlugin, "createRedirectsPlugin");
|
|
73
|
+
|
|
74
|
+
// src/plugins/headers.ts
|
|
75
|
+
var FARM_CONFIG_HEADERS_FINALIZER = /* @__PURE__ */ Symbol.for("farm.configHeadersFinalizer");
|
|
76
|
+
function appendConfiguredLinkHeader(res, value) {
|
|
77
|
+
const current = res.getHeader("Link");
|
|
78
|
+
if (current === void 0) {
|
|
79
|
+
res.setHeader("Link", value);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const currentValue = Array.isArray(current) ? current.join(", ") : String(current);
|
|
83
|
+
if (currentValue !== value && !currentValue.endsWith(`, ${value}`)) {
|
|
84
|
+
res.setHeader("Link", `${currentValue}, ${value}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, appendConfiguredLinkHeader, "appendConfiguredLinkHeader");
|
|
88
|
+
function appendConfiguredSetCookieHeader(res, value) {
|
|
89
|
+
const current = res.getHeader("Set-Cookie");
|
|
90
|
+
if (current === void 0) {
|
|
91
|
+
res.setHeader("Set-Cookie", value);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const values = (Array.isArray(current) ? current : [current]).map(String);
|
|
95
|
+
if (!values.includes(value)) {
|
|
96
|
+
res.setHeader("Set-Cookie", [...values, value]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, appendConfiguredSetCookieHeader, "appendConfiguredSetCookieHeader");
|
|
100
|
+
function applyResponseHeaders(res, matchedHeaders) {
|
|
101
|
+
for (const headers of matchedHeaders) {
|
|
102
|
+
for (const header of headers) {
|
|
103
|
+
const key = header.key.toLowerCase();
|
|
104
|
+
if (key === "link") {
|
|
105
|
+
appendConfiguredLinkHeader(res, header.value);
|
|
106
|
+
} else if (key === "set-cookie") {
|
|
107
|
+
appendConfiguredSetCookieHeader(res, header.value);
|
|
108
|
+
} else {
|
|
109
|
+
res.setHeader(header.key, header.value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, applyResponseHeaders, "applyResponseHeaders");
|
|
115
|
+
function applyWriteHeadHeaders(res, headers) {
|
|
116
|
+
if (Array.isArray(headers)) {
|
|
117
|
+
let setCookieWritten = false;
|
|
118
|
+
for (let index = 0; index + 1 < headers.length; index += 2) {
|
|
119
|
+
const key = String(headers[index]);
|
|
120
|
+
const value = headers[index + 1];
|
|
121
|
+
if (key.toLowerCase() === "set-cookie" && setCookieWritten) {
|
|
122
|
+
const current = res.getHeader("Set-Cookie");
|
|
123
|
+
const values = (Array.isArray(current) ? current : [current]).filter(
|
|
124
|
+
(entry) => entry !== void 0
|
|
125
|
+
);
|
|
126
|
+
res.setHeader("Set-Cookie", [...values, ...Array.isArray(value) ? value : [value]]);
|
|
127
|
+
} else {
|
|
128
|
+
res.setHeader(key, value);
|
|
129
|
+
if (key.toLowerCase() === "set-cookie") setCookieWritten = true;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (!headers || typeof headers !== "object") return;
|
|
135
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
136
|
+
if (value !== void 0) res.setHeader(key, value);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, applyWriteHeadHeaders, "applyWriteHeadHeaders");
|
|
140
|
+
function createHeadersPlugin(headers, {
|
|
141
|
+
beforeRequest: overrideBeforeRequest,
|
|
142
|
+
afterResponse: overrideAfterResponse,
|
|
143
|
+
i18n
|
|
144
|
+
} = {}) {
|
|
145
|
+
const compiledHeaders = headers.map((config) => ({
|
|
146
|
+
config,
|
|
147
|
+
pattern: _chunkDVM4FKZLcjs.compileConfigRoutePattern.call(void 0, config.source)
|
|
148
|
+
}));
|
|
149
|
+
return {
|
|
150
|
+
name: "farm:headers",
|
|
151
|
+
enforce: "pre",
|
|
152
|
+
async beforeRequest(req, res, context) {
|
|
153
|
+
if (overrideBeforeRequest) {
|
|
154
|
+
await overrideBeforeRequest(req, res, context);
|
|
155
|
+
}
|
|
156
|
+
const url = _chunk5ZSWG4UXcjs.resolveFarmRequestURL.call(void 0, req);
|
|
157
|
+
const pathname = _chunkDVM4FKZLcjs.resolveConfigRoutePathname.call(void 0, url.pathname, i18n).pathname;
|
|
158
|
+
const matchedHeaders = compiledHeaders.filter(({ pattern }) => pattern.regex.test(pathname)).map(({ config }) => config.headers);
|
|
159
|
+
applyResponseHeaders(res, matchedHeaders);
|
|
160
|
+
const responseWithFinalizer = res;
|
|
161
|
+
if (matchedHeaders.length === 0 || responseWithFinalizer[FARM_CONFIG_HEADERS_FINALIZER]) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
responseWithFinalizer[FARM_CONFIG_HEADERS_FINALIZER] = true;
|
|
165
|
+
const writeHead = res.writeHead;
|
|
166
|
+
res.writeHead = ((statusCode, ...args) => {
|
|
167
|
+
const statusMessage = typeof args[0] === "string" ? args.shift() : void 0;
|
|
168
|
+
applyWriteHeadHeaders(res, args[0]);
|
|
169
|
+
applyResponseHeaders(res, matchedHeaders);
|
|
170
|
+
return statusMessage === void 0 ? writeHead.call(res, statusCode) : writeHead.call(res, statusCode, statusMessage);
|
|
171
|
+
});
|
|
172
|
+
},
|
|
173
|
+
async afterResponse(req, res, context) {
|
|
174
|
+
if (overrideAfterResponse) {
|
|
175
|
+
await overrideAfterResponse(req, res, context);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createHeadersPlugin, "createHeadersPlugin");
|
|
181
|
+
|
|
182
|
+
// src/plugins/env.ts
|
|
183
|
+
function createEnvPlugin(env, {
|
|
184
|
+
beforeRequest: overrideBeforeRequest,
|
|
185
|
+
afterResponse: overrideAfterResponse
|
|
186
|
+
} = {}) {
|
|
187
|
+
return {
|
|
188
|
+
name: "farm:env",
|
|
189
|
+
configResolved(config, context) {
|
|
190
|
+
for (const [key, value] of Object.entries(env)) {
|
|
191
|
+
process.env[key] = value;
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
async beforeRequest(req, res, context) {
|
|
195
|
+
if (overrideBeforeRequest) {
|
|
196
|
+
await overrideBeforeRequest(req, res, context);
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
async afterResponse(req, res, context) {
|
|
200
|
+
if (overrideAfterResponse) {
|
|
201
|
+
await overrideAfterResponse(req, res, context);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createEnvPlugin, "createEnvPlugin");
|
|
207
|
+
|
|
208
|
+
// src/plugins/logger.ts
|
|
209
|
+
function createLoggerPlugin({
|
|
210
|
+
beforeRequest,
|
|
211
|
+
afterResponse
|
|
212
|
+
} = {}) {
|
|
213
|
+
const plugin = {
|
|
214
|
+
name: "farm:logger",
|
|
215
|
+
enforce: "post"
|
|
216
|
+
};
|
|
217
|
+
if (beforeRequest) {
|
|
218
|
+
plugin.beforeRequest = async (req, res, context) => {
|
|
219
|
+
await beforeRequest(req, res, context);
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
if (afterResponse) {
|
|
223
|
+
plugin.afterResponse = async (req, res, context) => {
|
|
224
|
+
await afterResponse(req, res, context);
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
return plugin;
|
|
228
|
+
}
|
|
229
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createLoggerPlugin, "createLoggerPlugin");
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
exports.createRedirectsPlugin = createRedirectsPlugin; exports.createHeadersPlugin = createHeadersPlugin; exports.createEnvPlugin = createEnvPlugin; exports.createLoggerPlugin = createLoggerPlugin;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/client/hash-target.ts
|
|
6
|
+
function getHashTargetElement(hash) {
|
|
7
|
+
const fragment = hash.startsWith("#") ? hash.slice(1) : hash;
|
|
8
|
+
if (!fragment) return null;
|
|
9
|
+
let decoded = fragment;
|
|
10
|
+
try {
|
|
11
|
+
decoded = decodeURIComponent(fragment);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
}
|
|
14
|
+
return document.getElementById(decoded) || document.getElementById(fragment) || document.getElementsByName(decoded)[0] || null;
|
|
15
|
+
}
|
|
16
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, getHashTargetElement, "getHashTargetElement");
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
exports.getHashTargetElement = getHashTargetElement;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
|
+
|
|
3
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/agent-json-ld.ts
|
|
6
|
+
function pruneUndefined(object) {
|
|
7
|
+
const result = {};
|
|
8
|
+
for (const [key, value] of Object.entries(object)) {
|
|
9
|
+
if (value !== void 0 && value !== null && value !== "") result[key] = value;
|
|
10
|
+
}
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, pruneUndefined, "pruneUndefined");
|
|
14
|
+
function serializeJsonLd(value) {
|
|
15
|
+
return JSON.stringify(value).replace(/</g, "\\u003c");
|
|
16
|
+
}
|
|
17
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, serializeJsonLd, "serializeJsonLd");
|
|
18
|
+
function renderFarmAgentJsonLd(config, context) {
|
|
19
|
+
const base = pruneUndefined({
|
|
20
|
+
name: _nullishCoalesce(_nullishCoalesce(config.name, () => ( context.siteName)), () => ( context.title)),
|
|
21
|
+
url: _nullishCoalesce(config.url, () => ( context.metadataBase)),
|
|
22
|
+
description: _nullishCoalesce(config.description, () => ( context.description)),
|
|
23
|
+
logo: config.logo,
|
|
24
|
+
sameAs: config.sameAs && config.sameAs.length > 0 ? config.sameAs : void 0
|
|
25
|
+
});
|
|
26
|
+
const object = {
|
|
27
|
+
"@context": "https://schema.org",
|
|
28
|
+
"@type": config.type || "Organization",
|
|
29
|
+
...base,
|
|
30
|
+
...config.properties || {}
|
|
31
|
+
};
|
|
32
|
+
if (Object.keys(object).length <= 2 && !config.properties) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
return `<script type="application/ld+json">${serializeJsonLd(object)}</script>`;
|
|
36
|
+
}
|
|
37
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, renderFarmAgentJsonLd, "renderFarmAgentJsonLd");
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
exports.serializeJsonLd = serializeJsonLd; exports.renderFarmAgentJsonLd = renderFarmAgentJsonLd;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/plugins/compression.ts
|
|
6
|
+
var _stream = require('stream');
|
|
7
|
+
var _zlib = require('zlib');
|
|
8
|
+
var Q_VALUE = /^(?:0(?:\.\d{0,3})?|1(?:\.0{0,3})?)$/;
|
|
9
|
+
function parseEncodingQuality(header) {
|
|
10
|
+
const qualities = /* @__PURE__ */ new Map();
|
|
11
|
+
for (const item of header.split(",")) {
|
|
12
|
+
const [rawEncoding, ...parameters] = item.trim().split(";");
|
|
13
|
+
const encoding = _optionalChain([rawEncoding, 'optionalAccess', _ => _.trim, 'call', _2 => _2(), 'access', _3 => _3.toLowerCase, 'call', _4 => _4()]);
|
|
14
|
+
if (!encoding) continue;
|
|
15
|
+
let quality = 1;
|
|
16
|
+
for (const parameter of parameters) {
|
|
17
|
+
const [rawName, rawValue] = parameter.split("=", 2);
|
|
18
|
+
if (_optionalChain([rawName, 'optionalAccess', _5 => _5.trim, 'call', _6 => _6(), 'access', _7 => _7.toLowerCase, 'call', _8 => _8()]) !== "q") continue;
|
|
19
|
+
const value = _nullishCoalesce(_optionalChain([rawValue, 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]), () => ( ""));
|
|
20
|
+
quality = Q_VALUE.test(value) ? Number(value) : 0;
|
|
21
|
+
}
|
|
22
|
+
qualities.set(encoding, Math.max(_nullishCoalesce(qualities.get(encoding), () => ( 0)), quality));
|
|
23
|
+
}
|
|
24
|
+
return qualities;
|
|
25
|
+
}
|
|
26
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, parseEncodingQuality, "parseEncodingQuality");
|
|
27
|
+
function selectEncoding(header) {
|
|
28
|
+
if (!header.trim()) return void 0;
|
|
29
|
+
const qualities = parseEncodingQuality(header);
|
|
30
|
+
const wildcard = _nullishCoalesce(qualities.get("*"), () => ( 0));
|
|
31
|
+
const quality = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (encoding) => _nullishCoalesce(qualities.get(encoding), () => ( wildcard)), "quality");
|
|
32
|
+
const brotli = quality("br");
|
|
33
|
+
const gzip2 = quality("gzip");
|
|
34
|
+
if (brotli <= 0 && gzip2 <= 0) return void 0;
|
|
35
|
+
return brotli >= gzip2 ? "br" : "gzip";
|
|
36
|
+
}
|
|
37
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, selectEncoding, "selectEncoding");
|
|
38
|
+
var COMPRESSIBLE_MEDIA_TYPES = /* @__PURE__ */ new Set([
|
|
39
|
+
"application/javascript",
|
|
40
|
+
"application/json",
|
|
41
|
+
"application/ndjson",
|
|
42
|
+
"application/wasm",
|
|
43
|
+
"application/x-ndjson",
|
|
44
|
+
"application/xml",
|
|
45
|
+
// Font formats that store raw glyph tables. `font/woff` and `font/woff2` are
|
|
46
|
+
// deliberately absent: their payloads are already deflate and brotli streams.
|
|
47
|
+
"application/vnd.ms-fontobject",
|
|
48
|
+
"font/otf",
|
|
49
|
+
"font/ttf"
|
|
50
|
+
]);
|
|
51
|
+
var COMPRESSIBLE_MEDIA_TYPE_SUFFIXES = ["+json", "+xml"];
|
|
52
|
+
function isCompressibleMediaType(mediaType) {
|
|
53
|
+
if (!mediaType) return false;
|
|
54
|
+
if (mediaType === "text/event-stream") return false;
|
|
55
|
+
if (mediaType.startsWith("text/")) return true;
|
|
56
|
+
if (COMPRESSIBLE_MEDIA_TYPES.has(mediaType)) return true;
|
|
57
|
+
return COMPRESSIBLE_MEDIA_TYPE_SUFFIXES.some((suffix) => mediaType.endsWith(suffix));
|
|
58
|
+
}
|
|
59
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isCompressibleMediaType, "isCompressibleMediaType");
|
|
60
|
+
function isCompressionEligible(request, response) {
|
|
61
|
+
if (request.method !== "HEAD" && !response.body || response.status === 204 || response.status === 205 || response.status === 304 || response.headers.has("content-encoding") || response.headers.has("content-range") || _optionalChain([response, 'access', _11 => _11.headers, 'access', _12 => _12.get, 'call', _13 => _13("cache-control"), 'optionalAccess', _14 => _14.toLowerCase, 'call', _15 => _15(), 'access', _16 => _16.includes, 'call', _17 => _17("no-transform")])) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const mediaType = _optionalChain([response, 'access', _18 => _18.headers, 'access', _19 => _19.get, 'call', _20 => _20("content-type"), 'optionalAccess', _21 => _21.split, 'call', _22 => _22(";", 1), 'access', _23 => _23[0], 'optionalAccess', _24 => _24.trim, 'call', _25 => _25(), 'access', _26 => _26.toLowerCase, 'call', _27 => _27()]);
|
|
65
|
+
return isCompressibleMediaType(mediaType);
|
|
66
|
+
}
|
|
67
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, isCompressionEligible, "isCompressionEligible");
|
|
68
|
+
function appendVary(headers, value) {
|
|
69
|
+
const current = headers.get("vary");
|
|
70
|
+
const values = current ? current.split(",").map((item) => item.trim()).filter(Boolean) : [];
|
|
71
|
+
if (values.includes("*")) return;
|
|
72
|
+
if (!values.some((item) => item.toLowerCase() === value.toLowerCase())) {
|
|
73
|
+
values.push(value);
|
|
74
|
+
}
|
|
75
|
+
headers.set("vary", values.join(", "));
|
|
76
|
+
}
|
|
77
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, appendVary, "appendVary");
|
|
78
|
+
var BROTLI_QUALITY = 5;
|
|
79
|
+
function compressedHeaders(response, encoding) {
|
|
80
|
+
const headers = new Headers(response.headers);
|
|
81
|
+
headers.set("content-encoding", encoding);
|
|
82
|
+
headers.delete("content-length");
|
|
83
|
+
appendVary(headers, "Accept-Encoding");
|
|
84
|
+
const etag = headers.get("etag");
|
|
85
|
+
if (etag && !etag.startsWith("W/")) {
|
|
86
|
+
headers.set("etag", `W/${etag}`);
|
|
87
|
+
}
|
|
88
|
+
return headers;
|
|
89
|
+
}
|
|
90
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, compressedHeaders, "compressedHeaders");
|
|
91
|
+
function compressBufferedResponse(response, text, encoding) {
|
|
92
|
+
const headers = compressedHeaders(response, encoding);
|
|
93
|
+
_optionalChain([response, 'access', _28 => _28.body, 'optionalAccess', _29 => _29.cancel, 'call', _30 => _30(), 'access', _31 => _31.catch, 'call', _32 => _32(() => {
|
|
94
|
+
})]);
|
|
95
|
+
const input = Buffer.from(text);
|
|
96
|
+
let cancelled = false;
|
|
97
|
+
const body = new ReadableStream({
|
|
98
|
+
start(controller) {
|
|
99
|
+
const done = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (error, output) => {
|
|
100
|
+
if (cancelled) return;
|
|
101
|
+
if (error) {
|
|
102
|
+
controller.error(error);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
controller.enqueue(new Uint8Array(output.buffer, output.byteOffset, output.byteLength));
|
|
106
|
+
controller.close();
|
|
107
|
+
}, "done");
|
|
108
|
+
if (encoding === "br") {
|
|
109
|
+
_zlib.brotliCompress.call(void 0,
|
|
110
|
+
input,
|
|
111
|
+
{ params: { [_zlib.constants.BROTLI_PARAM_QUALITY]: BROTLI_QUALITY } },
|
|
112
|
+
done
|
|
113
|
+
);
|
|
114
|
+
} else {
|
|
115
|
+
_zlib.gzip.call(void 0, input, done);
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
cancel() {
|
|
119
|
+
cancelled = true;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return new Response(body, {
|
|
123
|
+
status: response.status,
|
|
124
|
+
statusText: response.statusText,
|
|
125
|
+
headers
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, compressBufferedResponse, "compressBufferedResponse");
|
|
129
|
+
function compressResponse(response, encoding) {
|
|
130
|
+
const compressor = encoding === "br" ? _zlib.createBrotliCompress.call(void 0, {
|
|
131
|
+
flush: _zlib.constants.BROTLI_OPERATION_FLUSH,
|
|
132
|
+
params: { [_zlib.constants.BROTLI_PARAM_QUALITY]: BROTLI_QUALITY }
|
|
133
|
+
}) : _zlib.createGzip.call(void 0, { flush: _zlib.constants.Z_SYNC_FLUSH });
|
|
134
|
+
const input = _stream.Readable.fromWeb(response.body);
|
|
135
|
+
const output = _stream.pipeline.call(void 0, input, compressor, () => {
|
|
136
|
+
});
|
|
137
|
+
const headers = compressedHeaders(response, encoding);
|
|
138
|
+
return new Response(_stream.Readable.toWeb(output), {
|
|
139
|
+
status: response.status,
|
|
140
|
+
statusText: response.statusText,
|
|
141
|
+
headers
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, compressResponse, "compressResponse");
|
|
145
|
+
function varyIdentityResponse(response) {
|
|
146
|
+
const headers = new Headers(response.headers);
|
|
147
|
+
appendVary(headers, "Accept-Encoding");
|
|
148
|
+
return new Response(response.body, {
|
|
149
|
+
status: response.status,
|
|
150
|
+
statusText: response.statusText,
|
|
151
|
+
headers
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, varyIdentityResponse, "varyIdentityResponse");
|
|
155
|
+
function compressFarmResponse(request, response, bufferedText) {
|
|
156
|
+
if (!isCompressionEligible(request, response)) return response;
|
|
157
|
+
if (request.method === "HEAD") return varyIdentityResponse(response);
|
|
158
|
+
const encoding = selectEncoding(_nullishCoalesce(request.headers.get("accept-encoding"), () => ( "")));
|
|
159
|
+
if (!encoding) return varyIdentityResponse(response);
|
|
160
|
+
return bufferedText === void 0 ? compressResponse(response, encoding) : compressBufferedResponse(response, bufferedText, encoding);
|
|
161
|
+
}
|
|
162
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, compressFarmResponse, "compressFarmResponse");
|
|
163
|
+
function createCompressionPlugin({
|
|
164
|
+
beforeRequest: overrideBeforeRequest,
|
|
165
|
+
afterResponse: overrideAfterResponse
|
|
166
|
+
} = {}) {
|
|
167
|
+
return {
|
|
168
|
+
name: "farm:compression",
|
|
169
|
+
enforce: "post",
|
|
170
|
+
runtime: {
|
|
171
|
+
after({ request, response, isProd }) {
|
|
172
|
+
if (!isProd) return;
|
|
173
|
+
return compressFarmResponse(request, response);
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
async beforeRequest(req, res, context) {
|
|
177
|
+
if (overrideBeforeRequest) {
|
|
178
|
+
await overrideBeforeRequest(req, res, context);
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
async afterResponse(req, res, context) {
|
|
182
|
+
if (overrideAfterResponse) {
|
|
183
|
+
await overrideAfterResponse(req, res, context);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, createCompressionPlugin, "createCompressionPlugin");
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
exports.compressFarmResponse = compressFarmResponse; exports.createCompressionPlugin = createCompressionPlugin;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
+
|
|
3
|
+
var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
|
|
4
|
+
|
|
5
|
+
// src/request-cookies.ts
|
|
6
|
+
function parseRequestCookieHeader(header) {
|
|
7
|
+
if (!_optionalChain([header, 'optionalAccess', _ => _.trim, 'call', _2 => _2()])) return [];
|
|
8
|
+
return header.split(";").map((part) => part.trim()).filter(Boolean).map((part) => {
|
|
9
|
+
const separatorIndex = part.indexOf("=");
|
|
10
|
+
if (separatorIndex === -1) {
|
|
11
|
+
return {
|
|
12
|
+
name: decodeCookiePart(part),
|
|
13
|
+
value: ""
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
name: decodeCookiePart(part.slice(0, separatorIndex).trim()),
|
|
18
|
+
value: decodeCookiePart(part.slice(separatorIndex + 1).trim())
|
|
19
|
+
};
|
|
20
|
+
}).filter((cookie) => cookie.name.length > 0);
|
|
21
|
+
}
|
|
22
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, parseRequestCookieHeader, "parseRequestCookieHeader");
|
|
23
|
+
function decodeCookiePart(value) {
|
|
24
|
+
try {
|
|
25
|
+
return decodeURIComponent(value);
|
|
26
|
+
} catch (e) {
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
_chunkS3JO3N4Hcjs.__name.call(void 0, decodeCookiePart, "decodeCookiePart");
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
exports.parseRequestCookieHeader = parseRequestCookieHeader;
|