From 93ba04b2b0fa7d11747fae3718e4b3c5f3e9d7c5 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Fri, 20 Sep 2019 14:29:46 -0700 Subject: [PATCH] Move extractLocalHostUriMetaDataForPortMapping up to tunnel service --- src/vs/platform/remote/common/tunnel.ts | 15 +++++++++++++++ src/vs/workbench/api/browser/mainThreadWindow.ts | 3 +-- .../contrib/webview/common/portMapping.ts | 16 +--------------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/vs/platform/remote/common/tunnel.ts b/src/vs/platform/remote/common/tunnel.ts index 9fdba618115..d8d8c6c5751 100644 --- a/src/vs/platform/remote/common/tunnel.ts +++ b/src/vs/platform/remote/common/tunnel.ts @@ -4,6 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; +import { URI } from 'vs/base/common/uri'; export const ITunnelService = createDecorator('tunnelService'); @@ -19,3 +20,17 @@ export interface ITunnelService { openTunnel(remotePort: number): Promise | undefined; } + +export function extractLocalHostUriMetaDataForPortMapping(uri: URI): { address: string, port: number } | undefined { + if (uri.scheme !== 'http' && uri.scheme !== 'https') { + return undefined; + } + const localhostMatch = /^(localhost|127\.0\.0\.1):(\d+)$/.exec(uri.authority); + if (!localhostMatch) { + return undefined; + } + return { + address: localhostMatch[1], + port: +localhostMatch[2], + }; +} diff --git a/src/vs/workbench/api/browser/mainThreadWindow.ts b/src/vs/workbench/api/browser/mainThreadWindow.ts index 264d788c6c9..1bedb369aa6 100644 --- a/src/vs/workbench/api/browser/mainThreadWindow.ts +++ b/src/vs/workbench/api/browser/mainThreadWindow.ts @@ -9,9 +9,8 @@ import { URI, UriComponents } from 'vs/base/common/uri'; import { IWindowService } from 'vs/platform/windows/common/windows'; import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers'; import { ExtHostContext, ExtHostWindowShape, IExtHostContext, MainContext, MainThreadWindowShape, IOpenUriOptions } from '../common/extHost.protocol'; -import { ITunnelService, RemoteTunnel } from 'vs/platform/remote/common/tunnel'; +import { ITunnelService, RemoteTunnel, extractLocalHostUriMetaDataForPortMapping } from 'vs/platform/remote/common/tunnel'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; -import { extractLocalHostUriMetaDataForPortMapping } from 'vs/workbench/contrib/webview/common/portMapping'; import { IOpenerService } from 'vs/platform/opener/common/opener'; @extHostNamedCustomer(MainContext.MainThreadWindow) diff --git a/src/vs/workbench/contrib/webview/common/portMapping.ts b/src/vs/workbench/contrib/webview/common/portMapping.ts index e47390dcf05..30041eb213b 100644 --- a/src/vs/workbench/contrib/webview/common/portMapping.ts +++ b/src/vs/workbench/contrib/webview/common/portMapping.ts @@ -7,21 +7,7 @@ import { Disposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; import * as modes from 'vs/editor/common/modes'; import { REMOTE_HOST_SCHEME } from 'vs/platform/remote/common/remoteHosts'; -import { ITunnelService, RemoteTunnel } from 'vs/platform/remote/common/tunnel'; - -export function extractLocalHostUriMetaDataForPortMapping(uri: URI): { address: string, port: number } | undefined { - if (uri.scheme !== 'http' && uri.scheme !== 'https') { - return undefined; - } - const localhostMatch = /^(localhost|127\.0\.0\.1):(\d+)$/.exec(uri.authority); - if (!localhostMatch) { - return undefined; - } - return { - address: localhostMatch[1], - port: +localhostMatch[2], - }; -} +import { ITunnelService, RemoteTunnel, extractLocalHostUriMetaDataForPortMapping } from 'vs/platform/remote/common/tunnel'; export class WebviewPortMappingManager extends Disposable {