@modularizer/plat 0.15.0 → 0.16.0
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/bridge/cli.d.ts +3 -0
- package/dist/bridge/cli.d.ts.map +1 -0
- package/dist/bridge/cli.js +128 -0
- package/dist/bridge/cli.js.map +1 -0
- package/dist/bridge/http-forwarder.d.ts +51 -0
- package/dist/bridge/http-forwarder.d.ts.map +1 -0
- package/dist/bridge/http-forwarder.js +564 -0
- package/dist/bridge/http-forwarder.js.map +1 -0
- package/dist/bridge/index.d.ts +57 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +69 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/cli/commands/api-proxy.d.ts.map +1 -1
- package/dist/cli/commands/api-proxy.js +5 -7
- package/dist/cli/commands/api-proxy.js.map +1 -1
- package/dist/cli/commands/jwt-cmd.d.ts.map +1 -1
- package/dist/cli/commands/jwt-cmd.js +1 -4
- package/dist/cli/commands/jwt-cmd.js.map +1 -1
- package/dist/cli/proxy.d.ts.map +1 -1
- package/dist/cli/proxy.js +9 -20
- package/dist/cli/proxy.js.map +1 -1
- package/dist/cli/runtime.d.ts.map +1 -1
- package/dist/cli/runtime.js +2 -6
- package/dist/cli/runtime.js.map +1 -1
- package/dist/client/css-transport-plugin.d.ts.map +1 -1
- package/dist/client/css-transport-plugin.js +40 -0
- package/dist/client/css-transport-plugin.js.map +1 -1
- package/dist/client/openapi-client.d.ts +5 -0
- package/dist/client/openapi-client.d.ts.map +1 -1
- package/dist/client/openapi-client.js +21 -2
- package/dist/client/openapi-client.js.map +1 -1
- package/dist/client-entry.d.ts +2 -0
- package/dist/client-entry.d.ts.map +1 -1
- package/dist/client-entry.js +2 -0
- package/dist/client-entry.js.map +1 -1
- package/dist/client-server-entry.d.ts +1 -0
- package/dist/client-server-entry.d.ts.map +1 -1
- package/dist/client-server-entry.js +1 -0
- package/dist/client-server-entry.js.map +1 -1
- package/dist/client-side-server/authority-default.d.ts +13 -0
- package/dist/client-side-server/authority-default.d.ts.map +1 -0
- package/dist/client-side-server/authority-default.js +13 -0
- package/dist/client-side-server/authority-default.js.map +1 -0
- package/dist/client-side-server/channel.d.ts.map +1 -1
- package/dist/client-side-server/channel.js +179 -78
- package/dist/client-side-server/channel.js.map +1 -1
- package/dist/client-side-server/identity.d.ts +1 -0
- package/dist/client-side-server/identity.d.ts.map +1 -1
- package/dist/client-side-server/identity.js +117 -0
- package/dist/client-side-server/identity.js.map +1 -1
- package/dist/client-side-server/mqtt-webrtc.d.ts +13 -2
- package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -1
- package/dist/client-side-server/mqtt-webrtc.js +17 -2
- package/dist/client-side-server/mqtt-webrtc.js.map +1 -1
- package/dist/client-side-server/plat-bridge.js +3 -1
- package/dist/client-side-server/plat-bridge.js.map +1 -1
- package/dist/client-side-server/plat-fetch.d.ts +3 -0
- package/dist/client-side-server/plat-fetch.d.ts.map +1 -1
- package/dist/client-side-server/plat-fetch.js +199 -29
- package/dist/client-side-server/plat-fetch.js.map +1 -1
- package/dist/client-side-server/plat-service-worker-client.d.ts.map +1 -1
- package/dist/client-side-server/plat-service-worker-client.js +3 -0
- package/dist/client-side-server/plat-service-worker-client.js.map +1 -1
- package/dist/client-side-server/plat-service-worker.js +30 -0
- package/dist/client-side-server/plat-service-worker.js.map +1 -1
- package/dist/client-side-server/protocol.d.ts +22 -0
- package/dist/client-side-server/protocol.d.ts.map +1 -1
- package/dist/client-side-server/protocol.js.map +1 -1
- package/dist/client-side-server/runtime-fetch.d.ts +20 -0
- package/dist/client-side-server/runtime-fetch.d.ts.map +1 -0
- package/dist/client-side-server/runtime-fetch.js +32 -0
- package/dist/client-side-server/runtime-fetch.js.map +1 -0
- package/dist/client-side-server/runtime.d.ts.map +1 -1
- package/dist/client-side-server/runtime.js +36 -7
- package/dist/client-side-server/runtime.js.map +1 -1
- package/dist/client-side-server/server.d.ts.map +1 -1
- package/dist/client-side-server/server.js +29 -5
- package/dist/client-side-server/server.js.map +1 -1
- package/dist/server/config/types.d.ts +12 -1
- package/dist/server/config/types.d.ts.map +1 -1
- package/dist/server/core.d.ts.map +1 -1
- package/dist/server/core.js +25 -14
- package/dist/server/core.js.map +1 -1
- package/dist/server/docs-html.d.ts +11 -0
- package/dist/server/docs-html.d.ts.map +1 -0
- package/dist/server/docs-html.js +30 -0
- package/dist/server/docs-html.js.map +1 -0
- package/dist/server/operation-registry.d.ts +1 -0
- package/dist/server/operation-registry.d.ts.map +1 -1
- package/dist/server/operation-registry.js +16 -2
- package/dist/server/operation-registry.js.map +1 -1
- package/dist/server/routing.d.ts +5 -0
- package/dist/server/routing.d.ts.map +1 -1
- package/dist/server/routing.js +32 -2
- package/dist/server/routing.js.map +1 -1
- package/dist/server/rpc-protocol-plugin.js +2 -2
- package/dist/server/rpc-protocol-plugin.js.map +1 -1
- package/dist/server/server.d.ts +4 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +229 -53
- package/dist/server/server.js.map +1 -1
- package/dist/server/transports.d.ts +1 -0
- package/dist/server/transports.d.ts.map +1 -1
- package/dist/server/webrtc-plugin.d.ts +21 -0
- package/dist/server/webrtc-plugin.d.ts.map +1 -0
- package/dist/server/webrtc-plugin.js +198 -0
- package/dist/server/webrtc-plugin.js.map +1 -0
- package/dist/static/file-response.d.ts +2 -0
- package/dist/static/file-response.d.ts.map +1 -1
- package/dist/static/file-response.js +2 -0
- package/dist/static/file-response.js.map +1 -1
- package/dist/static/plat-static-folders.d.ts +11 -0
- package/dist/static/plat-static-folders.d.ts.map +1 -0
- package/dist/static/plat-static-folders.js +44 -0
- package/dist/static/plat-static-folders.js.map +1 -0
- package/dist/static/static-folder.d.ts +4 -0
- package/dist/static/static-folder.d.ts.map +1 -1
- package/dist/static/static-folder.js +27 -2
- package/dist/static/static-folder.js.map +1 -1
- package/dist/types/endpoints.d.ts +3 -0
- package/dist/types/endpoints.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bridge/cli.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* plat-bridge — CLI for the HTTP⇄WebRTC bridge.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* plat-bridge --name <css-name> --upstream <http-url>
|
|
7
|
+
* [--mqtt <broker-url>] [--topic <mqtt-topic>]
|
|
8
|
+
* [--bridge-name <name>] [--trust-client-forwarded]
|
|
9
|
+
* [--no-forwarded-headers]
|
|
10
|
+
* [--allow-methods GET,POST] [--allow-paths "^/v1/.*"]
|
|
11
|
+
* [--request-timeout-ms 30000]
|
|
12
|
+
*/
|
|
13
|
+
import { createHTTPBridge } from './index.js';
|
|
14
|
+
function parseArgs(argv) {
|
|
15
|
+
const out = {
|
|
16
|
+
trustClientForwarded: false,
|
|
17
|
+
noForwardedHeaders: false,
|
|
18
|
+
help: false,
|
|
19
|
+
};
|
|
20
|
+
for (let i = 0; i < argv.length; i++) {
|
|
21
|
+
const arg = argv[i];
|
|
22
|
+
const next = () => argv[++i];
|
|
23
|
+
switch (arg) {
|
|
24
|
+
case '--name':
|
|
25
|
+
out.name = next();
|
|
26
|
+
break;
|
|
27
|
+
case '--upstream':
|
|
28
|
+
out.upstream = next();
|
|
29
|
+
break;
|
|
30
|
+
case '--mqtt':
|
|
31
|
+
out.mqtt = next();
|
|
32
|
+
break;
|
|
33
|
+
case '--topic':
|
|
34
|
+
out.topic = next();
|
|
35
|
+
break;
|
|
36
|
+
case '--bridge-name':
|
|
37
|
+
out.bridgeName = next();
|
|
38
|
+
break;
|
|
39
|
+
case '--trust-client-forwarded':
|
|
40
|
+
out.trustClientForwarded = true;
|
|
41
|
+
break;
|
|
42
|
+
case '--no-forwarded-headers':
|
|
43
|
+
out.noForwardedHeaders = true;
|
|
44
|
+
break;
|
|
45
|
+
case '--allow-methods': {
|
|
46
|
+
const val = next();
|
|
47
|
+
if (val !== undefined) {
|
|
48
|
+
out.allowMethods = val.split(',').map((m) => m.trim());
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case '--allow-paths': {
|
|
53
|
+
if (!out.allowPaths)
|
|
54
|
+
out.allowPaths = [];
|
|
55
|
+
const val = next();
|
|
56
|
+
if (val !== undefined) {
|
|
57
|
+
out.allowPaths.push(val);
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case '--request-timeout-ms':
|
|
62
|
+
out.requestTimeoutMs = Number(next());
|
|
63
|
+
break;
|
|
64
|
+
case '-h':
|
|
65
|
+
case '--help':
|
|
66
|
+
out.help = true;
|
|
67
|
+
break;
|
|
68
|
+
default:
|
|
69
|
+
process.stderr.write(`plat-bridge: unknown argument ${arg}\n`);
|
|
70
|
+
process.exit(2);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
function printHelp() {
|
|
76
|
+
process.stdout.write(`plat-bridge — forward css:// WebRTC requests to an HTTP upstream\n\n`
|
|
77
|
+
+ `Usage: plat-bridge --name <css-name> --upstream <http-url> [options]\n\n`
|
|
78
|
+
+ `Required:\n`
|
|
79
|
+
+ ` --name <name> css:// name this bridge serves as\n`
|
|
80
|
+
+ ` --upstream <url> HTTP base URL to forward to\n\n`
|
|
81
|
+
+ `Signaling:\n`
|
|
82
|
+
+ ` --mqtt <url> MQTT broker URL (default: public EMQX broker)\n`
|
|
83
|
+
+ ` --topic <name> MQTT topic\n\n`
|
|
84
|
+
+ `Forwarding:\n`
|
|
85
|
+
+ ` --bridge-name <name> X-Forwarded-By label (default: --name)\n`
|
|
86
|
+
+ ` --trust-client-forwarded Preserve and append to client X-Forwarded-For\n`
|
|
87
|
+
+ ` --no-forwarded-headers Disable X-Forwarded-* / Forwarded injection\n`
|
|
88
|
+
+ ` --allow-methods GET,POST Comma-separated method allowlist\n`
|
|
89
|
+
+ ` --allow-paths <regex> Repeatable path allowlist regex\n`
|
|
90
|
+
+ ` --request-timeout-ms <n> Upstream request timeout (default: 30000)\n`);
|
|
91
|
+
}
|
|
92
|
+
async function main() {
|
|
93
|
+
const args = parseArgs(process.argv.slice(2));
|
|
94
|
+
if (args.help) {
|
|
95
|
+
printHelp();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (!args.name || !args.upstream) {
|
|
99
|
+
process.stderr.write('plat-bridge: --name and --upstream are required (use --help)\n');
|
|
100
|
+
process.exit(2);
|
|
101
|
+
}
|
|
102
|
+
const bridge = createHTTPBridge({
|
|
103
|
+
name: args.name,
|
|
104
|
+
upstream: args.upstream,
|
|
105
|
+
mqttBroker: args.mqtt,
|
|
106
|
+
mqttTopic: args.topic,
|
|
107
|
+
bridgeName: args.bridgeName,
|
|
108
|
+
trustClientForwarded: args.trustClientForwarded,
|
|
109
|
+
disableForwardedHeaders: args.noForwardedHeaders,
|
|
110
|
+
allowMethods: args.allowMethods,
|
|
111
|
+
allowPaths: args.allowPaths,
|
|
112
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
113
|
+
});
|
|
114
|
+
await bridge.start();
|
|
115
|
+
process.stdout.write(`plat-bridge listening on ${bridge.cssUrl} → ${args.upstream}\n`);
|
|
116
|
+
const shutdown = async (signal) => {
|
|
117
|
+
process.stdout.write(`\nplat-bridge: received ${signal}, stopping…\n`);
|
|
118
|
+
await bridge.stop();
|
|
119
|
+
process.exit(0);
|
|
120
|
+
};
|
|
121
|
+
process.on('SIGINT', shutdown);
|
|
122
|
+
process.on('SIGTERM', shutdown);
|
|
123
|
+
}
|
|
124
|
+
main().catch((error) => {
|
|
125
|
+
process.stderr.write(`plat-bridge: fatal: ${error?.stack ?? error?.message ?? error}\n`);
|
|
126
|
+
process.exit(1);
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bridge/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type ClientSideServerInstanceInfo } from '../client-side-server/protocol';
|
|
2
|
+
import type { ClientSideServerRequestHandler } from '../client-side-server/mqtt-webrtc';
|
|
3
|
+
export interface HTTPForwarderOptions {
|
|
4
|
+
/** Base URL of the upstream HTTP server (e.g. "http://localhost:8080"). */
|
|
5
|
+
upstream?: string;
|
|
6
|
+
/**
|
|
7
|
+
* How to determine the upstream origin for each request.
|
|
8
|
+
* - `fixed`: always use `upstream`
|
|
9
|
+
* - `request-origin`: use the incoming requestOrigin
|
|
10
|
+
* - `intercept-origin`: use the incoming interceptOrigin, falling back to requestOrigin
|
|
11
|
+
*/
|
|
12
|
+
upstreamMode?: 'fixed' | 'request-origin' | 'intercept-origin';
|
|
13
|
+
/**
|
|
14
|
+
* How request paths are applied to the resolved upstream base.
|
|
15
|
+
* - `origin-root`: keep browser URL semantics (`/foo` targets origin root)
|
|
16
|
+
* - `route-base`: prefix leading-slash paths with intercepted route base (e.g. `/maps`)
|
|
17
|
+
*/
|
|
18
|
+
pathBaseMode?: 'origin-root' | 'route-base';
|
|
19
|
+
/** css:// name the bridge is reachable at (e.g. "my-api"). */
|
|
20
|
+
cssName: string;
|
|
21
|
+
/** Identifier used in X-Forwarded-By / Forwarded by=. Defaults to cssName. */
|
|
22
|
+
bridgeName?: string;
|
|
23
|
+
/** If true, append to a client-supplied X-Forwarded-For / Forwarded rather than overwrite. */
|
|
24
|
+
trustClientForwarded?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* If true, skip all X-Forwarded-* / Forwarded header injection.
|
|
27
|
+
* Default: true, because the browser-side bridge should preserve the
|
|
28
|
+
* incoming HTTP request as closely as the platform allows.
|
|
29
|
+
*/
|
|
30
|
+
disableForwardedHeaders?: boolean;
|
|
31
|
+
/** Optional method allowlist (e.g. ['GET', 'POST']); others return 405. */
|
|
32
|
+
allowMethods?: string[];
|
|
33
|
+
/** Optional path allowlist (regex); non-matching requests return 403. */
|
|
34
|
+
allowPaths?: (RegExp | string)[];
|
|
35
|
+
/** Returned from getServerInfo() — surfaced on MQTT announcements. */
|
|
36
|
+
instanceInfo?: ClientSideServerInstanceInfo;
|
|
37
|
+
/**
|
|
38
|
+
* fetch implementation. Defaults to the global `fetch`. Override for
|
|
39
|
+
* tests or to use `undici` directly.
|
|
40
|
+
*/
|
|
41
|
+
fetchImpl?: typeof fetch;
|
|
42
|
+
/**
|
|
43
|
+
* Time a single upstream request is allowed to take, in milliseconds.
|
|
44
|
+
* Default: 30s.
|
|
45
|
+
*/
|
|
46
|
+
requestTimeoutMs?: number;
|
|
47
|
+
/** Optional logger for bridge activity. Accepts `console.log` directly. */
|
|
48
|
+
logger?: (...args: unknown[]) => void;
|
|
49
|
+
}
|
|
50
|
+
export declare function createHTTPForwarder(options: HTTPForwarderOptions): ClientSideServerRequestHandler;
|
|
51
|
+
//# sourceMappingURL=http-forwarder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-forwarder.d.ts","sourceRoot":"","sources":["../../src/bridge/http-forwarder.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,4BAA4B,EAKlC,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAcvF,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,kBAAkB,CAAA;IAC9D;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IAC3C,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8FAA8F;IAC9F,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChC,sEAAsE;IACtE,YAAY,CAAC,EAAE,4BAA4B,CAAA;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACtC;AAuCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,8BAA8B,CAkDjG"}
|