@modern-js/prod-server 2.21.0 → 2.21.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @modern-js/prod-server
2
2
 
3
+ ## 2.21.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 78e3ac8: fix(prod-server): worker ssr should pass baseUrl & url by request.
8
+ fix(prod-server): worker ssr 通过 request 应该传递 baseUrl & url .
9
+ - 2728724: fix(prod-server): the ssr render maybe get invalid url, like `http:///`
10
+ fix(prod-server): ssr 渲染函数可能获得非法 url, 类似 `http:///`
11
+ - @modern-js/server-core@2.21.1
12
+ - @modern-js/utils@2.21.1
13
+
3
14
  ## 2.21.0
4
15
 
5
16
  ### Patch Changes
@@ -104,7 +104,7 @@ class ModernServerContext {
104
104
  if (!host) {
105
105
  host = this.getReqHeader("Host");
106
106
  }
107
- return host.split(/\s*,\s*/, 1)[0] || "";
107
+ return host.split(/\s*,\s*/, 1)[0] || "undefined";
108
108
  }
109
109
  get protocol() {
110
110
  if (this.req.socket.encrypted) {
@@ -85,8 +85,9 @@ const createHandler = (manifest) => {
85
85
  }
86
86
  };
87
87
  const params = pageMatch.parseURLParams(url.pathname) || {};
88
+ const { urlPath: baseUrl } = pageMatch;
88
89
  const serverRenderContext = {
89
- request: createServerRequest(url, request, params),
90
+ request: createServerRequest(url, baseUrl, request, params),
90
91
  response: responseLike,
91
92
  loadableStats,
92
93
  routeManifest,
@@ -111,7 +112,7 @@ const createHandler = (manifest) => {
111
112
  }
112
113
  console.warn(`Can't not page(${pageMatch.spec.urlPath}) serverRender`);
113
114
  return createResponse(page.template);
114
- function createServerRequest(url2, request2, params) {
115
+ function createServerRequest(url2, baseUrl, request2, params) {
115
116
  const { pathname, host, searchParams } = url2;
116
117
  const { headers: rawHeaders } = request2;
117
118
  const headers = {};
@@ -120,6 +121,8 @@ const createHandler = (manifest) => {
120
121
  });
121
122
  const query = Object.fromEntries(searchParams);
122
123
  return {
124
+ url: url2.href,
125
+ baseUrl,
123
126
  pathname,
124
127
  host,
125
128
  headers,
@@ -160,7 +160,7 @@ export var ModernServerContext = /* @__PURE__ */ function() {
160
160
  if (!host) {
161
161
  host = this.getReqHeader("Host");
162
162
  }
163
- return host.split(/\s*,\s*/, 1)[0] || "";
163
+ return host.split(/\s*,\s*/, 1)[0] || "undefined";
164
164
  }
165
165
  },
166
166
  {
@@ -71,8 +71,8 @@ export var createHandler = function(manifest) {
71
71
  routeMgr.reset(routes);
72
72
  return function() {
73
73
  var _ref = _async_to_generator(function(options) {
74
- var request, loadableStats, routeManifest, url, pageMatch, page, responseLike, params, serverRenderContext, body, e;
75
- function createServerRequest(url2, request2, params2) {
74
+ var request, loadableStats, routeManifest, url, pageMatch, page, responseLike, params, baseUrl, serverRenderContext, body, e;
75
+ function createServerRequest(url2, baseUrl2, request2, params2) {
76
76
  var pathname = url2.pathname, host = url2.host, searchParams = url2.searchParams;
77
77
  var rawHeaders = request2.headers;
78
78
  var headers = {};
@@ -81,6 +81,8 @@ export var createHandler = function(manifest) {
81
81
  });
82
82
  var query = Object.fromEntries(searchParams);
83
83
  return {
84
+ url: url2.href,
85
+ baseUrl: baseUrl2,
84
86
  pathname: pathname,
85
87
  host: host,
86
88
  headers: headers,
@@ -126,8 +128,9 @@ export var createHandler = function(manifest) {
126
128
  }
127
129
  };
128
130
  params = pageMatch.parseURLParams(url.pathname) || {};
131
+ baseUrl = pageMatch.urlPath;
129
132
  serverRenderContext = {
130
- request: createServerRequest(url, request, params),
133
+ request: createServerRequest(url, baseUrl, request, params),
131
134
  response: responseLike,
132
135
  loadableStats: loadableStats,
133
136
  routeManifest: routeManifest,
@@ -95,7 +95,7 @@ export class ModernServerContext {
95
95
  if (!host) {
96
96
  host = this.getReqHeader("Host");
97
97
  }
98
- return host.split(/\s*,\s*/, 1)[0] || "";
98
+ return host.split(/\s*,\s*/, 1)[0] || "undefined";
99
99
  }
100
100
  get protocol() {
101
101
  if (this.req.socket.encrypted) {
@@ -70,8 +70,9 @@ export const createHandler = (manifest) => {
70
70
  }
71
71
  };
72
72
  const params = pageMatch.parseURLParams(url.pathname) || {};
73
+ const { urlPath: baseUrl } = pageMatch;
73
74
  const serverRenderContext = {
74
- request: createServerRequest(url, request, params),
75
+ request: createServerRequest(url, baseUrl, request, params),
75
76
  response: responseLike,
76
77
  loadableStats,
77
78
  routeManifest,
@@ -96,7 +97,7 @@ export const createHandler = (manifest) => {
96
97
  }
97
98
  console.warn(`Can't not page(${pageMatch.spec.urlPath}) serverRender`);
98
99
  return createResponse(page.template);
99
- function createServerRequest(url2, request2, params) {
100
+ function createServerRequest(url2, baseUrl, request2, params) {
100
101
  const { pathname, host, searchParams } = url2;
101
102
  const { headers: rawHeaders } = request2;
102
103
  const headers = {};
@@ -105,6 +106,8 @@ export const createHandler = (manifest) => {
105
106
  });
106
107
  const query = Object.fromEntries(searchParams);
107
108
  return {
109
+ url: url2.href,
110
+ baseUrl,
108
111
  pathname,
109
112
  host,
110
113
  headers,
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
4
  /// <reference types="node/http" />
5
- /// <reference types=".dts-temp/dQl0PkddbjYymDTKBgvwm/src/type" />
5
+ /// <reference types=".dts-temp/tNQNz5diNrmZleL5wsuCm/src/type" />
6
6
  import { IncomingMessage, ServerResponse } from 'http';
7
7
  import qs from 'querystring';
8
8
  import type { ModernServerContext as ModernServerContextInterface } from '@modern-js/types';
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node/http" />
3
- /// <reference types=".dts-temp/dQl0PkddbjYymDTKBgvwm/src/type" />
3
+ /// <reference types=".dts-temp/tNQNz5diNrmZleL5wsuCm/src/type" />
4
4
  import { IncomingMessage } from 'http';
5
5
  import type { OutputNormalizedConfig, HtmlNormalizedConfig } from '@modern-js/server-core';
6
6
  export declare const debug: any;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.21.0",
18
+ "version": "2.21.1",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -61,8 +61,8 @@
61
61
  "path-to-regexp": "^6.2.0",
62
62
  "serve-static": "^1.14.1",
63
63
  "@swc/helpers": "0.5.1",
64
- "@modern-js/utils": "2.21.0",
65
- "@modern-js/server-core": "2.21.0"
64
+ "@modern-js/utils": "2.21.1",
65
+ "@modern-js/server-core": "2.21.1"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/cookie": "^0.4.1",
@@ -78,10 +78,10 @@
78
78
  "node-mocks-http": "^1.11.0",
79
79
  "portfinder": "^1.0.28",
80
80
  "typescript": "^5",
81
- "@modern-js/types": "2.21.0",
82
- "@modern-js/server-core": "2.21.0",
83
- "@scripts/jest-config": "2.21.0",
84
- "@scripts/build": "2.21.0"
81
+ "@modern-js/types": "2.21.1",
82
+ "@modern-js/server-core": "2.21.1",
83
+ "@scripts/jest-config": "2.21.1",
84
+ "@scripts/build": "2.21.1"
85
85
  },
86
86
  "sideEffects": false,
87
87
  "publishConfig": {