UNPKG

@microsoft/dev-tunnels-connections

Version:

Tunnels library for Visual Studio tools

27 lines 1.26 kB
"use strict"; // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultTunnelRelayStreamFactory = void 0; const sshHelpers_1 = require("./sshHelpers"); /** * Default factory for creating streams to a tunnel relay. */ class DefaultTunnelRelayStreamFactory { async createRelayStream(relayUri, protocols, accessToken, clientConfig) { if ((0, sshHelpers_1.isNode)()) { const stream = await sshHelpers_1.SshHelpers.openConnection(relayUri, protocols, Object.assign({}, (accessToken && { Authorization: `tunnel ${accessToken}` })), clientConfig); return { stream, protocol: stream.protocol }; } else { // Web sockets don't support auth. Authenticate TunnelRelay by sending accessToken as a subprotocol. if (accessToken) { protocols = [...protocols, accessToken]; } const stream = await sshHelpers_1.SshHelpers.openConnection(relayUri, protocols); return { stream, protocol: stream.protocol }; } } } exports.DefaultTunnelRelayStreamFactory = DefaultTunnelRelayStreamFactory; //# sourceMappingURL=defaultTunnelRelayStreamFactory.js.map