1- import  { HttpModule ,  Inject ,  Module ,  OnApplicationBootstrap }  from  '@nestjs/common' ; 
1+ import  {  HttpModule ,  Inject ,  Module ,  OnApplicationBootstrap  }  from  '@nestjs/common' ; 
2+ import  {  AxiosProxyConfig  }  from  'axios' ; 
3+ import  {  Command  }  from  'commander' ; 
4+ import  *  as  url  from  'url' ; 
25
3- import  { COMMANDER_PROGRAM ,  LOGGER }  from  './constants' ; 
4- import  { Command }  from  'commander' ; 
5- import  { VersionManagerController }  from  './controllers/version-manager.controller' ; 
6- import  { ConfigService ,  GeneratorService ,  PassTroughService ,  UIService ,  VersionManagerService }  from  './services' ; 
6+ import  {  COMMANDER_PROGRAM ,  LOGGER  }  from  './constants' ; 
7+ import  {  VersionManagerController  }  from  './controllers/version-manager.controller' ; 
8+ import  {  ConfigService ,  GeneratorService ,  PassTroughService ,  UIService ,  VersionManagerService  }  from  './services' ; 
9+ 
10+ let  proxyConfig : AxiosProxyConfig ; 
11+ const  proxyUrl  =  process . env . HTTPS_PROXY  ||  process . env . HTTP_PROXY ; 
12+ 
13+ if  ( proxyUrl )  { 
14+   const  proxy  =  url . parse ( proxyUrl ) ; 
15+   const  proxyAuth  =  proxy . auth  &&  proxy . auth . split ( ':' ) ; 
16+ 
17+   proxyConfig  =  { 
18+     host : proxy . hostname , 
19+     port : parseInt ( proxy . port ,  10 ) , 
20+     auth : proxyAuth  &&  {  username : proxyAuth [ 0 ] ,  password : proxyAuth [ 1 ]  } , 
21+     protocol : proxy . protocol . replace ( ':' ,  '' ) 
22+   } ; 
23+ } 
724
825@Module ( { 
9-   imports : [ HttpModule ] , 
26+   imports : [ HttpModule . register ( { proxy :  proxyConfig } ) ] , 
1027  controllers : [ 
11-     VersionManagerController , 
28+     VersionManagerController 
1229  ] , 
1330  providers : [ 
1431    UIService , 
@@ -20,31 +37,31 @@ import {ConfigService, GeneratorService, PassTroughService, UIService, VersionMa
2037      provide : COMMANDER_PROGRAM , 
2138      useValue : new  Command ( 'openapi-generator-cli' ) . helpOption ( false ) . usage ( '<command> [<args>]' ) 
2239    } , 
23-     { provide : LOGGER ,  useValue : console } , 
24-   ] , 
40+     {   provide : LOGGER ,  useValue : console   } 
41+   ] 
2542} ) 
2643export  class  AppModule  implements  OnApplicationBootstrap  { 
2744
2845  constructor ( 
2946    @Inject ( COMMANDER_PROGRAM )  private  readonly  program : Command , 
3047    private  readonly  versionManager : VersionManagerService , 
31-     private  readonly  passTroughService : PassTroughService , 
48+     private  readonly  passTroughService : PassTroughService 
3249  )  { 
3350  } 
3451
3552  onApplicationBootstrap  =  async  ( )  =>  { 
3653
37-     let  selectedVersion  =  this . versionManager . getSelectedVersion ( ) 
54+     let  selectedVersion  =  this . versionManager . getSelectedVersion ( ) ; 
3855
3956    if  ( ! selectedVersion )  { 
40-       const  [ { version} ]  =  await  this . versionManager . search ( [ 'latest' ] ) . toPromise ( ) 
41-       await  this . versionManager . setSelectedVersion ( version ) 
42-       selectedVersion  =  version 
57+       const  [ {   version  } ]  =  await  this . versionManager . search ( [ 'latest' ] ) . toPromise ( ) ; 
58+       await  this . versionManager . setSelectedVersion ( version ) ; 
59+       selectedVersion  =  version ; 
4360    } 
4461
45-     await  this . versionManager . downloadIfNeeded ( selectedVersion ) 
46-     await  this . passTroughService . init ( ) 
47-     this . program . parse ( process . argv ) 
62+     await  this . versionManager . downloadIfNeeded ( selectedVersion ) ; 
63+     await  this . passTroughService . init ( ) ; 
64+     this . program . parse ( process . argv ) ; 
4865
4966  } ; 
5067
0 commit comments