diff --git a/src/infra/advertised-lan-host.ts b/src/infra/advertised-lan-host.ts index ba879f2e445d..8896a0306fcd 100644 --- a/src/infra/advertised-lan-host.ts +++ b/src/infra/advertised-lan-host.ts @@ -186,41 +186,30 @@ async function resolveDefaultRouteHints(params: { runCommandWithTimeout: AdvertisedLanHostCommandRunner; timeoutMs: number; }): Promise { + let argv: string[]; + let parse: typeof parseWindowsDefaultRouteHints; if (params.platform === "win32") { - const stdout = await runRouteHintCommand( - params.runCommandWithTimeout, - [ - "powershell.exe", - "-NoProfile", - "-ExecutionPolicy", - "Bypass", - "-Command", - WINDOWS_DEFAULT_ROUTE_COMMAND, - ], - params.timeoutMs, - ); - return stdout ? parseWindowsDefaultRouteHints(stdout) : []; + argv = [ + "powershell.exe", + "-NoProfile", + "-ExecutionPolicy", + "Bypass", + "-Command", + WINDOWS_DEFAULT_ROUTE_COMMAND, + ]; + parse = parseWindowsDefaultRouteHints; + } else if (params.platform === "darwin") { + argv = ["route", "-n", "get", "default"]; + parse = parseMacOsDefaultRouteHints; + } else if (params.platform === "linux") { + argv = ["ip", "-4", "route", "show", "default"]; + parse = parseLinuxDefaultRouteHints; + } else { + return []; } - if (params.platform === "darwin") { - const stdout = await runRouteHintCommand( - params.runCommandWithTimeout, - ["route", "-n", "get", "default"], - params.timeoutMs, - ); - return stdout ? parseMacOsDefaultRouteHints(stdout) : []; - } - - if (params.platform === "linux") { - const stdout = await runRouteHintCommand( - params.runCommandWithTimeout, - ["ip", "-4", "route", "show", "default"], - params.timeoutMs, - ); - return stdout ? parseLinuxDefaultRouteHints(stdout) : []; - } - - return []; + const stdout = await runRouteHintCommand(params.runCommandWithTimeout, argv, params.timeoutMs); + return stdout ? parse(stdout) : []; } export async function resolveAdvertisedLanHostCore(