@@ -2,6 +2,9 @@ import got, { Headers, Method, OptionsOfJSONResponseBody } from 'got';
22import { FuusorDataSet , IFuusorDataSetOptions } from './data-set' ;
33import { FuusorUser } from './user' ;
44import { FuusorUserGroup } from './user-group' ;
5+ import { HttpsAgent } from 'agentkeepalive' ;
6+
7+ const httpsAgent = new HttpsAgent ( ) ;
58
69export interface IFuusorApiClientOptions {
710 clientId : string ;
@@ -31,6 +34,9 @@ export class FuusorApiClient {
3134 /** @private */
3235 accessTokensTimeout : any ;
3336
37+ /** @private */
38+ httpsAgent : HttpsAgent = httpsAgent ;
39+
3440 constructor ( options : IFuusorApiClientOptions ) {
3541 // Set default connect URI
3642 options . uriConnect = options . uriConnect || 'https://api.fuusor.fi/connect/token' ;
@@ -106,14 +112,18 @@ export class FuusorApiClient {
106112
107113 headers : {
108114 Authorization : `Bearer ${ accessToken } `
115+ } ,
116+
117+ agent : {
118+ https : this . httpsAgent
109119 }
110120 } ) ;
111121
112122 return ;
113123 }
114124
115125 async fetchAccessTokenForDataSetUpload ( ) : Promise < string > {
116- const { access_token } = await got
126+ const { access_token } = ( await got
117127 . post ( this . options . uriConnect || '' , {
118128 form : {
119129 scope : 'fileupload' ,
@@ -123,9 +133,13 @@ export class FuusorApiClient {
123133 username : this . options . username ,
124134 password : this . options . password ,
125135 filetype : 'JsonTransformer'
136+ } ,
137+
138+ agent : {
139+ https : this . httpsAgent
126140 }
127141 } )
128- . json ( ) ;
142+ . json ( ) ) as any ;
129143
130144 return access_token ;
131145 }
@@ -149,6 +163,10 @@ export class FuusorApiClient {
149163 username : this . options . username ,
150164 password : this . options . password ,
151165 filetype : 'JsonTransformer'
166+ } ,
167+
168+ agent : {
169+ https : this . httpsAgent
152170 }
153171 } )
154172 . json ( ) ;
@@ -177,7 +195,11 @@ export class FuusorApiClient {
177195 timeout : this . options . timeout ,
178196 headers : await this . getDefaultHttpHeaders ( scope ) ,
179197 responseType : 'json' ,
180- throwHttpErrors : false
198+ throwHttpErrors : false ,
199+
200+ agent : {
201+ https : this . httpsAgent
202+ }
181203 } ;
182204
183205 // If json body is defined
0 commit comments