@forge/cli
12.22.0-experimental-04cc2b912.23.0-next.7-experimental-44b7a12
out/command-line/controller/tunnel-controller.js~
out/command-line/controller/tunnel-controller.jsModified+18−1
Index: package/out/command-line/controller/tunnel-controller.js
===================================================================
--- package/out/command-line/controller/tunnel-controller.js
+++ package/out/command-line/controller/tunnel-controller.js
@@ -1,10 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.TunnelController = void 0;
+exports.TunnelController = exports.isValidHost = void 0;
+const net_1 = require("net");
const cli_shared_1 = require("@forge/cli-shared");
const tunnel_service_1 = require("../../service/tunnel-service");
const graphql_client_1 = require("../../environment/graphql-client");
+function isValidHost(host) {
+ if (!host) {
+ return false;
+ }
+ return (0, net_1.isIP)(host) !== 0;
+}
+exports.isValidHost = isValidHost;
class TunnelController {
nodeTunnelService;
tunnelView;
configFile;
@@ -58,8 +66,9 @@
const assistantName = this.cachedConfigService.getAssistantName();
const options = {
...tunnelOptions,
debugStartingPort: cli_shared_1.defaultDebugStartingPort,
+ debugHost: cli_shared_1.defaultDebugHost,
assistantName
};
if (tunnelOptions.debug) {
if (!tunnelOptions.debugFunctionHandlers?.length) {
@@ -75,8 +84,16 @@
if (isNaN(port) || port < 0 || port > 65535) {
throw new tunnel_service_1.InvalidDebugStartingPortNumber(tunnelOptions.debugStartingPort);
}
options.debugStartingPort = port;
+ if (tunnelOptions.debugHost) {
+ if (isValidHost(tunnelOptions.debugHost)) {
+ options.debugHost = tunnelOptions.debugHost;
+ }
+ else {
+ throw new tunnel_service_1.InvalidDebugHost(tunnelOptions.debugHost);
+ }
+ }
}
return options;
}
}