Skip to content

Commit cfbafab

Browse files
authored
Merge pull request tree-sitter#1643 from fengT-T/master
Fix: Set https proxy for npm cli install script
2 parents 465ceea + 149bae5 commit cfbafab

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

cli/npm/install.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const fs = require('fs');
44
const zlib = require('zlib');
5+
const http = require('http');
56
const https = require('https');
67
const packageJSON = require('./package.json');
78

@@ -64,7 +65,25 @@ file.on('finish', () => {
6465

6566
// Follow redirects.
6667
function get(url, callback) {
67-
https.get(url, response => {
68+
const requestUrl = new URL(url)
69+
let request = https
70+
let requestConfig = requestUrl
71+
const proxyEnv = process.env['HTTPS_PROXY'] || process.env['https_proxy']
72+
73+
if (proxyEnv) {
74+
const proxyUrl = new URL(proxyEnv)
75+
request = proxyUrl.protocol === 'https:' ? https : http
76+
requestConfig = {
77+
hostname: proxyUrl.hostname,
78+
port: proxyUrl.port,
79+
path: requestUrl.toString(),
80+
headers: {
81+
Host: requestUrl.hostname
82+
}
83+
}
84+
}
85+
86+
request.get(requestConfig, response => {
6887
if (response.statusCode === 301 || response.statusCode === 302) {
6988
get(response.headers.location, callback);
7089
} else {

0 commit comments

Comments
 (0)