@midwayjs/express 3.20.11 → 3.20.12

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/framework.js CHANGED
@@ -141,7 +141,10 @@ let MidwayExpressFramework = class MidwayExpressFramework extends core_1.BaseFra
141
141
  }
142
142
  // register httpServer to applicationContext
143
143
  this.applicationContext.registerObject(core_1.HTTP_SERVER_KEY, this.server);
144
- const customPort = (_a = process.env.MIDWAY_HTTP_PORT) !== null && _a !== void 0 ? _a : this.configurationOptions.port;
144
+ let customPort = (_a = process.env.MIDWAY_HTTP_PORT) !== null && _a !== void 0 ? _a : this.configurationOptions.port;
145
+ if (customPort === 0) {
146
+ customPort = await (0, util_2.getFreePort)();
147
+ }
145
148
  if (customPort) {
146
149
  new Promise(resolve => {
147
150
  const args = [customPort];
package/dist/util.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare function sendData(res: any, data: any): void;
2
+ export declare function getFreePort(): Promise<number>;
2
3
  //# sourceMappingURL=util.d.ts.map
package/dist/util.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendData = void 0;
3
+ exports.getFreePort = exports.sendData = void 0;
4
+ const net_1 = require("net");
4
5
  function sendData(res, data) {
5
6
  if (typeof data === 'number') {
6
7
  res.status(res.statusCode).send('' + data);
@@ -10,4 +11,20 @@ function sendData(res, data) {
10
11
  }
11
12
  }
12
13
  exports.sendData = sendData;
14
+ async function getFreePort() {
15
+ return new Promise((resolve, reject) => {
16
+ const server = (0, net_1.createServer)();
17
+ server.listen(0, () => {
18
+ try {
19
+ const port = server.address().port;
20
+ server.close();
21
+ resolve(port);
22
+ }
23
+ catch (err) {
24
+ reject(err);
25
+ }
26
+ });
27
+ });
28
+ }
29
+ exports.getFreePort = getFreePort;
13
30
  //# sourceMappingURL=util.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midwayjs/express",
3
- "version": "3.20.11",
3
+ "version": "3.20.12",
4
4
  "description": "Midway Web Framework for Express",
5
5
  "main": "dist/index.js",
6
6
  "typings": "index.d.ts",
@@ -44,5 +44,5 @@
44
44
  "engines": {
45
45
  "node": ">=12"
46
46
  },
47
- "gitHead": "741e5e2cd200d44182bf893f348f58fb5c4e5404"
47
+ "gitHead": "de297e0d18cbfd86b3043c4ad0c1a7c991415711"
48
48
  }