Skip to content

Commit 392d0be

Browse files
committed
Fix converting of URL to request options (fixes microsoft#66892)
1 parent 366bfe9 commit 392d0be

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

src/vs/workbench/services/extensions/node/proxyResolver.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,17 @@ function patches(originals: typeof http | typeof https, agent: http.Agent, setti
233233

234234
if (!options.socketPath && (config === 'override' || config === 'on' && !options.agent) && options.agent !== agent) {
235235
if (url) {
236-
const parsed = typeof url === 'string' ? nodeurl.parse(url) : url;
237-
options = {
236+
const parsed = typeof url === 'string' ? new nodeurl.URL(url) : url;
237+
const urlOptions = {
238238
protocol: parsed.protocol,
239-
hostname: parsed.hostname,
239+
hostname: parsed.hostname.lastIndexOf('[', 0) === 0 ? parsed.hostname.slice(1, -1) : parsed.hostname,
240240
port: parsed.port,
241-
path: parsed.pathname,
242-
...options
241+
path: `${parsed.pathname}${parsed.search}`
243242
};
243+
if (parsed.username || parsed.password) {
244+
options.auth = `${parsed.username}:${parsed.password}`;
245+
}
246+
options = { ...urlOptions, ...options };
244247
} else {
245248
options = { ...options };
246249
}

0 commit comments

Comments
 (0)