@theia/plugin-ext 1.26.0-next.46 → 1.26.0-next.47
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/lib/hosted/node/plugin-host-proxy.d.ts +18 -0
- package/lib/hosted/node/plugin-host-proxy.d.ts.map +1 -0
- package/lib/hosted/node/plugin-host-proxy.js +70 -0
- package/lib/hosted/node/plugin-host-proxy.js.map +1 -0
- package/lib/hosted/node/plugin-host-rpc.d.ts.map +1 -1
- package/lib/hosted/node/plugin-host-rpc.js +2 -0
- package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
- package/package.json +25 -24
- package/src/hosted/node/plugin-host-proxy.ts +80 -0
- package/src/hosted/node/plugin-host-rpc.ts +2 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2022 TypeFox and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { PreferenceRegistryExtImpl } from '../../plugin/preference-registry';
|
|
17
|
+
export declare function connectProxyResolver(configProvider: PreferenceRegistryExtImpl): void;
|
|
18
|
+
//# sourceMappingURL=plugin-host-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-host-proxy.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAOlF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,yBAAyB,GAAG,IAAI,CAYpF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (C) 2022 TypeFox and others.
|
|
4
|
+
*
|
|
5
|
+
* This program and the accompanying materials are made available under the
|
|
6
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
*
|
|
9
|
+
* This Source Code may also be made available under the following Secondary
|
|
10
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
* with the GNU Classpath Exception which is available at
|
|
13
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
*
|
|
15
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.connectProxyResolver = void 0;
|
|
19
|
+
const http = require("http");
|
|
20
|
+
const https = require("https");
|
|
21
|
+
const tls = require("tls");
|
|
22
|
+
const vscode_proxy_agent_1 = require("vscode-proxy-agent");
|
|
23
|
+
function connectProxyResolver(configProvider) {
|
|
24
|
+
const resolveProxy = (0, vscode_proxy_agent_1.createProxyResolver)({
|
|
25
|
+
resolveProxy: async (url) => url,
|
|
26
|
+
getHttpProxySetting: () => configProvider.getConfiguration('http').get('proxy'),
|
|
27
|
+
log: () => { },
|
|
28
|
+
getLogLevel: () => 0,
|
|
29
|
+
proxyResolveTelemetry: () => { },
|
|
30
|
+
useHostProxy: true,
|
|
31
|
+
env: process.env,
|
|
32
|
+
});
|
|
33
|
+
const lookup = createPatchedModules(configProvider, resolveProxy);
|
|
34
|
+
configureModuleLoading(lookup);
|
|
35
|
+
}
|
|
36
|
+
exports.connectProxyResolver = connectProxyResolver;
|
|
37
|
+
function createPatchedModules(configProvider, resolveProxy) {
|
|
38
|
+
const proxySetting = {
|
|
39
|
+
config: 'off'
|
|
40
|
+
};
|
|
41
|
+
const certSetting = {
|
|
42
|
+
config: false
|
|
43
|
+
};
|
|
44
|
+
configProvider.onDidChangeConfiguration(() => {
|
|
45
|
+
const httpConfig = configProvider.getConfiguration('http');
|
|
46
|
+
proxySetting.config = (httpConfig === null || httpConfig === void 0 ? void 0 : httpConfig.get('proxySupport')) || 'off';
|
|
47
|
+
certSetting.config = !!(httpConfig === null || httpConfig === void 0 ? void 0 : httpConfig.get('systemCertificates'));
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
http: Object.assign(http, (0, vscode_proxy_agent_1.createHttpPatch)(http, resolveProxy, proxySetting, certSetting, true)),
|
|
51
|
+
https: Object.assign(https, (0, vscode_proxy_agent_1.createHttpPatch)(https, resolveProxy, proxySetting, certSetting, true)),
|
|
52
|
+
tls: Object.assign(tls, (0, vscode_proxy_agent_1.createTlsPatch)(tls))
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function configureModuleLoading(lookup) {
|
|
56
|
+
const node_module = require('module');
|
|
57
|
+
const original = node_module._load;
|
|
58
|
+
node_module._load = function (request) {
|
|
59
|
+
if (request === 'tls') {
|
|
60
|
+
return lookup.tls;
|
|
61
|
+
}
|
|
62
|
+
if (request !== 'http' && request !== 'https') {
|
|
63
|
+
return original.apply(this, arguments);
|
|
64
|
+
}
|
|
65
|
+
// Create a shallow copy of the http(s) module to work around extensions that apply changes to the modules
|
|
66
|
+
// See for more info: https://github.com/microsoft/vscode/issues/93167
|
|
67
|
+
return Object.assign({}, lookup[request]);
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=plugin-host-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-host-proxy.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-proxy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,6BAA6B;AAC7B,+BAA+B;AAC/B,2BAA2B;AAE3B,2DAA+G;AAG/G,SAAgB,oBAAoB,CAAC,cAAyC;IAC1E,MAAM,YAAY,GAAG,IAAA,wCAAmB,EAAC;QACrC,YAAY,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,GAAG;QAC9B,mBAAmB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/E,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QACd,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC;QAChC,YAAY,EAAE,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAClE,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAZD,oDAYC;AAQD,SAAS,oBAAoB,CAAC,cAAyC,EAAE,YAAoD;IACzH,MAAM,YAAY,GAAG;QACjB,MAAM,EAAE,KAA4B;KACvC,CAAC;IACF,MAAM,WAAW,GAAG;QAChB,MAAM,EAAE,KAAK;KAChB,CAAC;IACF,cAAc,CAAC,wBAAwB,CAAC,GAAG,EAAE;QACzC,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,CAAC,MAAM,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAsB,cAAc,CAAC,KAAI,KAAK,CAAC;QACpF,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAU,oBAAoB,CAAC,CAAA,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,oCAAe,EAAC,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/F,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAA,oCAAe,EAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAClG,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAA,mCAAc,EAAC,GAAG,CAAC,CAAC;KAC/C,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;IACnC,WAAW,CAAC,KAAK,GAAG,UAAU,OAAe;QACzC,IAAI,OAAO,KAAK,KAAK,EAAE;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC;SACrB;QAED,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,EAAE;YAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC1C;QAED,0GAA0G;QAC1G,sEAAsE;QACtE,yBAAY,MAAM,CAAC,OAAO,CAAC,EAAG;IAClC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAoB,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAS7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-host-rpc.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAoB,MAAM,EAAoB,MAAM,6BAA6B,CAAC;AAGzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAS7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D;;GAEG;AACH,qBAAa,aAAa;IAOV,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;IALvC,OAAO,CAAC,UAAU,CAAmB;IAErC,OAAO,CAAC,aAAa,CAAuB;gBAGb,GAAG,EAAE,GAAG;IAGvC,UAAU,IAAI,IAAI;IAoCZ,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWtD,mBAAmB,CACf,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,oBAAoB,EAC/F,kBAAkB,EAAE,yBAAyB,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAEnG,GAAG,EAAE,GAAG,GACT,oBAAoB;CAyI1B"}
|
|
@@ -32,6 +32,7 @@ const plugin_storage_1 = require("../../plugin/plugin-storage");
|
|
|
32
32
|
const webviews_1 = require("../../plugin/webviews");
|
|
33
33
|
const terminal_ext_1 = require("../../plugin/terminal-ext");
|
|
34
34
|
const secrets_ext_1 = require("../../plugin/secrets-ext");
|
|
35
|
+
const plugin_host_proxy_1 = require("./plugin-host-proxy");
|
|
35
36
|
/**
|
|
36
37
|
* Handle the RPC calls.
|
|
37
38
|
*/
|
|
@@ -61,6 +62,7 @@ class PluginHostRPC {
|
|
|
61
62
|
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.WEBVIEWS_EXT, webviewExt);
|
|
62
63
|
this.rpc.set(plugin_api_rpc_1.MAIN_RPC_CONTEXT.SECRETS_EXT, secretsExt);
|
|
63
64
|
this.apiFactory = (0, plugin_context_1.createAPIFactory)(this.rpc, this.pluginManager, envExt, debugExt, preferenceRegistryExt, editorsAndDocumentsExt, workspaceExt, messageRegistryExt, clipboardExt, webviewExt);
|
|
65
|
+
(0, plugin_host_proxy_1.connectProxyResolver)(preferenceRegistryExt);
|
|
64
66
|
}
|
|
65
67
|
async terminate() {
|
|
66
68
|
await this.pluginManager.terminate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,0EAAsE;AACtE,gEAAmE;AACnE,gEAAyF;AAEzF,gEAA+D;AAE/D,0EAA6E;AAE7E,yDAA6D;AAC7D,8EAAgF;AAChF,sDAA0D;AAC1D,oEAAmE;AACnE,iEAAgE;AAChE,8DAA0D;AAC1D,qEAAwD;AACxD,gEAAmE;AACnE,oDAAwD;AACxD,4DAAmE;AACnE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"plugin-host-rpc.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-host-rpc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext",
|
|
3
|
-
"version": "1.26.0-next.
|
|
3
|
+
"version": "1.26.0-next.47+d276e5aa117",
|
|
4
4
|
"description": "Theia - Plugin Extension",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@theia/bulk-edit": "1.26.0-next.
|
|
9
|
-
"@theia/callhierarchy": "1.26.0-next.
|
|
10
|
-
"@theia/console": "1.26.0-next.
|
|
11
|
-
"@theia/core": "1.26.0-next.
|
|
12
|
-
"@theia/debug": "1.26.0-next.
|
|
13
|
-
"@theia/editor": "1.26.0-next.
|
|
14
|
-
"@theia/file-search": "1.26.0-next.
|
|
15
|
-
"@theia/filesystem": "1.26.0-next.
|
|
16
|
-
"@theia/markers": "1.26.0-next.
|
|
17
|
-
"@theia/messages": "1.26.0-next.
|
|
18
|
-
"@theia/monaco": "1.26.0-next.
|
|
8
|
+
"@theia/bulk-edit": "1.26.0-next.47+d276e5aa117",
|
|
9
|
+
"@theia/callhierarchy": "1.26.0-next.47+d276e5aa117",
|
|
10
|
+
"@theia/console": "1.26.0-next.47+d276e5aa117",
|
|
11
|
+
"@theia/core": "1.26.0-next.47+d276e5aa117",
|
|
12
|
+
"@theia/debug": "1.26.0-next.47+d276e5aa117",
|
|
13
|
+
"@theia/editor": "1.26.0-next.47+d276e5aa117",
|
|
14
|
+
"@theia/file-search": "1.26.0-next.47+d276e5aa117",
|
|
15
|
+
"@theia/filesystem": "1.26.0-next.47+d276e5aa117",
|
|
16
|
+
"@theia/markers": "1.26.0-next.47+d276e5aa117",
|
|
17
|
+
"@theia/messages": "1.26.0-next.47+d276e5aa117",
|
|
18
|
+
"@theia/monaco": "1.26.0-next.47+d276e5aa117",
|
|
19
19
|
"@theia/monaco-editor-core": "1.65.2",
|
|
20
|
-
"@theia/navigator": "1.26.0-next.
|
|
21
|
-
"@theia/output": "1.26.0-next.
|
|
22
|
-
"@theia/plugin": "1.26.0-next.
|
|
23
|
-
"@theia/preferences": "1.26.0-next.
|
|
24
|
-
"@theia/scm": "1.26.0-next.
|
|
25
|
-
"@theia/search-in-workspace": "1.26.0-next.
|
|
26
|
-
"@theia/task": "1.26.0-next.
|
|
27
|
-
"@theia/terminal": "1.26.0-next.
|
|
28
|
-
"@theia/timeline": "1.26.0-next.
|
|
29
|
-
"@theia/variable-resolver": "1.26.0-next.
|
|
30
|
-
"@theia/workspace": "1.26.0-next.
|
|
20
|
+
"@theia/navigator": "1.26.0-next.47+d276e5aa117",
|
|
21
|
+
"@theia/output": "1.26.0-next.47+d276e5aa117",
|
|
22
|
+
"@theia/plugin": "1.26.0-next.47+d276e5aa117",
|
|
23
|
+
"@theia/preferences": "1.26.0-next.47+d276e5aa117",
|
|
24
|
+
"@theia/scm": "1.26.0-next.47+d276e5aa117",
|
|
25
|
+
"@theia/search-in-workspace": "1.26.0-next.47+d276e5aa117",
|
|
26
|
+
"@theia/task": "1.26.0-next.47+d276e5aa117",
|
|
27
|
+
"@theia/terminal": "1.26.0-next.47+d276e5aa117",
|
|
28
|
+
"@theia/timeline": "1.26.0-next.47+d276e5aa117",
|
|
29
|
+
"@theia/variable-resolver": "1.26.0-next.47+d276e5aa117",
|
|
30
|
+
"@theia/workspace": "1.26.0-next.47+d276e5aa117",
|
|
31
31
|
"@types/mime": "^2.0.1",
|
|
32
32
|
"decompress": "^4.2.1",
|
|
33
33
|
"escape-html": "^1.0.3",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"uuid": "^8.0.0",
|
|
43
43
|
"vhost": "^3.0.2",
|
|
44
44
|
"vscode-debugprotocol": "^1.32.0",
|
|
45
|
+
"vscode-proxy-agent": "^0.11.0",
|
|
45
46
|
"vscode-textmate": "^4.0.1"
|
|
46
47
|
},
|
|
47
48
|
"publishConfig": {
|
|
@@ -92,5 +93,5 @@
|
|
|
92
93
|
"nyc": {
|
|
93
94
|
"extends": "../../configs/nyc.json"
|
|
94
95
|
},
|
|
95
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "d276e5aa1174c0806d5c225afdad4165bca46f4f"
|
|
96
97
|
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2022 TypeFox and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
|
|
17
|
+
import * as http from 'http';
|
|
18
|
+
import * as https from 'https';
|
|
19
|
+
import * as tls from 'tls';
|
|
20
|
+
|
|
21
|
+
import { createHttpPatch, createProxyResolver, createTlsPatch, ProxySupportSetting } from 'vscode-proxy-agent';
|
|
22
|
+
import { PreferenceRegistryExtImpl } from '../../plugin/preference-registry';
|
|
23
|
+
|
|
24
|
+
export function connectProxyResolver(configProvider: PreferenceRegistryExtImpl): void {
|
|
25
|
+
const resolveProxy = createProxyResolver({
|
|
26
|
+
resolveProxy: async url => url,
|
|
27
|
+
getHttpProxySetting: () => configProvider.getConfiguration('http').get('proxy'),
|
|
28
|
+
log: () => { },
|
|
29
|
+
getLogLevel: () => 0,
|
|
30
|
+
proxyResolveTelemetry: () => { },
|
|
31
|
+
useHostProxy: true,
|
|
32
|
+
env: process.env,
|
|
33
|
+
});
|
|
34
|
+
const lookup = createPatchedModules(configProvider, resolveProxy);
|
|
35
|
+
configureModuleLoading(lookup);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface PatchedModules {
|
|
39
|
+
http: typeof http;
|
|
40
|
+
https: typeof https;
|
|
41
|
+
tls: typeof tls;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function createPatchedModules(configProvider: PreferenceRegistryExtImpl, resolveProxy: ReturnType<typeof createProxyResolver>): PatchedModules {
|
|
45
|
+
const proxySetting = {
|
|
46
|
+
config: 'off' as ProxySupportSetting
|
|
47
|
+
};
|
|
48
|
+
const certSetting = {
|
|
49
|
+
config: false
|
|
50
|
+
};
|
|
51
|
+
configProvider.onDidChangeConfiguration(() => {
|
|
52
|
+
const httpConfig = configProvider.getConfiguration('http');
|
|
53
|
+
proxySetting.config = httpConfig?.get<ProxySupportSetting>('proxySupport') || 'off';
|
|
54
|
+
certSetting.config = !!httpConfig?.get<boolean>('systemCertificates');
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
http: Object.assign(http, createHttpPatch(http, resolveProxy, proxySetting, certSetting, true)),
|
|
59
|
+
https: Object.assign(https, createHttpPatch(https, resolveProxy, proxySetting, certSetting, true)),
|
|
60
|
+
tls: Object.assign(tls, createTlsPatch(tls))
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function configureModuleLoading(lookup: PatchedModules): void {
|
|
65
|
+
const node_module = require('module');
|
|
66
|
+
const original = node_module._load;
|
|
67
|
+
node_module._load = function (request: string): typeof tls | typeof http | typeof https {
|
|
68
|
+
if (request === 'tls') {
|
|
69
|
+
return lookup.tls;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (request !== 'http' && request !== 'https') {
|
|
73
|
+
return original.apply(this, arguments);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Create a shallow copy of the http(s) module to work around extensions that apply changes to the modules
|
|
77
|
+
// See for more info: https://github.com/microsoft/vscode/issues/93167
|
|
78
|
+
return { ...lookup[request] };
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -34,6 +34,7 @@ import { WebviewsExtImpl } from '../../plugin/webviews';
|
|
|
34
34
|
import { TerminalServiceExtImpl } from '../../plugin/terminal-ext';
|
|
35
35
|
import { SecretsExtImpl } from '../../plugin/secrets-ext';
|
|
36
36
|
import { BackendInitializationFn } from '../../common';
|
|
37
|
+
import { connectProxyResolver } from './plugin-host-proxy';
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
40
|
* Handle the RPC calls.
|
|
@@ -81,6 +82,7 @@ export class PluginHostRPC {
|
|
|
81
82
|
clipboardExt,
|
|
82
83
|
webviewExt
|
|
83
84
|
);
|
|
85
|
+
connectProxyResolver(preferenceRegistryExt);
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
async terminate(): Promise<void> {
|