mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-06 23:06:20 +01:00
Load local certificates (microsoft/vscode-remote-release#9176)
This commit is contained in:
@@ -16,7 +16,7 @@ import { ExtHostExtensionService } from 'vs/workbench/api/node/extHostExtensionS
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { ILogService, LogLevel as LogServiceLevel } from 'vs/platform/log/common/log';
|
||||
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
|
||||
import { LogLevel, createHttpPatch, createProxyResolver, createTlsPatch, ProxySupportSetting, ProxyAgentParams, createNetPatch } from '@vscode/proxy-agent';
|
||||
import { LogLevel, createHttpPatch, createProxyResolver, createTlsPatch, ProxySupportSetting, ProxyAgentParams, createNetPatch, loadSystemCertificates } from '@vscode/proxy-agent';
|
||||
|
||||
const systemCertificatesV2Default = false;
|
||||
|
||||
@@ -35,24 +35,9 @@ export function connectProxyResolver(
|
||||
lookupProxyAuthorization: lookupProxyAuthorization.bind(undefined, extHostLogService, mainThreadTelemetry, configProvider, {}, initData.remote.isRemote),
|
||||
getProxyURL: () => configProvider.getConfiguration('http').get('proxy'),
|
||||
getProxySupport: () => configProvider.getConfiguration('http').get<ProxySupportSetting>('proxySupport') || 'off',
|
||||
getSystemCertificatesV1: () => certSettingV1(configProvider),
|
||||
getSystemCertificatesV2: () => certSettingV2(configProvider),
|
||||
log: (level, message, ...args) => {
|
||||
switch (level) {
|
||||
case LogLevel.Trace: extHostLogService.trace(message, ...args); break;
|
||||
case LogLevel.Debug: extHostLogService.debug(message, ...args); break;
|
||||
case LogLevel.Info: extHostLogService.info(message, ...args); break;
|
||||
case LogLevel.Warning: extHostLogService.warn(message, ...args); break;
|
||||
case LogLevel.Error: extHostLogService.error(message, ...args); break;
|
||||
case LogLevel.Critical: extHostLogService.error(message, ...args); break;
|
||||
case LogLevel.Off: break;
|
||||
default: never(level, message, args); break;
|
||||
}
|
||||
function never(level: never, message: string, ...args: any[]) {
|
||||
extHostLogService.error('Unknown log level', level);
|
||||
extHostLogService.error(message, ...args);
|
||||
}
|
||||
},
|
||||
addCertificatesV1: () => certSettingV1(configProvider),
|
||||
addCertificatesV2: () => certSettingV2(configProvider),
|
||||
log: extHostLogService,
|
||||
getLogLevel: () => {
|
||||
const level = extHostLogService.getLevel();
|
||||
switch (level) {
|
||||
@@ -71,7 +56,19 @@ export function connectProxyResolver(
|
||||
},
|
||||
proxyResolveTelemetry: () => { },
|
||||
useHostProxy: doUseHostProxy,
|
||||
addCertificates: [],
|
||||
loadAdditionalCertificates: async () => {
|
||||
const promises: Promise<string[]>[] = [];
|
||||
if (initData.remote.isRemote) {
|
||||
promises.push(loadSystemCertificates({ log: extHostLogService }));
|
||||
}
|
||||
if (doUseHostProxy) {
|
||||
extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loading certificates from main process');
|
||||
const certs = extHostWorkspace.loadCertificates(); // Loading from main process to share cache.
|
||||
certs.then(certs => extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loaded certificates from main process', certs.length));
|
||||
promises.push(certs);
|
||||
}
|
||||
return (await Promise.all(promises)).flat();
|
||||
},
|
||||
env: process.env,
|
||||
};
|
||||
const resolveProxy = createProxyResolver(params);
|
||||
|
||||
Reference in New Issue
Block a user