@modern-js/prod-server 2.41.0 → 2.42.1

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 (62) hide show
  1. package/dist/cjs/libs/hook-api/index.js +2 -1
  2. package/dist/cjs/libs/hook-api/index.worker.js +2 -1
  3. package/dist/cjs/server/modernServer.js +1 -1
  4. package/dist/cjs/workerServer.js +20 -5
  5. package/dist/esm/libs/hook-api/index.js +2 -1
  6. package/dist/esm/libs/hook-api/index.worker.js +2 -1
  7. package/dist/esm/server/modernServer.js +1 -1
  8. package/dist/esm/workerServer.js +54 -6
  9. package/dist/esm-node/libs/hook-api/index.js +2 -1
  10. package/dist/esm-node/libs/hook-api/index.worker.js +2 -1
  11. package/dist/esm-node/server/modernServer.js +1 -1
  12. package/dist/esm-node/workerServer.js +20 -5
  13. package/dist/types/constants.d.ts +20 -20
  14. package/dist/types/index.d.ts +1 -1
  15. package/dist/types/libs/context/context.d.ts +50 -50
  16. package/dist/types/libs/context/index.d.ts +1 -1
  17. package/dist/types/libs/hook-api/base.d.ts +43 -43
  18. package/dist/types/libs/hook-api/index.d.ts +3 -3
  19. package/dist/types/libs/hook-api/index.worker.d.ts +13 -13
  20. package/dist/types/libs/hook-api/route.d.ts +8 -8
  21. package/dist/types/libs/hook-api/template.d.ts +18 -18
  22. package/dist/types/libs/hook-api/templateForStream.d.ts +6 -11
  23. package/dist/types/libs/loadConfig.d.ts +5 -9
  24. package/dist/types/libs/metrics.d.ts +1 -1
  25. package/dist/types/libs/preload/flushServerHeader.d.ts +6 -12
  26. package/dist/types/libs/preload/index.d.ts +1 -1
  27. package/dist/types/libs/preload/parseLinks.d.ts +9 -13
  28. package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +1 -1
  29. package/dist/types/libs/preload/transformLinks2String.d.ts +1 -1
  30. package/dist/types/libs/proxy.d.ts +3 -3
  31. package/dist/types/libs/render/cache/__tests__/cache.fun.test.d.ts +1 -1
  32. package/dist/types/libs/render/cache/__tests__/cache.test.d.ts +1 -1
  33. package/dist/types/libs/render/cache/__tests__/cacheable.d.ts +58 -58
  34. package/dist/types/libs/render/cache/__tests__/error-configuration.d.ts +23 -23
  35. package/dist/types/libs/render/cache/__tests__/matched-cache.d.ts +101 -101
  36. package/dist/types/libs/render/cache/index.d.ts +1 -1
  37. package/dist/types/libs/render/cache/page-caches/index.d.ts +1 -1
  38. package/dist/types/libs/render/cache/page-caches/lru.d.ts +12 -12
  39. package/dist/types/libs/render/cache/spr.d.ts +16 -16
  40. package/dist/types/libs/render/cache/type.d.ts +33 -33
  41. package/dist/types/libs/render/cache/util.d.ts +3 -3
  42. package/dist/types/libs/render/index.d.ts +11 -11
  43. package/dist/types/libs/render/measure.d.ts +6 -6
  44. package/dist/types/libs/render/reader.d.ts +13 -13
  45. package/dist/types/libs/render/ssr.d.ts +9 -9
  46. package/dist/types/libs/render/static.d.ts +1 -1
  47. package/dist/types/libs/render/type.d.ts +18 -18
  48. package/dist/types/libs/render/utils.d.ts +1 -1
  49. package/dist/types/libs/reporter.d.ts +1 -1
  50. package/dist/types/libs/route/index.d.ts +10 -10
  51. package/dist/types/libs/route/matcher.d.ts +12 -12
  52. package/dist/types/libs/route/route.d.ts +11 -11
  53. package/dist/types/libs/serveFile.d.ts +3 -3
  54. package/dist/types/libs/serverTiming.d.ts +8 -8
  55. package/dist/types/renderHtml.d.ts +15 -15
  56. package/dist/types/server/index.d.ts +46 -48
  57. package/dist/types/server/modernServer.d.ts +57 -69
  58. package/dist/types/server/modernServerSplit.d.ts +1 -1
  59. package/dist/types/type.d.ts +48 -48
  60. package/dist/types/utils.d.ts +8 -8
  61. package/dist/types/workerServer.d.ts +45 -45
  62. package/package.json +9 -9
@@ -43,10 +43,11 @@ const createAfterMatchContext = (context, entryName) => {
43
43
  router: new import_route.RouteAPI(entryName)
44
44
  };
45
45
  };
46
- const createAfterRenderContext = (context, content) => {
46
+ const createAfterRenderContext = (context, route, content) => {
47
47
  const baseContext = base(context);
48
48
  return {
49
49
  ...baseContext,
50
+ route,
50
51
  template: new import_template.TemplateAPI(content)
51
52
  };
52
53
  };
@@ -85,10 +85,11 @@ const createAfterMatchContext = (context, entryName) => {
85
85
  router: new import_route.RouteAPI(entryName)
86
86
  };
87
87
  };
88
- const createAfterRenderContext = (context, content) => {
88
+ const createAfterRenderContext = (context, route, content) => {
89
89
  const baseContext = base(context);
90
90
  return {
91
91
  ...baseContext,
92
+ route,
92
93
  template: new import_template.TemplateAPI(content)
93
94
  };
94
95
  };
@@ -373,7 +373,7 @@ class ModernServer {
373
373
  return;
374
374
  }
375
375
  if (route.entryName && this.runMode === import_constants.RUN_MODE.FULL) {
376
- const afterRenderContext = (0, import_hook_api.createAfterRenderContext)(context, response.toString());
376
+ const afterRenderContext = (0, import_hook_api.createAfterRenderContext)(context, route, response.toString());
377
377
  const end2 = (0, import_time.time)();
378
378
  await this.runner.afterRender(afterRenderContext, {
379
379
  onLast: import_utils2.noop
@@ -24,11 +24,27 @@ __export(workerServer_exports, {
24
24
  module.exports = __toCommonJS(workerServer_exports);
25
25
  var import_define_property = require("@swc/helpers/_/_define_property");
26
26
  var import_plugin = require("@modern-js/plugin");
27
- var import_logger = require("@modern-js/utils/logger");
28
27
  var import_hook_api = require("./libs/hook-api/index.worker");
29
28
  var import_route = require("./libs/route");
30
29
  var import_metrics = require("./libs/metrics");
31
30
  var import_reporter = require("./libs/reporter");
31
+ const createLogger = () => ({
32
+ error(message, ...args) {
33
+ console.error(message, ...args);
34
+ },
35
+ info(message, ...args) {
36
+ console.error(message, ...args);
37
+ },
38
+ warn(message, ...args) {
39
+ console.warn(message, ...args);
40
+ },
41
+ debug(message, ...args) {
42
+ console.debug(message, ...args);
43
+ },
44
+ log(message, ...args) {
45
+ console.log(message, ...args);
46
+ }
47
+ });
32
48
  const calcFallback = (metaName) => `x-${metaName.split(/[-_]/)[0]}-ssr-fallback`;
33
49
  class ReturnResponse {
34
50
  /**
@@ -108,11 +124,10 @@ const createHandler = (manifest) => {
108
124
  if (forceCSR && url.searchParams.get("csr") === "1") {
109
125
  return createResponse(page.template);
110
126
  }
111
- const logger = (0, import_logger.createLogger)({
112
- level: "warn"
113
- });
127
+ const logger = createLogger();
114
128
  const metrics = import_metrics.metrics;
115
129
  const reporter = import_reporter.defaultReporter;
130
+ const route = pageMatch.generate(url.pathname);
116
131
  const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
117
132
  const afterMatchHookContext = (0, import_hook_api.createAfterMatchContext)(hookContext, entryName);
118
133
  page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0);
@@ -163,7 +178,7 @@ const createHandler = (manifest) => {
163
178
  }
164
179
  };
165
180
  const body = await page.serverRender(serverRenderContext);
166
- const afterRenderHookContext = (0, import_hook_api.createAfterRenderContext)(hookContext, body);
181
+ const afterRenderHookContext = (0, import_hook_api.createAfterRenderContext)(hookContext, route, body);
167
182
  (_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0);
168
183
  if (checkIsSent(hookContext)) {
169
184
  return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
@@ -18,9 +18,10 @@ var createAfterMatchContext = function(context, entryName) {
18
18
  router: new RouteAPI(entryName)
19
19
  });
20
20
  };
21
- var createAfterRenderContext = function(context, content) {
21
+ var createAfterRenderContext = function(context, route, content) {
22
22
  var baseContext = base(context);
23
23
  return _object_spread_props(_object_spread({}, baseContext), {
24
+ route,
24
25
  template: new TemplateAPI(content)
25
26
  });
26
27
  };
@@ -82,9 +82,10 @@ var createAfterMatchContext = function(context, entryName) {
82
82
  router: new RouteAPI(entryName)
83
83
  });
84
84
  };
85
- var createAfterRenderContext = function(context, content) {
85
+ var createAfterRenderContext = function(context, route, content) {
86
86
  var baseContext = base(context);
87
87
  return _object_spread_props(_object_spread({}, baseContext), {
88
+ route,
88
89
  template: new TemplateAPI(content)
89
90
  });
90
91
  };
@@ -800,7 +800,7 @@ var ModernServer = /* @__PURE__ */ function() {
800
800
  3,
801
801
  10
802
802
  ];
803
- afterRenderContext = createAfterRenderContext(context, response.toString());
803
+ afterRenderContext = createAfterRenderContext(context, route, response.toString());
804
804
  end3 = time();
805
805
  return [
806
806
  4,
@@ -3,13 +3,62 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
3
  import { _ as _create_class } from "@swc/helpers/_/_create_class";
4
4
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
5
5
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
6
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
6
7
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
7
8
  import { createAsyncPipeline } from "@modern-js/plugin";
8
- import { createLogger } from "@modern-js/utils/logger";
9
9
  import { createAfterMatchContext, createAfterRenderContext, createMiddlewareContext } from "./libs/hook-api/index.worker";
10
10
  import { RouteMatchManager } from "./libs/route";
11
11
  import { metrics as defaultMetrics } from "./libs/metrics";
12
12
  import { defaultReporter } from "./libs/reporter";
13
+ var createLogger = function() {
14
+ return {
15
+ error: function error(message) {
16
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
17
+ args[_key - 1] = arguments[_key];
18
+ }
19
+ var _console;
20
+ (_console = console).error.apply(_console, [
21
+ message
22
+ ].concat(_to_consumable_array(args)));
23
+ },
24
+ info: function info(message) {
25
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
26
+ args[_key - 1] = arguments[_key];
27
+ }
28
+ var _console;
29
+ (_console = console).error.apply(_console, [
30
+ message
31
+ ].concat(_to_consumable_array(args)));
32
+ },
33
+ warn: function warn(message) {
34
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
35
+ args[_key - 1] = arguments[_key];
36
+ }
37
+ var _console;
38
+ (_console = console).warn.apply(_console, [
39
+ message
40
+ ].concat(_to_consumable_array(args)));
41
+ },
42
+ debug: function debug(message) {
43
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
44
+ args[_key - 1] = arguments[_key];
45
+ }
46
+ var _console;
47
+ (_console = console).debug.apply(_console, [
48
+ message
49
+ ].concat(_to_consumable_array(args)));
50
+ },
51
+ log: function log(message) {
52
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
53
+ args[_key - 1] = arguments[_key];
54
+ }
55
+ var _console;
56
+ (_console = console).log.apply(_console, [
57
+ message
58
+ ].concat(_to_consumable_array(args)));
59
+ }
60
+ };
61
+ };
13
62
  var calcFallback = function(metaName) {
14
63
  return "x-".concat(metaName.split(/[-_]/)[0], "-ssr-fallback");
15
64
  };
@@ -96,7 +145,7 @@ var createHandler = function(manifest) {
96
145
  routeMgr.reset(routes);
97
146
  return function() {
98
147
  var _ref2 = _async_to_generator(function(options) {
99
- var _page_serverHooks_afterMatch, _page_serverHooks, request, loadableStats, routeManifest, url, pageMatch, entryName, page, logger, metrics, reporter, hookContext, afterMatchHookContext, _page_serverHooks1, _page_serverHooks_afterRender, _page_serverHooks2, middlewarsHookContext, responseLike, params, baseUrl, serverRenderContext, body, afterRenderHookContext, e;
148
+ var _page_serverHooks_afterMatch, _page_serverHooks, request, loadableStats, routeManifest, url, pageMatch, entryName, page, logger, metrics, reporter, route, hookContext, afterMatchHookContext, _page_serverHooks1, _page_serverHooks_afterRender, _page_serverHooks2, middlewarsHookContext, responseLike, params, baseUrl, serverRenderContext, body, afterRenderHookContext, e;
100
149
  function createServerRequest(url2, baseUrl2, request2, params2) {
101
150
  var pathname = url2.pathname, host = url2.host, searchParams = url2.searchParams;
102
151
  var rawHeaders = request2.headers;
@@ -135,11 +184,10 @@ var createHandler = function(manifest) {
135
184
  createResponse(page.template)
136
185
  ];
137
186
  }
138
- logger = createLogger({
139
- level: "warn"
140
- });
187
+ logger = createLogger();
141
188
  metrics = defaultMetrics;
142
189
  reporter = defaultReporter;
190
+ route = pageMatch.generate(url.pathname);
143
191
  hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
144
192
  afterMatchHookContext = createAfterMatchContext(hookContext, entryName);
145
193
  page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, function() {
@@ -216,7 +264,7 @@ var createHandler = function(manifest) {
216
264
  ];
217
265
  case 2:
218
266
  body = _state.sent();
219
- afterRenderHookContext = createAfterRenderContext(hookContext, body);
267
+ afterRenderHookContext = createAfterRenderContext(hookContext, route, body);
220
268
  (_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, function() {
221
269
  return void 0;
222
270
  });
@@ -17,10 +17,11 @@ const createAfterMatchContext = (context, entryName) => {
17
17
  router: new RouteAPI(entryName)
18
18
  };
19
19
  };
20
- const createAfterRenderContext = (context, content) => {
20
+ const createAfterRenderContext = (context, route, content) => {
21
21
  const baseContext = base(context);
22
22
  return {
23
23
  ...baseContext,
24
+ route,
24
25
  template: new TemplateAPI(content)
25
26
  };
26
27
  };
@@ -59,10 +59,11 @@ const createAfterMatchContext = (context, entryName) => {
59
59
  router: new RouteAPI(entryName)
60
60
  };
61
61
  };
62
- const createAfterRenderContext = (context, content) => {
62
+ const createAfterRenderContext = (context, route, content) => {
63
63
  const baseContext = base(context);
64
64
  return {
65
65
  ...baseContext,
66
+ route,
66
67
  template: new TemplateAPI(content)
67
68
  };
68
69
  };
@@ -340,7 +340,7 @@ class ModernServer {
340
340
  return;
341
341
  }
342
342
  if (route.entryName && this.runMode === RUN_MODE.FULL) {
343
- const afterRenderContext = createAfterRenderContext(context, response.toString());
343
+ const afterRenderContext = createAfterRenderContext(context, route, response.toString());
344
344
  const end2 = time();
345
345
  await this.runner.afterRender(afterRenderContext, {
346
346
  onLast: noop
@@ -1,10 +1,26 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import { createAsyncPipeline } from "@modern-js/plugin";
3
- import { createLogger } from "@modern-js/utils/logger";
4
3
  import { createAfterMatchContext, createAfterRenderContext, createMiddlewareContext } from "./libs/hook-api/index.worker";
5
4
  import { RouteMatchManager } from "./libs/route";
6
5
  import { metrics as defaultMetrics } from "./libs/metrics";
7
6
  import { defaultReporter } from "./libs/reporter";
7
+ const createLogger = () => ({
8
+ error(message, ...args) {
9
+ console.error(message, ...args);
10
+ },
11
+ info(message, ...args) {
12
+ console.error(message, ...args);
13
+ },
14
+ warn(message, ...args) {
15
+ console.warn(message, ...args);
16
+ },
17
+ debug(message, ...args) {
18
+ console.debug(message, ...args);
19
+ },
20
+ log(message, ...args) {
21
+ console.log(message, ...args);
22
+ }
23
+ });
8
24
  const calcFallback = (metaName) => `x-${metaName.split(/[-_]/)[0]}-ssr-fallback`;
9
25
  class ReturnResponse {
10
26
  /**
@@ -84,11 +100,10 @@ const createHandler = (manifest) => {
84
100
  if (forceCSR && url.searchParams.get("csr") === "1") {
85
101
  return createResponse(page.template);
86
102
  }
87
- const logger = createLogger({
88
- level: "warn"
89
- });
103
+ const logger = createLogger();
90
104
  const metrics = defaultMetrics;
91
105
  const reporter = defaultReporter;
106
+ const route = pageMatch.generate(url.pathname);
92
107
  const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
93
108
  const afterMatchHookContext = createAfterMatchContext(hookContext, entryName);
94
109
  page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0);
@@ -139,7 +154,7 @@ const createHandler = (manifest) => {
139
154
  }
140
155
  };
141
156
  const body = await page.serverRender(serverRenderContext);
142
- const afterRenderHookContext = createAfterRenderContext(hookContext, body);
157
+ const afterRenderHookContext = createAfterRenderContext(hookContext, route, body);
143
158
  (_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0);
144
159
  if (checkIsSent(hookContext)) {
145
160
  return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
@@ -1,30 +1,30 @@
1
1
  export declare const AGGRED_DIR: {
2
- mock: string;
3
- server: string;
4
- api: string;
5
- shared: string;
6
- lambda: string;
2
+ mock: string;
3
+ server: string;
4
+ api: string;
5
+ shared: string;
6
+ lambda: string;
7
7
  };
8
8
  export declare enum ApiServerMode {
9
- func = "function",
10
- frame = "framework",
9
+ func = "function",
10
+ frame = "framework"
11
11
  }
12
12
  export declare const ERROR_DIGEST: {
13
- INIT: string;
14
- ENOTF: string;
15
- WARMUP: string;
16
- EINTER: string;
17
- ERENDER: string;
18
- EMICROINJ: string;
13
+ INIT: string;
14
+ ENOTF: string;
15
+ WARMUP: string;
16
+ EINTER: string;
17
+ ERENDER: string;
18
+ EMICROINJ: string;
19
19
  };
20
20
  export declare const ERROR_PAGE_TEXT: Record<number, string>;
21
21
  export declare const RUN_MODE: {
22
- FULL: string;
23
- TYPE: string;
22
+ FULL: string;
23
+ TYPE: string;
24
24
  };
25
25
  export declare enum ServerReportTimings {
26
- SERVER_HANDLE_REQUEST = "server-handle-request",
27
- SERVER_MIDDLEWARE = "server-middleware",
28
- SERVER_HOOK_AFTER_RENDER = "server-hook-after-render",
29
- SERVER_HOOK_AFTER_MATCH = "server-hook-after-match",
30
- }
26
+ SERVER_HANDLE_REQUEST = "server-handle-request",
27
+ SERVER_MIDDLEWARE = "server-middleware",
28
+ SERVER_HOOK_AFTER_RENDER = "server-hook-after-render",
29
+ SERVER_HOOK_AFTER_MATCH = "server-hook-after-match"
30
+ }
@@ -8,4 +8,4 @@ export * from './type';
8
8
  export * from './constants';
9
9
  export { createRenderHandler } from './libs/render';
10
10
  declare const _default: (options: ModernServerOptions) => Promise<Server>;
11
- export default _default;
11
+ export default _default;
@@ -1,62 +1,62 @@
1
+ /// <reference path="../../type.d.ts" />
1
2
  /// <reference types="node" />
2
3
  /// <reference types="node" />
3
4
  /// <reference types="node" />
4
5
  /// <reference types="node/http" />
5
- /// <reference types=".dts-temp/MyKuaUY5TchUfAps6LPPb/src/type" />
6
6
  import { IncomingMessage, ServerResponse } from 'http';
7
7
  import qs from 'querystring';
8
8
  import type { ModernServerContext as ModernServerContextInterface, Reporter as ModernServerReporter, ServerTiming as ModernServerTiming } from '@modern-js/types';
9
9
  export type ContextOptions = {
10
- metaName?: string;
11
- etag?: boolean;
10
+ metaName?: string;
11
+ etag?: boolean;
12
12
  };
13
13
  type ResponseBody = string | Buffer;
14
14
  export declare class ModernServerContext implements ModernServerContextInterface {
15
- #private;
16
- /**
17
- * http request
18
- */
19
- req: IncomingMessage;
20
- /**
21
- * http response
22
- */
23
- res: ServerResponse;
24
- /**
25
- * url params
26
- */
27
- params: Record<string, string>;
28
- reporter: ModernServerReporter;
29
- serverTiming: ModernServerTiming;
30
- get logger(): import("@modern-js/types").Logger;
31
- get metrics(): import("@modern-js/types").Metrics;
32
- serverData: Record<string, any>;
33
- private options;
34
- constructor(req: IncomingMessage, res: ServerResponse, options?: ContextOptions);
35
- private get parsedURL();
36
- private bind;
37
- send(body: ResponseBody): void;
38
- setParams(params: Record<string, string>): void;
39
- setServerData(key: string, value: any): void;
40
- getReqHeader(key: string): string | string[];
41
- get fresh(): boolean;
42
- get headers(): import("http").IncomingHttpHeaders;
43
- get method(): string;
44
- get url(): string;
45
- set url(val: string);
46
- get host(): string;
47
- get protocol(): string;
48
- get origin(): string;
49
- get href(): string;
50
- get path(): string;
51
- set path(p: string);
52
- get querystring(): string;
53
- get query(): qs.ParsedUrlQuery;
54
- get status(): number;
55
- set status(statusCode: number);
56
- /**
57
- * 判断链接是否已经关闭
58
- */
59
- resHasHandled(): boolean;
60
- error(dig: string, e?: Error | string): void;
15
+ #private;
16
+ /**
17
+ * http request
18
+ */
19
+ req: IncomingMessage;
20
+ /**
21
+ * http response
22
+ */
23
+ res: ServerResponse;
24
+ /**
25
+ * url params
26
+ */
27
+ params: Record<string, string>;
28
+ reporter: ModernServerReporter;
29
+ serverTiming: ModernServerTiming;
30
+ get logger(): import("@modern-js/types").Logger;
31
+ get metrics(): import("@modern-js/types").Metrics;
32
+ serverData: Record<string, any>;
33
+ private options;
34
+ constructor(req: IncomingMessage, res: ServerResponse, options?: ContextOptions);
35
+ private get parsedURL();
36
+ private bind;
37
+ send(body: ResponseBody): void;
38
+ setParams(params: Record<string, string>): void;
39
+ setServerData(key: string, value: any): void;
40
+ getReqHeader(key: string): string | string[];
41
+ get fresh(): boolean;
42
+ get headers(): import("http").IncomingHttpHeaders;
43
+ get method(): string;
44
+ get url(): string;
45
+ set url(val: string);
46
+ get host(): string;
47
+ get protocol(): string;
48
+ get origin(): string;
49
+ get href(): string;
50
+ get path(): string;
51
+ set path(p: string);
52
+ get querystring(): string;
53
+ get query(): qs.ParsedUrlQuery;
54
+ get status(): number;
55
+ set status(statusCode: number);
56
+ /**
57
+ * 判断链接是否已经关闭
58
+ */
59
+ resHasHandled(): boolean;
60
+ error(dig: string, e?: Error | string): void;
61
61
  }
62
- export {};
62
+ export {};
@@ -2,4 +2,4 @@ import { IncomingMessage, ServerResponse } from 'http';
2
2
  import { ModernServerContext, ContextOptions } from './context';
3
3
  export declare const createContext: (req: IncomingMessage, res: ServerResponse, options?: ContextOptions) => ModernServerContext;
4
4
  export { ModernServerContext };
5
- export type { ContextOptions };
5
+ export type { ContextOptions };
@@ -1,53 +1,53 @@
1
1
  import { CookieAPI, Metrics, ModernRequest, ModernResponse, Logger } from '@modern-js/types/server';
2
2
  export interface ServerResponseLike {
3
- statusCode?: number;
4
- locals?: Record<string, any>;
5
- getHeader: (key: string) => string | undefined | string[] | number;
6
- setHeader: (key: string, value: string | number | string[]) => this | void;
7
- removeHeader: (key: string) => void;
8
- end: (body: string) => this | void;
3
+ statusCode?: number;
4
+ locals?: Record<string, any>;
5
+ getHeader: (key: string) => string | undefined | string[] | number;
6
+ setHeader: (key: string, value: string | number | string[]) => this | void;
7
+ removeHeader: (key: string) => void;
8
+ end: (body: string) => this | void;
9
9
  }
10
10
  export declare class BaseResponse implements ModernResponse {
11
- cookies: CookieAPI;
12
- private res;
13
- constructor(res: ServerResponseLike);
14
- get(key: string): string | number | string[] | undefined;
15
- set(key: string, value: string | number): void | ServerResponseLike;
16
- status(code: number): void;
17
- private setCookie;
18
- private clearCookie;
19
- raw(body: string, options?: {
20
- status?: number;
21
- headers?: Record<string, any>;
22
- }): void;
11
+ cookies: CookieAPI;
12
+ private res;
13
+ constructor(res: ServerResponseLike);
14
+ get(key: string): string | number | string[] | undefined;
15
+ set(key: string, value: string | number): void | ServerResponseLike;
16
+ status(code: number): void;
17
+ private setCookie;
18
+ private clearCookie;
19
+ raw(body: string, options?: {
20
+ status?: number;
21
+ headers?: Record<string, any>;
22
+ }): void;
23
23
  }
24
24
  export interface ServerRequestLike {
25
- url: string;
26
- host: string;
27
- path: string;
28
- query: Record<string, any>;
29
- headers: Record<string, any>;
25
+ url: string;
26
+ host: string;
27
+ path: string;
28
+ query: Record<string, any>;
29
+ headers: Record<string, any>;
30
30
  }
31
31
  export declare class BaseRequest implements ModernRequest {
32
- readonly url: string;
33
- readonly host: string;
34
- readonly pathname: string;
35
- readonly query: Record<string, any>;
36
- readonly headers: Record<string, any>;
37
- readonly cookie: string;
38
- cookies: Pick<CookieAPI, 'get'>;
39
- private _cookie;
40
- constructor(request: ServerRequestLike);
41
- private getCookie;
32
+ readonly url: string;
33
+ readonly host: string;
34
+ readonly pathname: string;
35
+ readonly query: Record<string, any>;
36
+ readonly headers: Record<string, any>;
37
+ readonly cookie: string;
38
+ cookies: Pick<CookieAPI, 'get'>;
39
+ private _cookie;
40
+ constructor(request: ServerRequestLike);
41
+ private getCookie;
42
42
  }
43
43
  export interface ServerContextLike {
44
- res: ServerResponseLike;
45
- req: any;
46
- metrics: Metrics;
47
- logger: Logger;
48
- url: string;
49
- host: string;
50
- path: string;
51
- query: Record<string, any>;
52
- headers: Record<string, any>;
53
- }
44
+ res: ServerResponseLike;
45
+ req: any;
46
+ metrics: Metrics;
47
+ logger: Logger;
48
+ url: string;
49
+ host: string;
50
+ path: string;
51
+ query: Record<string, any>;
52
+ headers: Record<string, any>;
53
+ }
@@ -1,5 +1,5 @@
1
- import type { ModernServerContext, HookContext, AfterMatchContext, AfterRenderContext, MiddlewareContext } from '@modern-js/types';
1
+ import type { ModernServerContext, HookContext, AfterMatchContext, AfterRenderContext, MiddlewareContext, ServerRoute } from '@modern-js/types';
2
2
  export declare const base: (context: ModernServerContext) => HookContext;
3
3
  export declare const createAfterMatchContext: (context: ModernServerContext, entryName: string) => AfterMatchContext;
4
- export declare const createAfterRenderContext: (context: ModernServerContext, content: string) => AfterRenderContext;
5
- export declare const createMiddlewareContext: (context: ModernServerContext) => MiddlewareContext;
4
+ export declare const createAfterRenderContext: (context: ModernServerContext, route: Partial<ServerRoute>, content: string) => AfterRenderContext;
5
+ export declare const createMiddlewareContext: (context: ModernServerContext) => MiddlewareContext;
@@ -1,19 +1,19 @@
1
- import { AfterMatchContext, AfterRenderContext, HookContext, Logger, Metrics, MiddlewareContext, Reporter } from '@modern-js/types/server';
1
+ import { AfterMatchContext, AfterRenderContext, HookContext, Logger, Metrics, MiddlewareContext, Reporter, ServerRoute } from '@modern-js/types/server';
2
2
  export interface WorkerResponse {
3
- headers: Headers;
4
- status: number;
5
- isSent: boolean;
6
- locals?: Record<string, any>;
7
- body?: string;
3
+ headers: Headers;
4
+ status: number;
5
+ isSent: boolean;
6
+ locals?: Record<string, any>;
7
+ body?: string;
8
8
  }
9
9
  export interface WorkerServerContext {
10
- res: WorkerResponse;
11
- req: Request;
12
- logger: Logger;
13
- reporter: Reporter;
14
- metrics: Metrics;
10
+ res: WorkerResponse;
11
+ req: Request;
12
+ logger: Logger;
13
+ reporter: Reporter;
14
+ metrics: Metrics;
15
15
  }
16
16
  export declare const base: (context: WorkerServerContext) => HookContext;
17
17
  export declare const createAfterMatchContext: (context: WorkerServerContext, entryName: string) => AfterMatchContext;
18
- export declare const createAfterRenderContext: (context: WorkerServerContext, content: string) => AfterRenderContext;
19
- export declare const createMiddlewareContext: (context: WorkerServerContext) => MiddlewareContext<'worker'>;
18
+ export declare const createAfterRenderContext: (context: WorkerServerContext, route: Partial<ServerRoute>, content: string) => AfterRenderContext;
19
+ export declare const createMiddlewareContext: (context: WorkerServerContext) => MiddlewareContext<'worker'>;
@@ -1,9 +1,9 @@
1
1
  export declare class RouteAPI {
2
- current: string;
3
- status: number;
4
- url: string;
5
- constructor(entryName: string);
6
- redirect(url: string, status?: number): void;
7
- rewrite(entryName: string): void;
8
- use(entryName: string): void;
9
- }
2
+ current: string;
3
+ status: number;
4
+ url: string;
5
+ constructor(entryName: string);
6
+ redirect(url: string, status?: number): void;
7
+ rewrite(entryName: string): void;
8
+ use(entryName: string): void;
9
+ }