@modern-js/server-core 2.54.6 → 2.55.0
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/cjs/index.js +3 -1
- package/dist/cjs/plugins/render/dataHandler.js +3 -2
- package/dist/cjs/plugins/render/index.js +1 -1
- package/dist/cjs/plugins/render/render.js +37 -13
- package/dist/cjs/plugins/render/serverTiming.js +6 -4
- package/dist/cjs/plugins/render/ssrCache.js +72 -83
- package/dist/cjs/plugins/render/ssrRender.js +40 -145
- package/dist/cjs/types/requestHandler.js +16 -0
- package/dist/cjs/utils/transformStream.js +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/plugins/render/dataHandler.js +4 -3
- package/dist/esm/plugins/render/index.js +1 -1
- package/dist/esm/plugins/render/render.js +56 -22
- package/dist/esm/plugins/render/serverTiming.js +12 -4
- package/dist/esm/plugins/render/ssrCache.js +101 -131
- package/dist/esm/plugins/render/ssrRender.js +55 -175
- package/dist/esm/types/requestHandler.js +0 -0
- package/dist/esm/utils/transformStream.js +16 -2
- package/dist/esm-node/index.js +1 -0
- package/dist/esm-node/plugins/render/dataHandler.js +3 -2
- package/dist/esm-node/plugins/render/index.js +1 -1
- package/dist/esm-node/plugins/render/render.js +38 -14
- package/dist/esm-node/plugins/render/serverTiming.js +6 -4
- package/dist/esm-node/plugins/render/ssrCache.js +73 -74
- package/dist/esm-node/plugins/render/ssrRender.js +43 -137
- package/dist/esm-node/types/requestHandler.js +0 -0
- package/dist/esm-node/utils/transformStream.js +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/plugins/render/dataHandler.d.ts +1 -1
- package/dist/types/plugins/render/render.d.ts +3 -2
- package/dist/types/plugins/render/serverTiming.d.ts +3 -2
- package/dist/types/plugins/render/ssrCache.d.ts +7 -11
- package/dist/types/plugins/render/ssrRender.d.ts +10 -10
- package/dist/types/types/config/html.d.ts +11 -0
- package/dist/types/types/config/output.d.ts +8 -0
- package/dist/types/types/requestHandler.d.ts +43 -0
- package/dist/types/types/server.d.ts +7 -2
- package/dist/types/utils/transformStream.d.ts +1 -1
- package/package.json +7 -8
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
3
|
+
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
|
4
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
5
|
+
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
3
6
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
4
7
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
5
8
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
6
9
|
import { cutNameByHyphen } from "@modern-js/utils/universal";
|
|
7
10
|
import { TrieRouter } from "hono/router/trie-router";
|
|
8
|
-
import { parseQuery, getPathname, createErrorHtml, sortRoutes, transformResponse, onError as onErrorFn, ErrorDigest } from "../../utils";
|
|
11
|
+
import { parseQuery, getPathname, createErrorHtml, sortRoutes, transformResponse, onError as onErrorFn, ErrorDigest, parseHeaders } from "../../utils";
|
|
9
12
|
import { REPLACE_REG, X_MODERNJS_RENDER } from "../../constants";
|
|
10
13
|
import { dataHandler } from "./dataHandler";
|
|
11
14
|
import { ssrRender } from "./ssrRender";
|
|
15
|
+
import { ServerTiming } from "./serverTiming";
|
|
12
16
|
var DYNAMIC_ROUTE_REG = /\/:./;
|
|
13
17
|
function getRouter(routes) {
|
|
14
18
|
var dynamicRoutes = [];
|
|
@@ -52,20 +56,28 @@ function matchRoute(router, request) {
|
|
|
52
56
|
var result = matched[0][0];
|
|
53
57
|
return result || [];
|
|
54
58
|
}
|
|
59
|
+
function getHeadersWithoutCookie(headers) {
|
|
60
|
+
var _headers = _object_spread_props(_object_spread({}, headers), {
|
|
61
|
+
cookie: void 0
|
|
62
|
+
});
|
|
63
|
+
delete _headers.cookie;
|
|
64
|
+
return _headers;
|
|
65
|
+
}
|
|
66
|
+
var SERVER_TIMING = "Server-Timing";
|
|
55
67
|
function createRender(_) {
|
|
56
68
|
return _createRender.apply(this, arguments);
|
|
57
69
|
}
|
|
58
70
|
function _createRender() {
|
|
59
71
|
_createRender = _async_to_generator(function(param) {
|
|
60
|
-
var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR,
|
|
72
|
+
var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallbackFn, router;
|
|
61
73
|
return _ts_generator(this, function(_state) {
|
|
62
|
-
routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, cacheConfig = param.cacheConfig, forceCSR = param.forceCSR,
|
|
74
|
+
routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, cacheConfig = param.cacheConfig, forceCSR = param.forceCSR, config = param.config, onFallbackFn = param.onFallback;
|
|
63
75
|
router = getRouter(routes);
|
|
64
76
|
return [
|
|
65
77
|
2,
|
|
66
78
|
function() {
|
|
67
79
|
var _ref = _async_to_generator(function(req, param2) {
|
|
68
|
-
var logger, nodeReq, reporter, templates, serverManifest, locals, metrics, loaderContext, _matchRoute, routeInfo, params, onFallback, html, renderMode, onError, renderOptions, response;
|
|
80
|
+
var logger, nodeReq, reporter, templates, serverManifest, locals, metrics, loaderContext, _matchRoute, routeInfo, params, onFallback, html, renderMode, pathname, headerData, serverTimingInstance, onError, onTiming, onBoundError, renderOptions, response, _tmp;
|
|
69
81
|
return _ts_generator(this, function(_state2) {
|
|
70
82
|
switch (_state2.label) {
|
|
71
83
|
case 0:
|
|
@@ -117,7 +129,17 @@ function _createRender() {
|
|
|
117
129
|
];
|
|
118
130
|
case 1:
|
|
119
131
|
renderMode = _state2.sent();
|
|
120
|
-
|
|
132
|
+
pathname = getPathname(req);
|
|
133
|
+
headerData = parseHeaders(req);
|
|
134
|
+
serverTimingInstance = new ServerTiming(metaName || "modern");
|
|
135
|
+
onError = function(e) {
|
|
136
|
+
logger.error("SSR Error - ".concat(_instanceof(e, Error) ? e.name : e, ", error = %s, req.url = %s, req.headers = %o"), _instanceof(e, Error) ? e.stack || e.message : e, pathname, getHeadersWithoutCookie(headerData));
|
|
137
|
+
};
|
|
138
|
+
onTiming = function(name, dur) {
|
|
139
|
+
logger.debug("SSR Debug - ".concat(name, ", cost = %s, req.url = %s"), dur, pathname);
|
|
140
|
+
serverTimingInstance.addServeTiming(name, dur);
|
|
141
|
+
};
|
|
142
|
+
onBoundError = function() {
|
|
121
143
|
var _ref2 = _async_to_generator(function(e) {
|
|
122
144
|
return _ts_generator(this, function(_state3) {
|
|
123
145
|
switch (_state3.label) {
|
|
@@ -135,7 +157,7 @@ function _createRender() {
|
|
|
135
157
|
}
|
|
136
158
|
});
|
|
137
159
|
});
|
|
138
|
-
return function
|
|
160
|
+
return function onBoundError2(e) {
|
|
139
161
|
return _ref2.apply(this, arguments);
|
|
140
162
|
};
|
|
141
163
|
}();
|
|
@@ -144,18 +166,19 @@ function _createRender() {
|
|
|
144
166
|
html,
|
|
145
167
|
routeInfo,
|
|
146
168
|
staticGenerate: staticGenerate || false,
|
|
147
|
-
|
|
148
|
-
nonce,
|
|
149
|
-
logger,
|
|
169
|
+
config,
|
|
150
170
|
nodeReq,
|
|
151
171
|
cacheConfig,
|
|
152
172
|
reporter,
|
|
153
173
|
serverRoutes: routes,
|
|
154
174
|
params,
|
|
175
|
+
logger,
|
|
176
|
+
metrics,
|
|
155
177
|
locals,
|
|
156
178
|
serverManifest,
|
|
157
|
-
|
|
158
|
-
|
|
179
|
+
loaderContext: loaderContext || /* @__PURE__ */ new Map(),
|
|
180
|
+
onError,
|
|
181
|
+
onTiming
|
|
159
182
|
};
|
|
160
183
|
switch (renderMode) {
|
|
161
184
|
case "data":
|
|
@@ -176,7 +199,7 @@ function _createRender() {
|
|
|
176
199
|
}
|
|
177
200
|
return [
|
|
178
201
|
3,
|
|
179
|
-
|
|
202
|
+
8
|
|
180
203
|
];
|
|
181
204
|
case 2:
|
|
182
205
|
return [
|
|
@@ -184,34 +207,45 @@ function _createRender() {
|
|
|
184
207
|
dataHandler(req, renderOptions)
|
|
185
208
|
];
|
|
186
209
|
case 3:
|
|
187
|
-
|
|
188
|
-
if (
|
|
210
|
+
_tmp = _state2.sent();
|
|
211
|
+
if (_tmp)
|
|
189
212
|
return [
|
|
190
213
|
3,
|
|
191
214
|
5
|
|
192
215
|
];
|
|
193
216
|
return [
|
|
194
217
|
4,
|
|
195
|
-
renderHandler(req, renderOptions, "ssr",
|
|
218
|
+
renderHandler(req, renderOptions, "ssr", onBoundError)
|
|
196
219
|
];
|
|
197
220
|
case 4:
|
|
198
|
-
|
|
221
|
+
_tmp = _state2.sent();
|
|
199
222
|
_state2.label = 5;
|
|
200
223
|
case 5:
|
|
224
|
+
response = _tmp;
|
|
201
225
|
return [
|
|
202
|
-
|
|
203
|
-
|
|
226
|
+
3,
|
|
227
|
+
9
|
|
204
228
|
];
|
|
205
229
|
case 6:
|
|
206
230
|
return [
|
|
207
|
-
|
|
208
|
-
renderHandler(req, renderOptions, renderMode,
|
|
231
|
+
4,
|
|
232
|
+
renderHandler(req, renderOptions, renderMode, onBoundError)
|
|
209
233
|
];
|
|
210
234
|
case 7:
|
|
211
|
-
|
|
235
|
+
response = _state2.sent();
|
|
236
|
+
return [
|
|
237
|
+
3,
|
|
238
|
+
9
|
|
239
|
+
];
|
|
212
240
|
case 8:
|
|
241
|
+
throw new Error("Unknown render mode: ".concat(renderMode));
|
|
242
|
+
case 9:
|
|
243
|
+
serverTimingInstance.headers.forEach(function(value) {
|
|
244
|
+
response.headers.append(SERVER_TIMING, value);
|
|
245
|
+
});
|
|
213
246
|
return [
|
|
214
|
-
2
|
|
247
|
+
2,
|
|
248
|
+
response
|
|
215
249
|
];
|
|
216
250
|
}
|
|
217
251
|
});
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
|
|
2
|
+
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
3
|
var ServerTiming = /* @__PURE__ */ function() {
|
|
4
4
|
"use strict";
|
|
5
|
-
function ServerTiming2(
|
|
5
|
+
function ServerTiming2(meta) {
|
|
6
6
|
_class_call_check(this, ServerTiming2);
|
|
7
|
+
this.headerList = [];
|
|
7
8
|
this.meta = meta;
|
|
8
|
-
this.headers = headers;
|
|
9
9
|
}
|
|
10
10
|
var _proto = ServerTiming2.prototype;
|
|
11
11
|
_proto.addServeTiming = function addServeTiming(name, dur, desc) {
|
|
12
12
|
var _name = "bd-".concat(this.meta, "-").concat(name);
|
|
13
13
|
var value = "".concat(_name, ";").concat(desc ? 'decs="'.concat(desc, '";') : "", " dur=").concat(dur);
|
|
14
|
-
this.
|
|
14
|
+
this.headerList.push(value);
|
|
15
15
|
return this;
|
|
16
16
|
};
|
|
17
|
+
_create_class(ServerTiming2, [
|
|
18
|
+
{
|
|
19
|
+
key: "headers",
|
|
20
|
+
get: function get() {
|
|
21
|
+
return this.headerList;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
]);
|
|
17
25
|
return ServerTiming2;
|
|
18
26
|
}();
|
|
19
27
|
export {
|
|
@@ -1,139 +1,66 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as
|
|
2
|
+
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
3
3
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
4
4
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
5
5
|
import { createMemoryStorage } from "@modern-js/runtime-utils/storer";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import { X_RENDER_CACHE } from "../../constants";
|
|
7
|
+
import { createTransformStream, getPathname } from "../../utils";
|
|
8
|
+
function processCache(_) {
|
|
8
9
|
return _processCache.apply(this, arguments);
|
|
9
10
|
}
|
|
10
11
|
function _processCache() {
|
|
11
|
-
_processCache = _async_to_generator(function(
|
|
12
|
-
var
|
|
12
|
+
_processCache = _async_to_generator(function(param) {
|
|
13
|
+
var request, key, requestHandler, requestHandlerOptions, ttl, container, cacheStatus, response, decoder, stream, reader, writer, html, push;
|
|
13
14
|
return _ts_generator(this, function(_state) {
|
|
14
15
|
switch (_state.label) {
|
|
15
16
|
case 0:
|
|
17
|
+
request = param.request, key = param.key, requestHandler = param.requestHandler, requestHandlerOptions = param.requestHandlerOptions, ttl = param.ttl, container = param.container, cacheStatus = param.cacheStatus;
|
|
16
18
|
return [
|
|
17
19
|
4,
|
|
18
|
-
|
|
20
|
+
requestHandler(request, requestHandlerOptions)
|
|
19
21
|
];
|
|
20
22
|
case 1:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
_state.sent();
|
|
52
|
-
return [
|
|
53
|
-
2,
|
|
54
|
-
{
|
|
55
|
-
data: renderResult,
|
|
56
|
-
status
|
|
57
|
-
}
|
|
58
|
-
];
|
|
59
|
-
case 4:
|
|
60
|
-
return [
|
|
61
|
-
4,
|
|
62
|
-
import("stream").catch(function(_) {
|
|
63
|
-
return {
|
|
64
|
-
Readable: void 0
|
|
65
|
-
};
|
|
66
|
-
})
|
|
67
|
-
];
|
|
68
|
-
case 5:
|
|
69
|
-
Readable = _state.sent().Readable;
|
|
70
|
-
runtimeEnv = getRuntimeEnv();
|
|
71
|
-
streamModule = "../../adapters/node/polyfills/stream";
|
|
72
|
-
if (!(runtimeEnv === "node"))
|
|
23
|
+
response = _state.sent();
|
|
24
|
+
decoder = new TextDecoder();
|
|
25
|
+
if (response.body) {
|
|
26
|
+
stream = createTransformStream();
|
|
27
|
+
reader = response.body.getReader();
|
|
28
|
+
writer = stream.writable.getWriter();
|
|
29
|
+
html = "";
|
|
30
|
+
push = function() {
|
|
31
|
+
return reader.read().then(function(param2) {
|
|
32
|
+
var done = param2.done, value = param2.value;
|
|
33
|
+
if (done) {
|
|
34
|
+
var current = Date.now();
|
|
35
|
+
var cache = {
|
|
36
|
+
val: html,
|
|
37
|
+
cursor: current
|
|
38
|
+
};
|
|
39
|
+
container.set(key, JSON.stringify(cache), {
|
|
40
|
+
ttl
|
|
41
|
+
});
|
|
42
|
+
writer.close();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
var content = decoder.decode(value);
|
|
46
|
+
html += content;
|
|
47
|
+
writer.write(value);
|
|
48
|
+
push();
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
push();
|
|
52
|
+
cacheStatus && response.headers.set(X_RENDER_CACHE, cacheStatus);
|
|
73
53
|
return [
|
|
74
|
-
|
|
75
|
-
|
|
54
|
+
2,
|
|
55
|
+
new Response(stream.readable, {
|
|
56
|
+
status: response.status,
|
|
57
|
+
headers: response.headers
|
|
58
|
+
})
|
|
76
59
|
];
|
|
77
|
-
|
|
78
|
-
4,
|
|
79
|
-
import(streamModule).catch(function(_) {
|
|
80
|
-
return {
|
|
81
|
-
createReadableStreamFromReadable: void 0
|
|
82
|
-
};
|
|
83
|
-
})
|
|
84
|
-
];
|
|
85
|
-
case 6:
|
|
86
|
-
_tmp = _state.sent();
|
|
87
|
-
return [
|
|
88
|
-
3,
|
|
89
|
-
8
|
|
90
|
-
];
|
|
91
|
-
case 7:
|
|
92
|
-
_tmp = {
|
|
93
|
-
createReadableStreamFromReadable: void 0
|
|
94
|
-
};
|
|
95
|
-
_state.label = 8;
|
|
96
|
-
case 8:
|
|
97
|
-
createReadableStreamFromReadable = _tmp.createReadableStreamFromReadable;
|
|
98
|
-
body = // TODO: remove node:stream, move it to ssr entry.
|
|
99
|
-
Readable && _instanceof(renderResult, Readable) ? createReadableStreamFromReadable === null || createReadableStreamFromReadable === void 0 ? void 0 : createReadableStreamFromReadable(renderResult) : renderResult;
|
|
100
|
-
html = "";
|
|
101
|
-
stream = createTransformStream(function(chunk) {
|
|
102
|
-
html += chunk;
|
|
103
|
-
return chunk;
|
|
104
|
-
});
|
|
105
|
-
reader = body.getReader();
|
|
106
|
-
writer = stream.writable.getWriter();
|
|
107
|
-
push = function() {
|
|
108
|
-
reader.read().then(function(param) {
|
|
109
|
-
var done = param.done, value = param.value;
|
|
110
|
-
if (done) {
|
|
111
|
-
var current2 = Date.now();
|
|
112
|
-
var cache2 = {
|
|
113
|
-
val: html,
|
|
114
|
-
cursor: current2
|
|
115
|
-
};
|
|
116
|
-
container.set(key, JSON.stringify(cache2), {
|
|
117
|
-
ttl
|
|
118
|
-
});
|
|
119
|
-
writer.close();
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
writer.write(value);
|
|
123
|
-
push();
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
push();
|
|
60
|
+
}
|
|
127
61
|
return [
|
|
128
62
|
2,
|
|
129
|
-
|
|
130
|
-
data: stream.readable,
|
|
131
|
-
status
|
|
132
|
-
}
|
|
133
|
-
];
|
|
134
|
-
case 9:
|
|
135
|
-
return [
|
|
136
|
-
2
|
|
63
|
+
response
|
|
137
64
|
];
|
|
138
65
|
}
|
|
139
66
|
});
|
|
@@ -206,11 +133,11 @@ function getCacheResult(request, options) {
|
|
|
206
133
|
}
|
|
207
134
|
function _getCacheResult() {
|
|
208
135
|
_getCacheResult = _async_to_generator(function(request, options) {
|
|
209
|
-
var cacheControl,
|
|
136
|
+
var cacheControl, _options_container, container, requestHandler, requestHandlerOptions, key, value, maxAge, staleWhileRevalidate, ttl, cache, interval, cacheStatus, cacheStatus1;
|
|
210
137
|
return _ts_generator(this, function(_state) {
|
|
211
138
|
switch (_state.label) {
|
|
212
139
|
case 0:
|
|
213
|
-
cacheControl = options.cacheControl,
|
|
140
|
+
cacheControl = options.cacheControl, _options_container = options.container, container = _options_container === void 0 ? storage : _options_container, requestHandler = options.requestHandler, requestHandlerOptions = options.requestHandlerOptions;
|
|
214
141
|
key = computedKey(request, cacheControl);
|
|
215
142
|
return [
|
|
216
143
|
4,
|
|
@@ -224,32 +151,75 @@ function _getCacheResult() {
|
|
|
224
151
|
cache = JSON.parse(value);
|
|
225
152
|
interval = Date.now() - cache.cursor;
|
|
226
153
|
if (interval <= maxAge) {
|
|
154
|
+
cacheStatus = "hit";
|
|
227
155
|
return [
|
|
228
156
|
2,
|
|
229
|
-
{
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
}
|
|
157
|
+
new Response(cache.val, {
|
|
158
|
+
headers: _define_property({}, X_RENDER_CACHE, cacheStatus)
|
|
159
|
+
})
|
|
233
160
|
];
|
|
234
161
|
} else if (interval <= staleWhileRevalidate + maxAge) {
|
|
235
|
-
processCache(
|
|
162
|
+
processCache({
|
|
163
|
+
key,
|
|
164
|
+
request,
|
|
165
|
+
requestHandler,
|
|
166
|
+
requestHandlerOptions,
|
|
167
|
+
ttl,
|
|
168
|
+
container
|
|
169
|
+
}).then(function() {
|
|
170
|
+
var _ref = _async_to_generator(function(response) {
|
|
171
|
+
return _ts_generator(this, function(_state2) {
|
|
172
|
+
switch (_state2.label) {
|
|
173
|
+
case 0:
|
|
174
|
+
return [
|
|
175
|
+
4,
|
|
176
|
+
response.text()
|
|
177
|
+
];
|
|
178
|
+
case 1:
|
|
179
|
+
_state2.sent();
|
|
180
|
+
return [
|
|
181
|
+
2
|
|
182
|
+
];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
return function(response) {
|
|
187
|
+
return _ref.apply(this, arguments);
|
|
188
|
+
};
|
|
189
|
+
}());
|
|
190
|
+
cacheStatus1 = "stale";
|
|
236
191
|
return [
|
|
237
192
|
2,
|
|
238
|
-
{
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
193
|
+
new Response(cache.val, {
|
|
194
|
+
headers: _define_property({}, X_RENDER_CACHE, cacheStatus1)
|
|
195
|
+
})
|
|
242
196
|
];
|
|
243
197
|
} else {
|
|
244
198
|
return [
|
|
245
199
|
2,
|
|
246
|
-
processCache(
|
|
200
|
+
processCache({
|
|
201
|
+
key,
|
|
202
|
+
request,
|
|
203
|
+
requestHandler,
|
|
204
|
+
requestHandlerOptions,
|
|
205
|
+
ttl,
|
|
206
|
+
container,
|
|
207
|
+
cacheStatus: "expired"
|
|
208
|
+
})
|
|
247
209
|
];
|
|
248
210
|
}
|
|
249
211
|
} else {
|
|
250
212
|
return [
|
|
251
213
|
2,
|
|
252
|
-
processCache(
|
|
214
|
+
processCache({
|
|
215
|
+
key,
|
|
216
|
+
request,
|
|
217
|
+
requestHandler,
|
|
218
|
+
requestHandlerOptions,
|
|
219
|
+
ttl,
|
|
220
|
+
container,
|
|
221
|
+
cacheStatus: "miss"
|
|
222
|
+
})
|
|
253
223
|
];
|
|
254
224
|
}
|
|
255
225
|
return [
|