@matter/nodejs 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e
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/package.json +9 -9
- package/dist/cjs/behavior/index.d.ts +0 -7
- package/dist/cjs/behavior/index.d.ts.map +0 -1
- package/dist/cjs/behavior/index.js +0 -8
- package/dist/cjs/behavior/index.js.map +0 -6
- package/dist/cjs/behavior/instrumentation.d.ts +0 -11
- package/dist/cjs/behavior/instrumentation.d.ts.map +0 -1
- package/dist/cjs/behavior/instrumentation.js +0 -39
- package/dist/cjs/behavior/instrumentation.js.map +0 -6
- package/dist/cjs/behavior/register.d.ts +0 -7
- package/dist/cjs/behavior/register.d.ts.map +0 -1
- package/dist/cjs/behavior/register.js +0 -9
- package/dist/cjs/behavior/register.js.map +0 -6
- package/dist/cjs/config.d.ts +0 -98
- package/dist/cjs/config.d.ts.map +0 -1
- package/dist/cjs/config.js +0 -210
- package/dist/cjs/config.js.map +0 -6
- package/dist/cjs/crypto/NodeJsCrypto.d.ts +0 -13
- package/dist/cjs/crypto/NodeJsCrypto.d.ts.map +0 -1
- package/dist/cjs/crypto/NodeJsCrypto.js +0 -46
- package/dist/cjs/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/cjs/crypto/index.d.ts +0 -7
- package/dist/cjs/crypto/index.d.ts.map +0 -1
- package/dist/cjs/crypto/index.js +0 -24
- package/dist/cjs/crypto/index.js.map +0 -6
- package/dist/cjs/environment/NodeJsEnvironment.d.ts +0 -77
- package/dist/cjs/environment/NodeJsEnvironment.d.ts.map +0 -1
- package/dist/cjs/environment/NodeJsEnvironment.js +0 -254
- package/dist/cjs/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/cjs/environment/ProcessManager.d.ts +0 -48
- package/dist/cjs/environment/ProcessManager.d.ts.map +0 -1
- package/dist/cjs/environment/ProcessManager.js +0 -129
- package/dist/cjs/environment/ProcessManager.js.map +0 -6
- package/dist/cjs/environment/index.d.ts +0 -9
- package/dist/cjs/environment/index.d.ts.map +0 -1
- package/dist/cjs/environment/index.js +0 -26
- package/dist/cjs/environment/index.js.map +0 -6
- package/dist/cjs/environment/register.d.ts +0 -7
- package/dist/cjs/environment/register.d.ts.map +0 -1
- package/dist/cjs/environment/register.js +0 -10
- package/dist/cjs/environment/register.js.map +0 -6
- package/dist/cjs/fs/NodeJsDirectory.d.ts +0 -24
- package/dist/cjs/fs/NodeJsDirectory.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsDirectory.js +0 -102
- package/dist/cjs/fs/NodeJsDirectory.js.map +0 -6
- package/dist/cjs/fs/NodeJsFile.d.ts +0 -22
- package/dist/cjs/fs/NodeJsFile.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFile.js +0 -248
- package/dist/cjs/fs/NodeJsFile.js.map +0 -6
- package/dist/cjs/fs/NodeJsFilesystem.d.ts +0 -27
- package/dist/cjs/fs/NodeJsFilesystem.d.ts.map +0 -1
- package/dist/cjs/fs/NodeJsFilesystem.js +0 -83
- package/dist/cjs/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/cjs/fs/fs-utils.d.ts +0 -16
- package/dist/cjs/fs/fs-utils.d.ts.map +0 -1
- package/dist/cjs/fs/fs-utils.js +0 -154
- package/dist/cjs/fs/fs-utils.js.map +0 -6
- package/dist/cjs/fs/index.d.ts +0 -7
- package/dist/cjs/fs/index.d.ts.map +0 -1
- package/dist/cjs/fs/index.js +0 -24
- package/dist/cjs/fs/index.js.map +0 -6
- package/dist/cjs/fs/lock-utils.d.ts +0 -12
- package/dist/cjs/fs/lock-utils.d.ts.map +0 -1
- package/dist/cjs/fs/lock-utils.js +0 -132
- package/dist/cjs/fs/lock-utils.js.map +0 -6
- package/dist/cjs/index.d.ts +0 -14
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -31
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/log/FileLogger.d.ts +0 -12
- package/dist/cjs/log/FileLogger.d.ts.map +0 -1
- package/dist/cjs/log/FileLogger.js +0 -46
- package/dist/cjs/log/FileLogger.js.map +0 -6
- package/dist/cjs/log/index.d.ts +0 -7
- package/dist/cjs/log/index.d.ts.map +0 -1
- package/dist/cjs/log/index.js +0 -24
- package/dist/cjs/log/index.js.map +0 -6
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts +0 -38
- package/dist/cjs/net/NodeJsHttpEndpoint.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsHttpEndpoint.js +0 -306
- package/dist/cjs/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/cjs/net/NodeJsNetwork.d.ts +0 -37
- package/dist/cjs/net/NodeJsNetwork.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsNetwork.js +0 -199
- package/dist/cjs/net/NodeJsNetwork.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpConnection.d.ts +0 -24
- package/dist/cjs/net/NodeJsTcpConnection.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpConnection.js +0 -138
- package/dist/cjs/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/cjs/net/NodeJsTcpListener.d.ts +0 -19
- package/dist/cjs/net/NodeJsTcpListener.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsTcpListener.js +0 -100
- package/dist/cjs/net/NodeJsTcpListener.js.map +0 -6
- package/dist/cjs/net/NodeJsUdpSocket.d.ts +0 -23
- package/dist/cjs/net/NodeJsUdpSocket.d.ts.map +0 -1
- package/dist/cjs/net/NodeJsUdpSocket.js +0 -394
- package/dist/cjs/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/cjs/net/WsAdapter.d.ts +0 -25
- package/dist/cjs/net/WsAdapter.d.ts.map +0 -1
- package/dist/cjs/net/WsAdapter.js +0 -33
- package/dist/cjs/net/WsAdapter.js.map +0 -6
- package/dist/cjs/net/index.d.ts +0 -12
- package/dist/cjs/net/index.d.ts.map +0 -1
- package/dist/cjs/net/index.js +0 -29
- package/dist/cjs/net/index.js.map +0 -6
- package/dist/cjs/package.json +0 -6
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts +0 -29
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js +0 -155
- package/dist/cjs/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts +0 -44
- package/dist/cjs/storage/fs/FileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FileStorageDriver.js +0 -334
- package/dist/cjs/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts +0 -30
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js +0 -195
- package/dist/cjs/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts +0 -27
- package/dist/cjs/storage/fs/JsonFileStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js +0 -128
- package/dist/cjs/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts +0 -19
- package/dist/cjs/storage/fs/WalBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js +0 -44
- package/dist/cjs/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/fs/index.d.ts +0 -21
- package/dist/cjs/storage/fs/index.d.ts.map +0 -1
- package/dist/cjs/storage/fs/index.js +0 -40
- package/dist/cjs/storage/fs/index.js.map +0 -6
- package/dist/cjs/storage/index.d.ts +0 -8
- package/dist/cjs/storage/index.d.ts.map +0 -1
- package/dist/cjs/storage/index.js +0 -25
- package/dist/cjs/storage/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts +0 -48
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js +0 -217
- package/dist/cjs/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts +0 -23
- package/dist/cjs/storage/sqlite/SqlitePlatform.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqlitePlatform.js +0 -56
- package/dist/cjs/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts +0 -102
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js +0 -424
- package/dist/cjs/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts +0 -19
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js +0 -41
- package/dist/cjs/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts +0 -67
- package/dist/cjs/storage/sqlite/SqliteTypes.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteTypes.js +0 -35
- package/dist/cjs/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts +0 -33
- package/dist/cjs/storage/sqlite/SqliteUtil.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/SqliteUtil.js +0 -64
- package/dist/cjs/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/cjs/storage/sqlite/index.d.ts +0 -15
- package/dist/cjs/storage/sqlite/index.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/index.js +0 -37
- package/dist/cjs/storage/sqlite/index.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts +0 -13
- package/dist/cjs/storage/sqlite/platform/BunSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js +0 -61
- package/dist/cjs/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts +0 -8
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.d.ts.map +0 -1
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js +0 -53
- package/dist/cjs/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/cjs/time/index.d.ts +0 -7
- package/dist/cjs/time/index.d.ts.map +0 -1
- package/dist/cjs/time/index.js +0 -8
- package/dist/cjs/time/index.js.map +0 -6
- package/dist/cjs/time/startup.d.ts +0 -7
- package/dist/cjs/time/startup.d.ts.map +0 -1
- package/dist/cjs/time/startup.js +0 -11
- package/dist/cjs/time/startup.js.map +0 -6
- package/dist/cjs/util/runtimeChecks.d.ts +0 -14
- package/dist/cjs/util/runtimeChecks.d.ts.map +0 -1
- package/dist/cjs/util/runtimeChecks.js +0 -45
- package/dist/cjs/util/runtimeChecks.js.map +0 -6
- package/dist/esm/behavior/index.js +0 -7
- package/dist/esm/behavior/index.js.map +0 -6
- package/dist/esm/behavior/instrumentation.js +0 -19
- package/dist/esm/behavior/instrumentation.js.map +0 -6
- package/dist/esm/behavior/register.js +0 -8
- package/dist/esm/behavior/register.js.map +0 -6
- package/dist/esm/config.js +0 -190
- package/dist/esm/config.js.map +0 -6
- package/dist/esm/crypto/NodeJsCrypto.js +0 -16
- package/dist/esm/crypto/NodeJsCrypto.js.map +0 -6
- package/dist/esm/crypto/index.js +0 -7
- package/dist/esm/crypto/index.js.map +0 -6
- package/dist/esm/environment/NodeJsEnvironment.js +0 -242
- package/dist/esm/environment/NodeJsEnvironment.js.map +0 -6
- package/dist/esm/environment/ProcessManager.js +0 -109
- package/dist/esm/environment/ProcessManager.js.map +0 -6
- package/dist/esm/environment/index.js +0 -9
- package/dist/esm/environment/index.js.map +0 -6
- package/dist/esm/environment/register.js +0 -9
- package/dist/esm/environment/register.js.map +0 -6
- package/dist/esm/fs/NodeJsDirectory.js +0 -82
- package/dist/esm/fs/NodeJsDirectory.js.map +0 -6
- package/dist/esm/fs/NodeJsFile.js +0 -232
- package/dist/esm/fs/NodeJsFile.js.map +0 -6
- package/dist/esm/fs/NodeJsFilesystem.js +0 -63
- package/dist/esm/fs/NodeJsFilesystem.js.map +0 -6
- package/dist/esm/fs/fs-utils.js +0 -137
- package/dist/esm/fs/fs-utils.js.map +0 -6
- package/dist/esm/fs/index.js +0 -7
- package/dist/esm/fs/index.js.map +0 -6
- package/dist/esm/fs/lock-utils.js +0 -112
- package/dist/esm/fs/lock-utils.js.map +0 -6
- package/dist/esm/index.js +0 -14
- package/dist/esm/index.js.map +0 -6
- package/dist/esm/log/FileLogger.js +0 -26
- package/dist/esm/log/FileLogger.js.map +0 -6
- package/dist/esm/log/index.js +0 -7
- package/dist/esm/log/index.js.map +0 -6
- package/dist/esm/net/NodeJsHttpEndpoint.js +0 -286
- package/dist/esm/net/NodeJsHttpEndpoint.js.map +0 -6
- package/dist/esm/net/NodeJsNetwork.js +0 -189
- package/dist/esm/net/NodeJsNetwork.js.map +0 -6
- package/dist/esm/net/NodeJsTcpConnection.js +0 -124
- package/dist/esm/net/NodeJsTcpConnection.js.map +0 -6
- package/dist/esm/net/NodeJsTcpListener.js +0 -86
- package/dist/esm/net/NodeJsTcpListener.js.map +0 -6
- package/dist/esm/net/NodeJsUdpSocket.js +0 -385
- package/dist/esm/net/NodeJsUdpSocket.js.map +0 -6
- package/dist/esm/net/WsAdapter.js +0 -13
- package/dist/esm/net/WsAdapter.js.map +0 -6
- package/dist/esm/net/index.js +0 -12
- package/dist/esm/net/index.js.map +0 -6
- package/dist/esm/package.json +0 -6
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js +0 -140
- package/dist/esm/storage/fs/DirectoryBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FileStorageDriver.js +0 -323
- package/dist/esm/storage/fs/FileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js +0 -180
- package/dist/esm/storage/fs/FlatFileBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/JsonFileStorageDriver.js +0 -116
- package/dist/esm/storage/fs/JsonFileStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/WalBlobStorageDriver.js +0 -24
- package/dist/esm/storage/fs/WalBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/fs/index.js +0 -19
- package/dist/esm/storage/fs/index.js.map +0 -6
- package/dist/esm/storage/index.js +0 -8
- package/dist/esm/storage/index.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js +0 -197
- package/dist/esm/storage/sqlite/SqliteBlobStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqlitePlatform.js +0 -26
- package/dist/esm/storage/sqlite/SqlitePlatform.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js +0 -409
- package/dist/esm/storage/sqlite/SqliteStorageDriver.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js +0 -21
- package/dist/esm/storage/sqlite/SqliteStorageDriverError.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteTypes.js +0 -15
- package/dist/esm/storage/sqlite/SqliteTypes.js.map +0 -6
- package/dist/esm/storage/sqlite/SqliteUtil.js +0 -44
- package/dist/esm/storage/sqlite/SqliteUtil.js.map +0 -6
- package/dist/esm/storage/sqlite/index.js +0 -17
- package/dist/esm/storage/sqlite/index.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/BunSqlite.js +0 -41
- package/dist/esm/storage/sqlite/platform/BunSqlite.js.map +0 -6
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js +0 -33
- package/dist/esm/storage/sqlite/platform/NodeJsSqlite.js.map +0 -6
- package/dist/esm/time/index.js +0 -7
- package/dist/esm/time/index.js.map +0 -6
- package/dist/esm/time/startup.js +0 -10
- package/dist/esm/time/startup.js.map +0 -6
- package/dist/esm/util/runtimeChecks.js +0 -25
- package/dist/esm/util/runtimeChecks.js.map +0 -6
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/fs/lock-utils.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export * from "./behavior/index.js";
|
|
7
|
-
export * from "./crypto/index.js";
|
|
8
|
-
export * from "./environment/index.js";
|
|
9
|
-
export * from "./fs/index.js";
|
|
10
|
-
export * from "./log/index.js";
|
|
11
|
-
export * from "./net/index.js";
|
|
12
|
-
export * from "./storage/index.js";
|
|
13
|
-
export * from "./time/index.js";
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { open } from "node:fs/promises";
|
|
7
|
-
async function createFileLogger(path) {
|
|
8
|
-
const fileHandle = await open(path, "a");
|
|
9
|
-
const writer = fileHandle.createWriteStream();
|
|
10
|
-
process.on(
|
|
11
|
-
"beforeExit",
|
|
12
|
-
() => void fileHandle.close().catch((err) => err && console.error(`Failed to close log file: ${err}`))
|
|
13
|
-
);
|
|
14
|
-
return (formattedLog) => {
|
|
15
|
-
try {
|
|
16
|
-
writer.write(`${formattedLog}
|
|
17
|
-
`);
|
|
18
|
-
} catch (error) {
|
|
19
|
-
console.error(`Failed to write to log file: ${error}`);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export {
|
|
24
|
-
createFileLogger
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=FileLogger.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/log/FileLogger.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AAOrB,eAAsB,iBAAiB,MAAc;AACjD,QAAM,aAAa,MAAM,KAAK,MAAM,GAAG;AACvC,QAAM,SAAS,WAAW,kBAAkB;AAC5C,UAAQ;AAAA,IACJ;AAAA,IACA,MAAM,KAAK,WAAW,MAAM,EAAE,MAAM,SAAO,OAAO,QAAQ,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAAA,EACvG;AAEA,SAAO,CAAC,iBAAyB;AAC7B,QAAI;AACA,aAAO,MAAM,GAAG,YAAY;AAAA,CAAI;AAAA,IACpC,SAAS,OAAO;AACZ,cAAQ,MAAM,gCAAgC,KAAK,EAAE;AAAA,IACzD;AAAA,EACJ;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
package/dist/esm/log/index.js
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { AppAddress, asError, HttpEndpointFactory, Logger, NetworkError } from "@matter/general";
|
|
7
|
-
import { existsSync, ReadStream, rmSync, statSync } from "node:fs";
|
|
8
|
-
import { createServer as createHttpServer, IncomingMessage } from "node:http";
|
|
9
|
-
import { createServer as createHttpsServer } from "node:https";
|
|
10
|
-
import { normalize } from "node:path";
|
|
11
|
-
import { WsAdapter } from "./WsAdapter.js";
|
|
12
|
-
const logger = new Logger("NodeJsHttpEndpoint");
|
|
13
|
-
class NodeJsHttpEndpoint {
|
|
14
|
-
#server;
|
|
15
|
-
#ready;
|
|
16
|
-
#http;
|
|
17
|
-
#httpListener;
|
|
18
|
-
#ws;
|
|
19
|
-
#wsListener;
|
|
20
|
-
#notFound;
|
|
21
|
-
#wsAdapter;
|
|
22
|
-
#wsAdapterFactory;
|
|
23
|
-
static async create(config) {
|
|
24
|
-
const endpoint = new NodeJsHttpEndpoint(config);
|
|
25
|
-
await endpoint.ready;
|
|
26
|
-
return endpoint;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Create a new endpoint.
|
|
30
|
-
*
|
|
31
|
-
* You may pass an existing {@link Server} or pass {@link HttpEndpoint.Configuration} to create a server dedicated
|
|
32
|
-
* to this endpoint.
|
|
33
|
-
*/
|
|
34
|
-
constructor(config) {
|
|
35
|
-
let close, ready, server, notFound;
|
|
36
|
-
if ("on" in config) {
|
|
37
|
-
({ close, ready, server, notFound } = this.#bindToServer(config));
|
|
38
|
-
} else {
|
|
39
|
-
({ close, ready, server, notFound } = this.#createDedicatedServer(config));
|
|
40
|
-
}
|
|
41
|
-
this.#server = server;
|
|
42
|
-
this.#ready = ready;
|
|
43
|
-
this.close = close;
|
|
44
|
-
this.#notFound = notFound;
|
|
45
|
-
}
|
|
46
|
-
get server() {
|
|
47
|
-
return this.#server;
|
|
48
|
-
}
|
|
49
|
-
#bindToServer(server) {
|
|
50
|
-
return {
|
|
51
|
-
server,
|
|
52
|
-
ready: Promise.resolve(),
|
|
53
|
-
close: async () => {
|
|
54
|
-
this.http = void 0;
|
|
55
|
-
this.ws = void 0;
|
|
56
|
-
},
|
|
57
|
-
notFound: () => void 0
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
#createDedicatedServer(options) {
|
|
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 = {};
|
|
78
|
-
const { transport } = address;
|
|
79
|
-
switch (transport.kind) {
|
|
80
|
-
case "ip":
|
|
81
|
-
if (!address.isWildcardHost) {
|
|
82
|
-
opts.host = address.hostname;
|
|
83
|
-
}
|
|
84
|
-
if (!address.isWildcardPort) {
|
|
85
|
-
opts.port = address.portNum;
|
|
86
|
-
}
|
|
87
|
-
break;
|
|
88
|
-
case "unix":
|
|
89
|
-
opts.path = normalize(decodeURIComponent(address.hostname));
|
|
90
|
-
if (existsSync(opts.path)) {
|
|
91
|
-
if (statSync(opts.path).isSocket()) {
|
|
92
|
-
try {
|
|
93
|
-
rmSync(opts.path);
|
|
94
|
-
} catch (e) {
|
|
95
|
-
throw new NetworkError(
|
|
96
|
-
`Error deleting previous socket at ${opts.path}: ${asError(e).message}`
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
throw new NetworkError(`UNIX socket path ${opts.path} exists and is not a socket`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
break;
|
|
104
|
-
default:
|
|
105
|
-
throw new NetworkError(
|
|
106
|
-
`Unsupported address type "${options.address?.type}" for HTTP endpoint`
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
server.listen(opts);
|
|
110
|
-
return {
|
|
111
|
-
server,
|
|
112
|
-
ready: new Promise((resolve, reject) => {
|
|
113
|
-
let settled = false;
|
|
114
|
-
server.once("listening", () => {
|
|
115
|
-
if (settled) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
settled = true;
|
|
119
|
-
resolve();
|
|
120
|
-
});
|
|
121
|
-
server.on("error", (error) => {
|
|
122
|
-
if (settled) {
|
|
123
|
-
logger.warn("HTTP server error:", error.message);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
settled = true;
|
|
127
|
-
reject(error);
|
|
128
|
-
});
|
|
129
|
-
}),
|
|
130
|
-
close: async () => {
|
|
131
|
-
return new Promise((resolve, reject) => {
|
|
132
|
-
server.close((err) => {
|
|
133
|
-
if (err) {
|
|
134
|
-
reject(err);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
resolve();
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
},
|
|
141
|
-
notFound: (res) => respondError(res, 404)
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
get ready() {
|
|
145
|
-
return this.#ready;
|
|
146
|
-
}
|
|
147
|
-
set http(handler) {
|
|
148
|
-
this.#http = handler;
|
|
149
|
-
if (!this.#http) {
|
|
150
|
-
if (this.#httpListener) {
|
|
151
|
-
this.#server.off("request", this.#httpListener);
|
|
152
|
-
}
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
if (this.#httpListener) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
this.#httpListener = (req, res) => {
|
|
159
|
-
this.#handleHttp(req, res).catch((error) => {
|
|
160
|
-
logger.error("Unhandled error in HTTP endpoint handler", error);
|
|
161
|
-
respondError(res, 500);
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
this.#server.on("request", this.#httpListener);
|
|
165
|
-
}
|
|
166
|
-
set ws(handler) {
|
|
167
|
-
this.#ws = handler;
|
|
168
|
-
if (!this.#ws) {
|
|
169
|
-
if (this.#wsListener) {
|
|
170
|
-
this.#server.off("upgrade", this.#wsListener);
|
|
171
|
-
}
|
|
172
|
-
return;
|
|
173
|
-
}
|
|
174
|
-
let adapter = this.#wsAdapter;
|
|
175
|
-
if (!adapter) {
|
|
176
|
-
const factory = this.#wsAdapterFactory ?? WsAdapter.defaultFactory;
|
|
177
|
-
if (!factory) {
|
|
178
|
-
logger.warn(
|
|
179
|
-
"WebSocket support disabled because no adapter is installed; please import @matter/nodejs-ws or equivalent"
|
|
180
|
-
);
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
adapter = this.#wsAdapter = factory();
|
|
184
|
-
}
|
|
185
|
-
this.#wsListener = (req, socket, head) => {
|
|
186
|
-
this.#handleUpgrade(adapter, req, socket, head).catch((error) => {
|
|
187
|
-
logger.error("Unhandled error WebSocket endpoint", error);
|
|
188
|
-
});
|
|
189
|
-
};
|
|
190
|
-
this.#server.on("upgrade", this.#wsListener);
|
|
191
|
-
}
|
|
192
|
-
close;
|
|
193
|
-
async #handleHttp(req, res) {
|
|
194
|
-
if (!this.#http) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
const request = new NodeJsHttpRequest(req);
|
|
198
|
-
const response = await this.#http(request);
|
|
199
|
-
if (!response) {
|
|
200
|
-
this.#notFound(res);
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
res.statusCode = response.status;
|
|
204
|
-
res.statusMessage = response.statusText;
|
|
205
|
-
response.headers.forEach(([name, value]) => res.appendHeader(name, value));
|
|
206
|
-
if (response.body === null) {
|
|
207
|
-
res.end();
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
const nodeBodyStream = ReadStream.fromWeb(response.body);
|
|
211
|
-
nodeBodyStream.on("error", (error) => {
|
|
212
|
-
logger.error("Error transmitting HTTP body", error);
|
|
213
|
-
respondError(res, 500);
|
|
214
|
-
});
|
|
215
|
-
nodeBodyStream.pipe(res);
|
|
216
|
-
}
|
|
217
|
-
async #handleUpgrade(adapter, req, socket, head) {
|
|
218
|
-
if (req.headers.upgrade !== "websocket") {
|
|
219
|
-
socket.destroy();
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
if (!this.#ws) {
|
|
223
|
-
socket.destroy();
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
const request = new NodeJsHttpRequest(req);
|
|
227
|
-
try {
|
|
228
|
-
await this.#ws(request, async () => {
|
|
229
|
-
return adapter.handle(req, socket, head);
|
|
230
|
-
});
|
|
231
|
-
} finally {
|
|
232
|
-
if (!socket.destroyed) {
|
|
233
|
-
socket.destroy();
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
class NodeJsHttpRequest extends Request {
|
|
239
|
-
constructor(message) {
|
|
240
|
-
const { method, rawHeaders } = message;
|
|
241
|
-
const url = `http://${message.headers.host ?? "unknown"}${message.url ?? "/"}`;
|
|
242
|
-
const headers = new Headers();
|
|
243
|
-
for (let i = 0; i < message.rawHeaders.length; i += 2) {
|
|
244
|
-
headers.append(rawHeaders[i], rawHeaders[i + 1]);
|
|
245
|
-
}
|
|
246
|
-
const init = {
|
|
247
|
-
method,
|
|
248
|
-
headers,
|
|
249
|
-
duplex: "half"
|
|
250
|
-
// Not in RequestInit type but required by node
|
|
251
|
-
};
|
|
252
|
-
if (method !== "GET" && method !== "HEAD") {
|
|
253
|
-
init.body = IncomingMessage.toWeb(message);
|
|
254
|
-
}
|
|
255
|
-
super(url, init);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
function respondError(res, code) {
|
|
259
|
-
if (res.closed) {
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
try {
|
|
263
|
-
if (!res.headersSent) {
|
|
264
|
-
res.statusCode = code;
|
|
265
|
-
res.setHeader("Content-Type", "text/plain");
|
|
266
|
-
res.end(`HTTP error ${code}
|
|
267
|
-
`);
|
|
268
|
-
} else {
|
|
269
|
-
res.end();
|
|
270
|
-
}
|
|
271
|
-
} catch (e) {
|
|
272
|
-
logger.warn(`Error conveying ${code} error:`, asError(e).message);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
((NodeJsHttpEndpoint2) => {
|
|
276
|
-
class Factory extends HttpEndpointFactory {
|
|
277
|
-
async create(config) {
|
|
278
|
-
return NodeJsHttpEndpoint2.create(config);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
NodeJsHttpEndpoint2.Factory = Factory;
|
|
282
|
-
})(NodeJsHttpEndpoint || (NodeJsHttpEndpoint = {}));
|
|
283
|
-
export {
|
|
284
|
-
NodeJsHttpEndpoint
|
|
285
|
-
};
|
|
286
|
-
//# sourceMappingURL=NodeJsHttpEndpoint.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/NodeJsHttpEndpoint.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["NodeJsHttpEndpoint"]
|
|
6
|
-
}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import {
|
|
7
|
-
Cache,
|
|
8
|
-
InterfaceType,
|
|
9
|
-
isIPv6,
|
|
10
|
-
Logger,
|
|
11
|
-
Minutes,
|
|
12
|
-
Network,
|
|
13
|
-
NetworkError,
|
|
14
|
-
onSameNetwork,
|
|
15
|
-
TCP_CONNECTION_TIMEOUT_MS
|
|
16
|
-
} from "@matter/general";
|
|
17
|
-
import { createConnection } from "node:net";
|
|
18
|
-
import { networkInterfaces } from "node:os";
|
|
19
|
-
import { NodeJsTcpConnection } from "./NodeJsTcpConnection.js";
|
|
20
|
-
import { NodeJsTcpListener } from "./NodeJsTcpListener.js";
|
|
21
|
-
import { NodeJsUdpSocket } from "./NodeJsUdpSocket.js";
|
|
22
|
-
const logger = Logger.get("NetworkNode");
|
|
23
|
-
class NodeJsNetwork extends Network {
|
|
24
|
-
static getMulticastInterfaceIpv4(netInterface) {
|
|
25
|
-
const netInterfaceInfo = networkInterfaces()[netInterface];
|
|
26
|
-
if (netInterfaceInfo === void 0) throw new NetworkError(`Unknown interface: ${netInterface}`);
|
|
27
|
-
for (const info of netInterfaceInfo) {
|
|
28
|
-
if (familyIs(4, info)) {
|
|
29
|
-
return info.address;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return void 0;
|
|
33
|
-
}
|
|
34
|
-
static getMembershipMulticastInterfaces(netInterfaceOrZone, ipv4) {
|
|
35
|
-
if (ipv4) {
|
|
36
|
-
return [void 0];
|
|
37
|
-
} else {
|
|
38
|
-
const multicastInterfaces = Object.entries(networkInterfaces()).flatMap(([netIf, netIfInfo]) => {
|
|
39
|
-
if (netIfInfo === void 0) {
|
|
40
|
-
return [];
|
|
41
|
-
}
|
|
42
|
-
const zone = this.getNetInterfaceZoneIpv6Internal(netIf, netIfInfo);
|
|
43
|
-
if (zone === void 0) {
|
|
44
|
-
return [];
|
|
45
|
-
}
|
|
46
|
-
if (netInterfaceOrZone !== void 0 && netInterfaceOrZone !== zone) {
|
|
47
|
-
return [];
|
|
48
|
-
}
|
|
49
|
-
return [`::%${zone}`];
|
|
50
|
-
});
|
|
51
|
-
if (multicastInterfaces.length === 0) {
|
|
52
|
-
logger.warn(
|
|
53
|
-
`No IPv6 multicast interface found${netInterfaceOrZone !== void 0 ? ` for interface ${netInterfaceOrZone}` : ""}.`
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
return multicastInterfaces;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
static getNetInterfaceZoneIpv6(netInterface) {
|
|
60
|
-
const netInterfaceInfo = networkInterfaces()[netInterface];
|
|
61
|
-
if (netInterfaceInfo === void 0) throw new NetworkError(`Unknown interface: ${netInterface}`);
|
|
62
|
-
return this.getNetInterfaceZoneIpv6Internal(netInterface, netInterfaceInfo);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Returns the zone-scoped name of the first non-internal IPv6 interface.
|
|
66
|
-
* Used as a fallback for multicast sends when no interface has been observed
|
|
67
|
-
* from inbound traffic (e.g. when all sessions run over TCP).
|
|
68
|
-
*/
|
|
69
|
-
static getDefaultNetInterface() {
|
|
70
|
-
const interfaces = networkInterfaces();
|
|
71
|
-
for (const name in interfaces) {
|
|
72
|
-
const infos = interfaces[name];
|
|
73
|
-
if (infos.some((info) => familyIs(6, info) && !info.internal)) {
|
|
74
|
-
return this.getNetInterfaceZoneIpv6Internal(name, infos);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return void 0;
|
|
78
|
-
}
|
|
79
|
-
static getNetInterfaceForIp(ip) {
|
|
80
|
-
return this.netInterfaces.get(ip);
|
|
81
|
-
}
|
|
82
|
-
static netInterfaces = new Cache(
|
|
83
|
-
"Network interface",
|
|
84
|
-
(ip) => this.getNetInterfaceForRemoteAddress(ip),
|
|
85
|
-
Minutes(5)
|
|
86
|
-
);
|
|
87
|
-
async close() {
|
|
88
|
-
await NodeJsNetwork.netInterfaces.close();
|
|
89
|
-
}
|
|
90
|
-
static getNetInterfaceForRemoteAddress(ip) {
|
|
91
|
-
if (ip.includes("%")) {
|
|
92
|
-
return ip.split("%")[1];
|
|
93
|
-
} else {
|
|
94
|
-
const interfaces = networkInterfaces();
|
|
95
|
-
for (const name in interfaces) {
|
|
96
|
-
const netInterfaces = interfaces[name];
|
|
97
|
-
for (const { address, netmask } of netInterfaces) {
|
|
98
|
-
if (onSameNetwork(ip, address, netmask)) {
|
|
99
|
-
return this.getNetInterfaceZoneIpv6Internal(name, netInterfaces);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (isIPv6(ip)) {
|
|
104
|
-
if (ip.startsWith("fd")) {
|
|
105
|
-
return "";
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return void 0;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
static getNetInterfaceZoneIpv6Internal(netInterface, netInterfaceInfos) {
|
|
112
|
-
if (process.platform !== "win32") {
|
|
113
|
-
return netInterface;
|
|
114
|
-
}
|
|
115
|
-
if (netInterfaceInfos === void 0) return void 0;
|
|
116
|
-
return netInterfaceInfos.find((info) => familyIs(6, info) && info.address.startsWith("fe80::"))?.scopeid?.toString();
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Get all network interfaces.
|
|
120
|
-
* The optional configuration parameter allows to map interface names to types if this mapping is known.
|
|
121
|
-
* Each network interface which has no mapped type is returned as Ethernet for now.
|
|
122
|
-
*
|
|
123
|
-
* @param configuration - An array of objects with the name and type properties.
|
|
124
|
-
*/
|
|
125
|
-
getNetInterfaces(configuration = []) {
|
|
126
|
-
const result = new Array();
|
|
127
|
-
const interfaces = networkInterfaces();
|
|
128
|
-
for (const name in interfaces) {
|
|
129
|
-
const netInterfaces = interfaces[name];
|
|
130
|
-
if (netInterfaces.length === 0) continue;
|
|
131
|
-
if (netInterfaces[0].internal) continue;
|
|
132
|
-
let type = InterfaceType.Ethernet;
|
|
133
|
-
if (configuration.length > 0) {
|
|
134
|
-
const nameType = configuration.find(({ name: mapName }) => name === mapName);
|
|
135
|
-
if (nameType !== void 0 && nameType.type !== void 0) {
|
|
136
|
-
type = nameType.type;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
result.push({ name, type });
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
|
-
getIpMac(netInterface) {
|
|
144
|
-
const netInterfaceInfo = networkInterfaces()[netInterface];
|
|
145
|
-
if (netInterfaceInfo === void 0) return void 0;
|
|
146
|
-
const ipV4 = netInterfaceInfo.filter((info) => familyIs(4, info)).map(({ address }) => address);
|
|
147
|
-
const ipV6 = netInterfaceInfo.filter((info) => familyIs(6, info)).map(({ address }) => address);
|
|
148
|
-
return { mac: netInterfaceInfo[0].mac, ipV4, ipV6 };
|
|
149
|
-
}
|
|
150
|
-
createUdpSocket(options) {
|
|
151
|
-
return NodeJsUdpSocket.create(options);
|
|
152
|
-
}
|
|
153
|
-
createTcpListener(options) {
|
|
154
|
-
return NodeJsTcpListener.create(options);
|
|
155
|
-
}
|
|
156
|
-
async connectTcp(host, port, options) {
|
|
157
|
-
return new Promise((resolve, reject) => {
|
|
158
|
-
let settled = false;
|
|
159
|
-
const settle = (fn) => {
|
|
160
|
-
if (!settled) {
|
|
161
|
-
settled = true;
|
|
162
|
-
fn();
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
const socket = createConnection({ host, port, noDelay: true }, () => {
|
|
166
|
-
socket.setTimeout(0);
|
|
167
|
-
socket.off("error", rejectOnce);
|
|
168
|
-
settle(() => resolve(new NodeJsTcpConnection(socket)));
|
|
169
|
-
});
|
|
170
|
-
const rejectOnce = (error) => settle(() => {
|
|
171
|
-
socket.destroy();
|
|
172
|
-
reject(error);
|
|
173
|
-
});
|
|
174
|
-
socket.setTimeout(options?.timeout ?? TCP_CONNECTION_TIMEOUT_MS);
|
|
175
|
-
socket.once("timeout", () => {
|
|
176
|
-
socket.destroy();
|
|
177
|
-
settle(() => reject(new NetworkError("TCP connection timeout")));
|
|
178
|
-
});
|
|
179
|
-
socket.on("error", rejectOnce);
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
function familyIs(version, { family }) {
|
|
184
|
-
return family === `IPv${version}`;
|
|
185
|
-
}
|
|
186
|
-
export {
|
|
187
|
-
NodeJsNetwork
|
|
188
|
-
};
|
|
189
|
-
//# sourceMappingURL=NodeJsNetwork.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/net/NodeJsNetwork.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|