@modern-js/server-core 2.54.6 → 2.56.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.
Files changed (69) hide show
  1. package/dist/cjs/adapters/node/plugins/resource.js +1 -1
  2. package/dist/cjs/constants.js +12 -9
  3. package/dist/cjs/index.js +3 -1
  4. package/dist/cjs/plugins/customServer/index.js +5 -5
  5. package/dist/cjs/plugins/index.js +7 -3
  6. package/dist/cjs/plugins/log.js +3 -3
  7. package/dist/cjs/plugins/monitors.js +183 -0
  8. package/dist/cjs/plugins/render/dataHandler.js +3 -2
  9. package/dist/cjs/plugins/render/index.js +6 -4
  10. package/dist/cjs/plugins/render/render.js +32 -15
  11. package/dist/cjs/plugins/render/ssrCache.js +72 -83
  12. package/dist/cjs/plugins/render/ssrRender.js +40 -145
  13. package/dist/cjs/types/requestHandler.js +16 -0
  14. package/dist/cjs/utils/error.js +3 -3
  15. package/dist/cjs/utils/transformStream.js +1 -1
  16. package/dist/esm/adapters/node/plugins/resource.js +1 -1
  17. package/dist/esm/constants.js +10 -8
  18. package/dist/esm/index.js +1 -0
  19. package/dist/esm/plugins/customServer/index.js +8 -8
  20. package/dist/esm/plugins/index.js +4 -2
  21. package/dist/esm/plugins/log.js +4 -4
  22. package/dist/esm/plugins/monitors.js +261 -0
  23. package/dist/esm/plugins/render/dataHandler.js +4 -3
  24. package/dist/esm/plugins/render/index.js +6 -4
  25. package/dist/esm/plugins/render/render.js +51 -24
  26. package/dist/esm/plugins/render/ssrCache.js +101 -131
  27. package/dist/esm/plugins/render/ssrRender.js +55 -175
  28. package/dist/esm/types/requestHandler.js +0 -0
  29. package/dist/esm/utils/error.js +3 -3
  30. package/dist/esm/utils/transformStream.js +16 -2
  31. package/dist/esm-node/adapters/node/plugins/resource.js +1 -1
  32. package/dist/esm-node/constants.js +10 -8
  33. package/dist/esm-node/index.js +1 -0
  34. package/dist/esm-node/plugins/customServer/index.js +6 -6
  35. package/dist/esm-node/plugins/index.js +4 -2
  36. package/dist/esm-node/plugins/log.js +3 -3
  37. package/dist/esm-node/plugins/monitors.js +156 -0
  38. package/dist/esm-node/plugins/render/dataHandler.js +3 -2
  39. package/dist/esm-node/plugins/render/index.js +5 -3
  40. package/dist/esm-node/plugins/render/render.js +33 -16
  41. package/dist/esm-node/plugins/render/ssrCache.js +73 -74
  42. package/dist/esm-node/plugins/render/ssrRender.js +43 -137
  43. package/dist/esm-node/types/requestHandler.js +0 -0
  44. package/dist/esm-node/utils/error.js +3 -3
  45. package/dist/esm-node/utils/transformStream.js +1 -1
  46. package/dist/types/constants.d.ts +2 -1
  47. package/dist/types/index.d.ts +1 -0
  48. package/dist/types/plugins/index.d.ts +1 -1
  49. package/dist/types/plugins/monitors.d.ts +6 -0
  50. package/dist/types/plugins/render/dataHandler.d.ts +1 -1
  51. package/dist/types/plugins/render/render.d.ts +3 -2
  52. package/dist/types/plugins/render/ssrCache.d.ts +7 -11
  53. package/dist/types/plugins/render/ssrRender.d.ts +10 -10
  54. package/dist/types/types/config/html.d.ts +11 -0
  55. package/dist/types/types/config/output.d.ts +8 -0
  56. package/dist/types/types/render.d.ts +7 -4
  57. package/dist/types/types/requestHandler.d.ts +41 -0
  58. package/dist/types/types/server.d.ts +13 -4
  59. package/dist/types/utils/error.d.ts +2 -2
  60. package/dist/types/utils/transformStream.d.ts +1 -1
  61. package/package.json +7 -8
  62. package/dist/cjs/plugins/monitor.js +0 -87
  63. package/dist/cjs/plugins/render/serverTiming.js +0 -40
  64. package/dist/esm/plugins/monitor.js +0 -120
  65. package/dist/esm/plugins/render/serverTiming.js +0 -21
  66. package/dist/esm-node/plugins/monitor.js +0 -62
  67. package/dist/esm-node/plugins/render/serverTiming.js +0 -16
  68. package/dist/types/plugins/monitor.d.ts +0 -9
  69. package/dist/types/plugins/render/serverTiming.d.ts +0 -7
@@ -0,0 +1,261 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
+ import { time } from "@modern-js/runtime-utils/time";
5
+ import { SERVER_TIMING, ServerTimings } from "../constants";
6
+ function createMonitors() {
7
+ var coreMonitors = [];
8
+ var log = function(level, message, args) {
9
+ var event = {
10
+ type: "log",
11
+ payload: {
12
+ level,
13
+ message,
14
+ args
15
+ }
16
+ };
17
+ coreMonitors.forEach(function(monitor) {
18
+ return monitor(event);
19
+ });
20
+ };
21
+ var mointors = {
22
+ push: function push(monitor) {
23
+ coreMonitors.push(monitor);
24
+ },
25
+ error: function error(message) {
26
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
27
+ args[_key - 1] = arguments[_key];
28
+ }
29
+ log("error", message, args);
30
+ },
31
+ warn: function warn(message) {
32
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
33
+ args[_key - 1] = arguments[_key];
34
+ }
35
+ log("warn", message, args);
36
+ },
37
+ debug: function debug(message) {
38
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
39
+ args[_key - 1] = arguments[_key];
40
+ }
41
+ log("debug", message, args);
42
+ },
43
+ info: function info(message) {
44
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
45
+ args[_key - 1] = arguments[_key];
46
+ }
47
+ log("info", message, args);
48
+ },
49
+ timing: function timing(name, dur, desc) {
50
+ var event = {
51
+ type: "timing",
52
+ payload: {
53
+ name,
54
+ dur,
55
+ desc
56
+ }
57
+ };
58
+ coreMonitors.forEach(function(monitor) {
59
+ return monitor(event);
60
+ });
61
+ }
62
+ };
63
+ return mointors;
64
+ }
65
+ var initMonitorsPlugin = function() {
66
+ return {
67
+ name: "@modern-js/init-mointor",
68
+ setup: function setup(api) {
69
+ return {
70
+ prepare: function prepare() {
71
+ var middlewares = api.useAppContext().middlewares;
72
+ middlewares.push({
73
+ name: "init-monitor",
74
+ handler: function() {
75
+ var _ref = _async_to_generator(function(c, next) {
76
+ var monitors;
77
+ return _ts_generator(this, function(_state) {
78
+ if (!c.get("monitors")) {
79
+ monitors = createMonitors();
80
+ c.set("monitors", monitors);
81
+ }
82
+ return [
83
+ 2,
84
+ next()
85
+ ];
86
+ });
87
+ });
88
+ return function(c, next) {
89
+ return _ref.apply(this, arguments);
90
+ };
91
+ }(),
92
+ order: "pre"
93
+ });
94
+ }
95
+ };
96
+ }
97
+ };
98
+ };
99
+ var injectloggerPluigin = function(logger) {
100
+ return {
101
+ name: "@modern-js/inject-logger",
102
+ setup: function setup(api) {
103
+ return {
104
+ prepare: function prepare() {
105
+ var middlewares = api.useAppContext().middlewares;
106
+ middlewares.push({
107
+ name: "inject-logger",
108
+ handler: function() {
109
+ var _ref = _async_to_generator(function(c, next) {
110
+ var pathname, loggerMonitor, monitors;
111
+ return _ts_generator(this, function(_state) {
112
+ if (!c.get("logger")) {
113
+ c.set("logger", logger);
114
+ }
115
+ pathname = c.req.path;
116
+ loggerMonitor = function(event) {
117
+ if (event.type === "log") {
118
+ var _logger;
119
+ var _event_payload = event.payload, level = _event_payload.level, message = _event_payload.message, args = _event_payload.args;
120
+ (_logger = logger)[level].apply(_logger, [
121
+ message
122
+ ].concat(_to_consumable_array(args || [])));
123
+ }
124
+ if (event.type === "timing") {
125
+ var _event_payload1 = event.payload, name = _event_payload1.name, dur = _event_payload1.dur, desc = _event_payload1.desc;
126
+ if (desc) {
127
+ logger.debug("%s Debug - ".concat(name, ", cost: %s, req.url = %s "), desc, dur, pathname);
128
+ } else {
129
+ logger.debug("Debug - ".concat(name, ", cost: %s, req.url = %s"), dur, pathname);
130
+ }
131
+ }
132
+ };
133
+ monitors = c.get("monitors");
134
+ monitors === null || monitors === void 0 ? void 0 : monitors.push(loggerMonitor);
135
+ return [
136
+ 2,
137
+ next()
138
+ ];
139
+ });
140
+ });
141
+ return function(c, next) {
142
+ return _ref.apply(this, arguments);
143
+ };
144
+ }()
145
+ });
146
+ }
147
+ };
148
+ }
149
+ };
150
+ };
151
+ var injectServerTiming = function() {
152
+ var metaName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "modern-js";
153
+ return {
154
+ name: "@modern-js/inject-server-timing",
155
+ setup: function setup(api) {
156
+ return {
157
+ prepare: function prepare() {
158
+ var middlewares = api.useAppContext().middlewares;
159
+ middlewares.push({
160
+ name: "inject-server-timing",
161
+ handler: function() {
162
+ var _ref = _async_to_generator(function(c, next) {
163
+ var serverTimings, timingMonitor, monitors;
164
+ return _ts_generator(this, function(_state) {
165
+ switch (_state.label) {
166
+ case 0:
167
+ serverTimings = [];
168
+ timingMonitor = function(event) {
169
+ if (event.type === "timing") {
170
+ serverTimings.push(event.payload);
171
+ }
172
+ };
173
+ monitors = c.get("monitors");
174
+ monitors === null || monitors === void 0 ? void 0 : monitors.push(timingMonitor);
175
+ return [
176
+ 4,
177
+ next()
178
+ ];
179
+ case 1:
180
+ _state.sent();
181
+ serverTimings.forEach(function(serverTiming) {
182
+ var name = serverTiming.name, desc = serverTiming.desc, dur = serverTiming.dur;
183
+ var _name = "bd-".concat(metaName, "-").concat(name);
184
+ var value = "".concat(_name, ";").concat(desc ? 'decs="'.concat(desc, '";') : "", " dur=").concat(dur);
185
+ c.header(SERVER_TIMING, value, {
186
+ append: true
187
+ });
188
+ });
189
+ return [
190
+ 2
191
+ ];
192
+ }
193
+ });
194
+ });
195
+ return function(c, next) {
196
+ return _ref.apply(this, arguments);
197
+ };
198
+ }()
199
+ });
200
+ }
201
+ };
202
+ }
203
+ };
204
+ };
205
+ function initReporter(entryName) {
206
+ return function() {
207
+ var _ref = _async_to_generator(function(c, next) {
208
+ var reporter, getCost, cost;
209
+ return _ts_generator(this, function(_state) {
210
+ switch (_state.label) {
211
+ case 0:
212
+ reporter = c.get("reporter");
213
+ if (!!reporter)
214
+ return [
215
+ 3,
216
+ 2
217
+ ];
218
+ return [
219
+ 4,
220
+ next()
221
+ ];
222
+ case 1:
223
+ _state.sent();
224
+ return [
225
+ 2
226
+ ];
227
+ case 2:
228
+ return [
229
+ 4,
230
+ reporter.init({
231
+ entryName
232
+ })
233
+ ];
234
+ case 3:
235
+ _state.sent();
236
+ getCost = time();
237
+ return [
238
+ 4,
239
+ next()
240
+ ];
241
+ case 4:
242
+ _state.sent();
243
+ cost = getCost();
244
+ reporter.reportTiming(ServerTimings.SERVER_HANDLE_REQUEST, cost);
245
+ return [
246
+ 2
247
+ ];
248
+ }
249
+ });
250
+ });
251
+ return function(c, next) {
252
+ return _ref.apply(this, arguments);
253
+ };
254
+ }();
255
+ }
256
+ export {
257
+ initMonitorsPlugin,
258
+ initReporter,
259
+ injectServerTiming,
260
+ injectloggerPluigin
261
+ };
@@ -3,11 +3,11 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
4
4
  var dataHandler = function() {
5
5
  var _ref = _async_to_generator(function(request, param) {
6
- var routeInfo, serverRoutes, reporter, logger, serverManifest, _serverManifest_loaderBundles, serverLoaderModule, routes, handleRequest, response;
6
+ var routeInfo, serverRoutes, reporter, onError, onTiming, serverManifest, _serverManifest_loaderBundles, serverLoaderModule, routes, handleRequest, response;
7
7
  return _ts_generator(this, function(_state) {
8
8
  switch (_state.label) {
9
9
  case 0:
10
- routeInfo = param.routeInfo, serverRoutes = param.serverRoutes, reporter = param.reporter, logger = param.logger, serverManifest = param.serverManifest;
10
+ routeInfo = param.routeInfo, serverRoutes = param.serverRoutes, reporter = param.reporter, onError = param.onError, onTiming = param.onTiming, serverManifest = param.serverManifest;
11
11
  serverLoaderModule = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_loaderBundles = serverManifest.loaderBundles) === null || _serverManifest_loaderBundles === void 0 ? void 0 : _serverManifest_loaderBundles[routeInfo.entryName || MAIN_ENTRY_NAME];
12
12
  if (!serverLoaderModule) {
13
13
  return [
@@ -21,9 +21,10 @@ var dataHandler = function() {
21
21
  request,
22
22
  serverRoutes,
23
23
  context: {
24
- logger,
25
24
  reporter
26
25
  },
26
+ onTiming,
27
+ onError,
27
28
  routes
28
29
  })
29
30
  ];
@@ -1,7 +1,7 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
3
  import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
4
- import { initReporter } from "../monitor";
4
+ import { initReporter } from "../monitors";
5
5
  import { sortRoutes } from "../../utils";
6
6
  import { getLoaderCtx, CustomServer, getServerMidFromUnstableMid } from "../customServer";
7
7
  import { createRender } from "./render";
@@ -150,12 +150,13 @@ function getPageRoutes(routes) {
150
150
  function createRenderHandler(render) {
151
151
  return function() {
152
152
  var _ref = _async_to_generator(function(c, _) {
153
- var _c_env_node, logger, reporter, templates, serverManifest, locals, metrics, loaderContext, request, nodeReq, res, body, status, headers, headersData;
153
+ var _c_env_node, logger, reporter, monitors, templates, serverManifest, locals, metrics, loaderContext, request, nodeReq, res, body, status, headers, headersData;
154
154
  return _ts_generator(this, function(_state) {
155
155
  switch (_state.label) {
156
156
  case 0:
157
157
  logger = c.get("logger");
158
158
  reporter = c.get("reporter");
159
+ monitors = c.get("monitors");
159
160
  templates = c.get("templates") || {};
160
161
  serverManifest = c.get("serverManifest") || {};
161
162
  locals = c.get("locals");
@@ -166,8 +167,9 @@ function createRenderHandler(render) {
166
167
  return [
167
168
  4,
168
169
  render(request, {
169
- logger,
170
170
  nodeReq,
171
+ monitors,
172
+ logger,
171
173
  reporter,
172
174
  templates,
173
175
  metrics,
@@ -208,7 +210,7 @@ function _getRenderHandler() {
208
210
  render = createRender({
209
211
  routes,
210
212
  pwd,
211
- // TODO: need static Genrate
213
+ config,
212
214
  staticGenerate,
213
215
  cacheConfig,
214
216
  forceCSR,
@@ -1,11 +1,14 @@
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";
@@ -52,24 +55,31 @@ function matchRoute(router, request) {
52
55
  var result = matched[0][0];
53
56
  return result || [];
54
57
  }
58
+ function getHeadersWithoutCookie(headers) {
59
+ var _headers = _object_spread_props(_object_spread({}, headers), {
60
+ cookie: void 0
61
+ });
62
+ delete _headers.cookie;
63
+ return _headers;
64
+ }
55
65
  function createRender(_) {
56
66
  return _createRender.apply(this, arguments);
57
67
  }
58
68
  function _createRender() {
59
69
  _createRender = _async_to_generator(function(param) {
60
- var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, nonce, onFallbackFn, router;
70
+ var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, config, onFallbackFn, router;
61
71
  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, nonce = param.nonce, onFallbackFn = param.onFallback;
72
+ 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
73
  router = getRouter(routes);
64
74
  return [
65
75
  2,
66
76
  function() {
67
77
  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;
78
+ var logger, reporter, metrics, monitors, nodeReq, templates, serverManifest, locals, loaderContext, _matchRoute, routeInfo, params, onFallback, html, renderMode, pathname, headerData, onError, onTiming, onBoundError, renderOptions, response, _tmp;
69
79
  return _ts_generator(this, function(_state2) {
70
80
  switch (_state2.label) {
71
81
  case 0:
72
- logger = param2.logger, nodeReq = param2.nodeReq, reporter = param2.reporter, templates = param2.templates, serverManifest = param2.serverManifest, locals = param2.locals, metrics = param2.metrics, loaderContext = param2.loaderContext;
82
+ logger = param2.logger, reporter = param2.reporter, metrics = param2.metrics, monitors = param2.monitors, nodeReq = param2.nodeReq, templates = param2.templates, serverManifest = param2.serverManifest, locals = param2.locals, loaderContext = param2.loaderContext;
73
83
  _matchRoute = _sliced_to_array(matchRoute(router, req), 2), routeInfo = _matchRoute[0], params = _matchRoute[1];
74
84
  onFallback = function() {
75
85
  var _ref2 = _async_to_generator(function(reason, error) {
@@ -117,12 +127,20 @@ function _createRender() {
117
127
  ];
118
128
  case 1:
119
129
  renderMode = _state2.sent();
120
- onError = function() {
130
+ pathname = getPathname(req);
131
+ headerData = parseHeaders(req);
132
+ onError = function(e) {
133
+ monitors === null || monitors === void 0 ? void 0 : monitors.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));
134
+ };
135
+ onTiming = function(name, dur) {
136
+ monitors === null || monitors === void 0 ? void 0 : monitors.timing(name, dur, "SSR");
137
+ };
138
+ onBoundError = function() {
121
139
  var _ref2 = _async_to_generator(function(e) {
122
140
  return _ts_generator(this, function(_state3) {
123
141
  switch (_state3.label) {
124
142
  case 0:
125
- onErrorFn(ErrorDigest.ERENDER, e, logger, req);
143
+ onErrorFn(ErrorDigest.ERENDER, e, monitors, req);
126
144
  return [
127
145
  4,
128
146
  onFallback === null || onFallback === void 0 ? void 0 : onFallback("error", e)
@@ -135,7 +153,7 @@ function _createRender() {
135
153
  }
136
154
  });
137
155
  });
138
- return function onError2(e) {
156
+ return function onBoundError2(e) {
139
157
  return _ref2.apply(this, arguments);
140
158
  };
141
159
  }();
@@ -144,18 +162,19 @@ function _createRender() {
144
162
  html,
145
163
  routeInfo,
146
164
  staticGenerate: staticGenerate || false,
147
- metaName: metaName || "modern-js",
148
- nonce,
149
- logger,
165
+ config,
150
166
  nodeReq,
151
167
  cacheConfig,
152
168
  reporter,
153
169
  serverRoutes: routes,
154
170
  params,
171
+ logger,
172
+ metrics,
155
173
  locals,
156
174
  serverManifest,
157
- metrics,
158
- loaderContext: loaderContext || /* @__PURE__ */ new Map()
175
+ loaderContext: loaderContext || /* @__PURE__ */ new Map(),
176
+ onError,
177
+ onTiming
159
178
  };
160
179
  switch (renderMode) {
161
180
  case "data":
@@ -176,7 +195,7 @@ function _createRender() {
176
195
  }
177
196
  return [
178
197
  3,
179
- 7
198
+ 8
180
199
  ];
181
200
  case 2:
182
201
  return [
@@ -184,34 +203,42 @@ function _createRender() {
184
203
  dataHandler(req, renderOptions)
185
204
  ];
186
205
  case 3:
187
- response = _state2.sent();
188
- if (!!response)
206
+ _tmp = _state2.sent();
207
+ if (_tmp)
189
208
  return [
190
209
  3,
191
210
  5
192
211
  ];
193
212
  return [
194
213
  4,
195
- renderHandler(req, renderOptions, "ssr", onError)
214
+ renderHandler(req, renderOptions, "ssr", onBoundError)
196
215
  ];
197
216
  case 4:
198
- response = _state2.sent();
217
+ _tmp = _state2.sent();
199
218
  _state2.label = 5;
200
219
  case 5:
220
+ response = _tmp;
201
221
  return [
202
- 2,
203
- response
222
+ 3,
223
+ 9
204
224
  ];
205
225
  case 6:
206
226
  return [
207
- 2,
208
- renderHandler(req, renderOptions, renderMode, onError)
227
+ 4,
228
+ renderHandler(req, renderOptions, renderMode, onBoundError)
209
229
  ];
210
230
  case 7:
211
- throw new Error("Unknown render mode: ".concat(renderMode));
231
+ response = _state2.sent();
232
+ return [
233
+ 3,
234
+ 9
235
+ ];
212
236
  case 8:
237
+ throw new Error("Unknown render mode: ".concat(renderMode));
238
+ case 9:
213
239
  return [
214
- 2
240
+ 2,
241
+ response
215
242
  ];
216
243
  }
217
244
  });