From 09f117fcd957f172c546cf2e87eef243574ac82d Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Fri, 29 Nov 2024 13:06:08 +0100 Subject: [PATCH] Keep originals and resolveProxyURL (#228697) --- src/vs/workbench/api/node/proxyResolver.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/api/node/proxyResolver.ts b/src/vs/workbench/api/node/proxyResolver.ts index 98f8979d995..0adeeb71822 100644 --- a/src/vs/workbench/api/node/proxyResolver.ts +++ b/src/vs/workbench/api/node/proxyResolver.ts @@ -19,6 +19,7 @@ import type * as undiciType from 'undici-types'; import type * as tlsType from 'tls'; import type * as streamType from 'stream'; import { lookupKerberosAuthorization } from '../../../platform/request/node/requestService.js'; +import * as proxyAgent from '@vscode/proxy-agent'; const require = createRequire(import.meta.url); const http = require('http'); @@ -90,6 +91,8 @@ export function connectProxyResolver( env: process.env, }; const { resolveProxyWithRequest, resolveProxyURL } = createProxyResolver(params); + const target = (proxyAgent as any).default || proxyAgent; + target.resolveProxyURL = resolveProxyURL; patchGlobalFetch(configProvider, mainThreadTelemetry, initData, resolveProxyURL, params.lookupProxyAuthorization!, getOrLoadAdditionalCertificates.bind(undefined, params), disposables); @@ -348,7 +351,9 @@ function recordFetchFeatureUse(mainThreadTelemetry: MainThreadTelemetryShape, fe function createPatchedModules(params: ProxyAgentParams, resolveProxy: ResolveProxyWithRequest) { function mergeModules(module: any, patch: any) { - return Object.assign(module.default || module, patch); + const target = module.default || module; + target.__vscodeOriginal = Object.assign({}, target); + return Object.assign(target, patch); } return {