File tree Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Expand file tree Collapse file tree 1 file changed +20
-1
lines changed Original file line number Diff line number Diff line change 22
33const fs = require ( 'fs' ) ;
44const zlib = require ( 'zlib' ) ;
5+ const http = require ( 'http' ) ;
56const https = require ( 'https' ) ;
67const packageJSON = require ( './package.json' ) ;
78
@@ -64,7 +65,25 @@ file.on('finish', () => {
6465
6566// Follow redirects.
6667function 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 {
You can’t perform that action at this time.
0 commit comments