@matter/nodejs 0.16.10 → 0.16.11-alpha.0-20260225-033797f3c

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.
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { HttpEndpoint, HttpEndpointFactory } from "#general";
7
- import { IncomingMessage, Server, ServerResponse } from "node:http";
7
+ import type { Server, ServerResponse } from "node:http";
8
+ import { IncomingMessage } from "node:http";
8
9
  /**
9
10
  * An implementation of {@link HttpEndpoint} that uses Node.js's standard {@link Server}.
10
11
  *
@@ -15,14 +16,14 @@ import { IncomingMessage, Server, ServerResponse } from "node:http";
15
16
  */
16
17
  export declare class NodeJsHttpEndpoint implements HttpEndpoint {
17
18
  #private;
18
- static create(options: NodeJsHttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
19
+ static create(config: NodeJsHttpEndpoint.Configuration): Promise<NodeJsHttpEndpoint>;
19
20
  /**
20
21
  * Create a new endpoint.
21
22
  *
22
- * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
23
+ * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Configuration} to create a server dedicated
23
24
  * to this endpoint.
24
25
  */
25
- constructor(optionsOrServer: Server | NodeJsHttpEndpoint.Options);
26
+ constructor(config: Server | NodeJsHttpEndpoint.Configuration);
26
27
  get server(): Server<typeof IncomingMessage, typeof ServerResponse>;
27
28
  get ready(): Promise<void>;
28
29
  set http(handler: HttpEndpoint.HttpHandler | undefined);
@@ -30,13 +31,13 @@ export declare class NodeJsHttpEndpoint implements HttpEndpoint {
30
31
  close: () => Promise<void>;
31
32
  }
32
33
  export declare namespace NodeJsHttpEndpoint {
33
- interface Options extends HttpEndpoint.Options {
34
+ interface Configuration extends HttpEndpoint.Configuration {
34
35
  basePathForUnixSockets?: string;
35
36
  }
36
37
  class Factory extends HttpEndpointFactory {
37
38
  #private;
38
39
  constructor(basePathForUnixSockets?: string);
39
- create(options: HttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
40
+ create(config: HttpEndpoint.Configuration): Promise<NodeJsHttpEndpoint>;
40
41
  }
41
42
  }
42
43
  //# sourceMappingURL=NodeJsHttpEndpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeJsHttpEndpoint.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsHttpEndpoint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,YAAY,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AAExG,OAAO,EAAgB,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWlF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;WAYtC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMrF;;;;;OAKG;gBACS,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAAC,OAAO;IAehE,IAAI,MAAM,0DAET;IAsGD,IAAI,KAAK,kBAER;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,SAAS,EAsBrD;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,EA6BjD;IAED,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CA8D9B;AA8CD,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,YAAY,CAAC,OAAO;QACjD,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,MAAa,OAAQ,SAAQ,mBAAmB;;oBAGhC,sBAAsB,CAAC,EAAE,MAAM;QAKrC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO;KAM7C;CACJ"}
1
+ {"version":3,"file":"NodeJsHttpEndpoint.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsHttpEndpoint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,YAAY,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AAExG,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAoC,eAAe,EAAE,MAAM,WAAW,CAAC;AAY9E;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;WAYtC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM1F;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,aAAa;IAe7D,IAAI,MAAM,0DAET;IAqHD,IAAI,KAAK,kBAER;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,SAAS,EAsBrD;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,EA6BjD;IAED,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CA8D9B;AA8CD,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,aAAc,SAAQ,YAAY,CAAC,aAAa;QAC7D,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,MAAa,OAAQ,SAAQ,mBAAmB;;oBAGhC,sBAAsB,CAAC,EAAE,MAAM;QAKrC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,aAAa;KAMlD;CACJ"}
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(NodeJsHttpEndpoint_exports);
24
24
  var import_general = require("#general");
25
25
  var import_node_fs = require("node:fs");
26
26
  var import_node_http = require("node:http");
27
+ var import_node_https = require("node:https");
27
28
  var import_node_path = require("node:path");
28
29
  var import_WsAdapter = require("./WsAdapter.js");
29
30
  /**
@@ -42,23 +43,23 @@ class NodeJsHttpEndpoint {
42
43
  #notFound;
43
44
  #wsAdapter;
44
45
  #wsAdapterFactory;
45
- static async create(options) {
46
- const endpoint = new NodeJsHttpEndpoint(options);
46
+ static async create(config) {
47
+ const endpoint = new NodeJsHttpEndpoint(config);
47
48
  await endpoint.ready;
48
49
  return endpoint;
49
50
  }
50
51
  /**
51
52
  * Create a new endpoint.
52
53
  *
53
- * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
54
+ * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Configuration} to create a server dedicated
54
55
  * to this endpoint.
55
56
  */
56
- constructor(optionsOrServer) {
57
+ constructor(config) {
57
58
  let close, ready, server, notFound;
58
- if ("on" in optionsOrServer) {
59
- ({ close, ready, server, notFound } = this.#bindToServer(optionsOrServer));
59
+ if ("on" in config) {
60
+ ({ close, ready, server, notFound } = this.#bindToServer(config));
60
61
  } else {
61
- ({ close, ready, server, notFound } = this.#createDedicatedServer(optionsOrServer));
62
+ ({ close, ready, server, notFound } = this.#createDedicatedServer(config));
62
63
  }
63
64
  this.#server = server;
64
65
  this.#ready = ready;
@@ -80,14 +81,28 @@ class NodeJsHttpEndpoint {
80
81
  };
81
82
  }
82
83
  #createDedicatedServer(options) {
83
- const server = (0, import_node_http.createServer)({ keepAlive: true });
84
- const opts = {};
85
84
  const address = import_general.AppAddress.for(options.address);
85
+ let server;
86
+ if (address.isTls) {
87
+ if (options.certificate === void 0 || options.key === void 0) {
88
+ throw new import_general.NetworkError(
89
+ `Cannot create HTTPS endpoint for ${address} because no certificate and/or key is present`
90
+ );
91
+ }
92
+ server = (0, import_node_https.createServer)({
93
+ keepAlive: true,
94
+ cert: options.certificate,
95
+ key: options.key
96
+ });
97
+ } else {
98
+ server = (0, import_node_http.createServer)({ keepAlive: true });
99
+ }
100
+ const opts = {};
86
101
  const { transport } = address;
87
102
  switch (transport.kind) {
88
103
  case "ip":
89
104
  if (!address.isWildcardHost) {
90
- opts.host = address.host;
105
+ opts.host = address.hostname;
91
106
  }
92
107
  if (!address.isWildcardPort) {
93
108
  opts.port = address.portNum;
@@ -292,10 +307,10 @@ function respondError(res, code) {
292
307
  super();
293
308
  this.#basePathForUnixSockets = basePathForUnixSockets;
294
309
  }
295
- async create(options) {
310
+ async create(config) {
296
311
  return NodeJsHttpEndpoint2.create({
297
312
  basePathForUnixSockets: this.#basePathForUnixSockets,
298
- ...options
313
+ ...config
299
314
  });
300
315
  }
301
316
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/NodeJsHttpEndpoint.ts"],
4
- "mappings": "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",
5
- "names": ["resolve", "NodeJsHttpEndpoint"]
4
+ "mappings": "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",
5
+ "names": ["createHttpsServer", "createHttpServer", "resolve", "NodeJsHttpEndpoint"]
6
6
  }
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { HttpEndpoint, HttpEndpointFactory } from "#general";
7
- import { IncomingMessage, Server, ServerResponse } from "node:http";
7
+ import type { Server, ServerResponse } from "node:http";
8
+ import { IncomingMessage } from "node:http";
8
9
  /**
9
10
  * An implementation of {@link HttpEndpoint} that uses Node.js's standard {@link Server}.
10
11
  *
@@ -15,14 +16,14 @@ import { IncomingMessage, Server, ServerResponse } from "node:http";
15
16
  */
16
17
  export declare class NodeJsHttpEndpoint implements HttpEndpoint {
17
18
  #private;
18
- static create(options: NodeJsHttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
19
+ static create(config: NodeJsHttpEndpoint.Configuration): Promise<NodeJsHttpEndpoint>;
19
20
  /**
20
21
  * Create a new endpoint.
21
22
  *
22
- * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
23
+ * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Configuration} to create a server dedicated
23
24
  * to this endpoint.
24
25
  */
25
- constructor(optionsOrServer: Server | NodeJsHttpEndpoint.Options);
26
+ constructor(config: Server | NodeJsHttpEndpoint.Configuration);
26
27
  get server(): Server<typeof IncomingMessage, typeof ServerResponse>;
27
28
  get ready(): Promise<void>;
28
29
  set http(handler: HttpEndpoint.HttpHandler | undefined);
@@ -30,13 +31,13 @@ export declare class NodeJsHttpEndpoint implements HttpEndpoint {
30
31
  close: () => Promise<void>;
31
32
  }
32
33
  export declare namespace NodeJsHttpEndpoint {
33
- interface Options extends HttpEndpoint.Options {
34
+ interface Configuration extends HttpEndpoint.Configuration {
34
35
  basePathForUnixSockets?: string;
35
36
  }
36
37
  class Factory extends HttpEndpointFactory {
37
38
  #private;
38
39
  constructor(basePathForUnixSockets?: string);
39
- create(options: HttpEndpoint.Options): Promise<NodeJsHttpEndpoint>;
40
+ create(config: HttpEndpoint.Configuration): Promise<NodeJsHttpEndpoint>;
40
41
  }
41
42
  }
42
43
  //# sourceMappingURL=NodeJsHttpEndpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeJsHttpEndpoint.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsHttpEndpoint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,YAAY,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AAExG,OAAO,EAAgB,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWlF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;WAYtC,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMrF;;;;;OAKG;gBACS,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAAC,OAAO;IAehE,IAAI,MAAM,0DAET;IAsGD,IAAI,KAAK,kBAER;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,SAAS,EAsBrD;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,EA6BjD;IAED,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CA8D9B;AA8CD,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,OAAQ,SAAQ,YAAY,CAAC,OAAO;QACjD,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,MAAa,OAAQ,SAAQ,mBAAmB;;oBAGhC,sBAAsB,CAAC,EAAE,MAAM;QAKrC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO;KAM7C;CACJ"}
1
+ {"version":3,"file":"NodeJsHttpEndpoint.d.ts","sourceRoot":"","sources":["../../../src/net/NodeJsHttpEndpoint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,YAAY,EAAE,mBAAmB,EAAwB,MAAM,UAAU,CAAC;AAExG,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAoC,eAAe,EAAE,MAAM,WAAW,CAAC;AAY9E;;;;;;;GAOG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;WAYtC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAM1F;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,aAAa;IAe7D,IAAI,MAAM,0DAET;IAqHD,IAAI,KAAK,kBAER;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,GAAG,SAAS,EAsBrD;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,GAAG,SAAS,EA6BjD;IAED,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CA8D9B;AA8CD,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,aAAc,SAAQ,YAAY,CAAC,aAAa;QAC7D,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,MAAa,OAAQ,SAAQ,mBAAmB;;oBAGhC,sBAAsB,CAAC,EAAE,MAAM;QAKrC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,aAAa;KAMlD;CACJ"}
@@ -5,7 +5,8 @@
5
5
  */
6
6
  import { AppAddress, asError, HttpEndpointFactory, Logger, NetworkError } from "#general";
7
7
  import { existsSync, ReadStream, rmSync, statSync } from "node:fs";
8
- import { createServer, IncomingMessage } from "node:http";
8
+ import { createServer as createHttpServer, IncomingMessage } from "node:http";
9
+ import { createServer as createHttpsServer } from "node:https";
9
10
  import { normalize, resolve } from "node:path";
10
11
  import { WsAdapter } from "./WsAdapter.js";
11
12
  const logger = new Logger("NodeJsHttpEndpoint");
@@ -19,23 +20,23 @@ class NodeJsHttpEndpoint {
19
20
  #notFound;
20
21
  #wsAdapter;
21
22
  #wsAdapterFactory;
22
- static async create(options) {
23
- const endpoint = new NodeJsHttpEndpoint(options);
23
+ static async create(config) {
24
+ const endpoint = new NodeJsHttpEndpoint(config);
24
25
  await endpoint.ready;
25
26
  return endpoint;
26
27
  }
27
28
  /**
28
29
  * Create a new endpoint.
29
30
  *
30
- * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
31
+ * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Configuration} to create a server dedicated
31
32
  * to this endpoint.
32
33
  */
33
- constructor(optionsOrServer) {
34
+ constructor(config) {
34
35
  let close, ready, server, notFound;
35
- if ("on" in optionsOrServer) {
36
- ({ close, ready, server, notFound } = this.#bindToServer(optionsOrServer));
36
+ if ("on" in config) {
37
+ ({ close, ready, server, notFound } = this.#bindToServer(config));
37
38
  } else {
38
- ({ close, ready, server, notFound } = this.#createDedicatedServer(optionsOrServer));
39
+ ({ close, ready, server, notFound } = this.#createDedicatedServer(config));
39
40
  }
40
41
  this.#server = server;
41
42
  this.#ready = ready;
@@ -57,14 +58,28 @@ class NodeJsHttpEndpoint {
57
58
  };
58
59
  }
59
60
  #createDedicatedServer(options) {
60
- const server = createServer({ keepAlive: true });
61
- const opts = {};
62
61
  const address = AppAddress.for(options.address);
62
+ let server;
63
+ if (address.isTls) {
64
+ if (options.certificate === void 0 || options.key === void 0) {
65
+ throw new NetworkError(
66
+ `Cannot create HTTPS endpoint for ${address} because no certificate and/or key is present`
67
+ );
68
+ }
69
+ server = createHttpsServer({
70
+ keepAlive: true,
71
+ cert: options.certificate,
72
+ key: options.key
73
+ });
74
+ } else {
75
+ server = createHttpServer({ keepAlive: true });
76
+ }
77
+ const opts = {};
63
78
  const { transport } = address;
64
79
  switch (transport.kind) {
65
80
  case "ip":
66
81
  if (!address.isWildcardHost) {
67
- opts.host = address.host;
82
+ opts.host = address.hostname;
68
83
  }
69
84
  if (!address.isWildcardPort) {
70
85
  opts.port = address.portNum;
@@ -269,10 +284,10 @@ function respondError(res, code) {
269
284
  super();
270
285
  this.#basePathForUnixSockets = basePathForUnixSockets;
271
286
  }
272
- async create(options) {
287
+ async create(config) {
273
288
  return NodeJsHttpEndpoint2.create({
274
289
  basePathForUnixSockets: this.#basePathForUnixSockets,
275
- ...options
290
+ ...config
276
291
  });
277
292
  }
278
293
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/net/NodeJsHttpEndpoint.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["resolve", "NodeJsHttpEndpoint"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs",
3
- "version": "0.16.10",
3
+ "version": "0.16.11-alpha.0-20260225-033797f3c",
4
4
  "description": "Node.js platform support for matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -44,17 +44,17 @@
44
44
  "#*": "./src/*"
45
45
  },
46
46
  "dependencies": {
47
- "@matter/general": "0.16.10",
48
- "@matter/node": "0.16.10",
49
- "@matter/protocol": "0.16.10",
50
- "@matter/types": "0.16.10"
47
+ "@matter/general": "0.16.11-alpha.0-20260225-033797f3c",
48
+ "@matter/node": "0.16.11-alpha.0-20260225-033797f3c",
49
+ "@matter/protocol": "0.16.11-alpha.0-20260225-033797f3c",
50
+ "@matter/types": "0.16.11-alpha.0-20260225-033797f3c"
51
51
  },
52
52
  "devDependencies": {
53
- "@matter/model": "0.16.10",
54
- "@matter/protocol": "0.16.10",
55
- "@matter/testing": "0.16.10",
56
- "@matter/tools": "0.16.10",
57
- "@project-chip/matter.js": "0.16.10",
53
+ "@matter/model": "0.16.11-alpha.0-20260225-033797f3c",
54
+ "@matter/protocol": "0.16.11-alpha.0-20260225-033797f3c",
55
+ "@matter/testing": "0.16.11-alpha.0-20260225-033797f3c",
56
+ "@matter/tools": "0.16.11-alpha.0-20260225-033797f3c",
57
+ "@project-chip/matter.js": "0.16.11-alpha.0-20260225-033797f3c",
58
58
  "@types/bytebuffer": "^5.0.49"
59
59
  },
60
60
  "files": [
@@ -6,7 +6,9 @@
6
6
 
7
7
  import { AppAddress, asError, HttpEndpoint, HttpEndpointFactory, Logger, NetworkError } from "#general";
8
8
  import { existsSync, ReadStream, rmSync, statSync } from "node:fs";
9
- import { createServer, IncomingMessage, Server, ServerResponse } from "node:http";
9
+ import type { Server, ServerResponse } from "node:http";
10
+ import { createServer as createHttpServer, IncomingMessage } from "node:http";
11
+ import { createServer as createHttpsServer } from "node:https";
10
12
  import { ListenOptions } from "node:net";
11
13
  import { normalize, resolve } from "node:path";
12
14
  import { Duplex } from "node:stream";
@@ -37,8 +39,8 @@ export class NodeJsHttpEndpoint implements HttpEndpoint {
37
39
  #wsAdapter?: WsAdapter;
38
40
  #wsAdapterFactory?: WsAdapter.Factory;
39
41
 
40
- static async create(options: NodeJsHttpEndpoint.Options): Promise<NodeJsHttpEndpoint> {
41
- const endpoint = new NodeJsHttpEndpoint(options);
42
+ static async create(config: NodeJsHttpEndpoint.Configuration): Promise<NodeJsHttpEndpoint> {
43
+ const endpoint = new NodeJsHttpEndpoint(config);
42
44
  await endpoint.ready;
43
45
  return endpoint;
44
46
  }
@@ -46,16 +48,16 @@ export class NodeJsHttpEndpoint implements HttpEndpoint {
46
48
  /**
47
49
  * Create a new endpoint.
48
50
  *
49
- * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Options} to create a server dedicated
51
+ * You may pass an existing {@link Server} or pass {@link NodeJsHttpEndpoint.Configuration} to create a server dedicated
50
52
  * to this endpoint.
51
53
  */
52
- constructor(optionsOrServer: Server | NodeJsHttpEndpoint.Options) {
54
+ constructor(config: Server | NodeJsHttpEndpoint.Configuration) {
53
55
  let close, ready, server, notFound;
54
56
 
55
- if ("on" in optionsOrServer) {
56
- ({ close, ready, server, notFound } = this.#bindToServer(optionsOrServer));
57
+ if ("on" in config) {
58
+ ({ close, ready, server, notFound } = this.#bindToServer(config));
57
59
  } else {
58
- ({ close, ready, server, notFound } = this.#createDedicatedServer(optionsOrServer));
60
+ ({ close, ready, server, notFound } = this.#createDedicatedServer(config));
59
61
  }
60
62
 
61
63
  this.#server = server;
@@ -80,17 +82,32 @@ export class NodeJsHttpEndpoint implements HttpEndpoint {
80
82
  };
81
83
  }
82
84
 
83
- #createDedicatedServer(options: NodeJsHttpEndpoint.Options) {
84
- const server = createServer({ keepAlive: true });
85
+ #createDedicatedServer(options: NodeJsHttpEndpoint.Configuration) {
86
+ const address = AppAddress.for(options.address);
87
+
88
+ let server;
89
+ if (address.isTls) {
90
+ if (options.certificate === undefined || options.key === undefined) {
91
+ throw new NetworkError(
92
+ `Cannot create HTTPS endpoint for ${address} because no certificate and/or key is present`,
93
+ );
94
+ }
95
+ server = createHttpsServer({
96
+ keepAlive: true,
97
+ cert: options.certificate,
98
+ key: options.key,
99
+ });
100
+ } else {
101
+ server = createHttpServer({ keepAlive: true });
102
+ }
85
103
 
86
104
  const opts = {} as ListenOptions;
87
105
 
88
- const address = AppAddress.for(options.address);
89
106
  const { transport } = address;
90
107
  switch (transport.kind) {
91
108
  case "ip":
92
109
  if (!address.isWildcardHost) {
93
- opts.host = address.host;
110
+ opts.host = address.hostname;
94
111
  }
95
112
  if (!address.isWildcardPort) {
96
113
  opts.port = address.portNum;
@@ -336,7 +353,7 @@ function respondError(res: ServerResponse, code: number) {
336
353
  }
337
354
 
338
355
  export namespace NodeJsHttpEndpoint {
339
- export interface Options extends HttpEndpoint.Options {
356
+ export interface Configuration extends HttpEndpoint.Configuration {
340
357
  basePathForUnixSockets?: string;
341
358
  }
342
359
 
@@ -348,10 +365,10 @@ export namespace NodeJsHttpEndpoint {
348
365
  this.#basePathForUnixSockets = basePathForUnixSockets;
349
366
  }
350
367
 
351
- async create(options: HttpEndpoint.Options) {
368
+ async create(config: HttpEndpoint.Configuration) {
352
369
  return NodeJsHttpEndpoint.create({
353
370
  basePathForUnixSockets: this.#basePathForUnixSockets,
354
- ...options,
371
+ ...config,
355
372
  });
356
373
  }
357
374
  }