@@ -64,39 +64,38 @@ export abstract class HttpClient {
64
64
config . headers [ 'Accept-Charset' ] = `utf-8` ;
65
65
config . headers [ 'Accept' ] = `application/json` ;
66
66
config . headers [ 'Content-Type' ] = `application/json` ;
67
+ //config.headers['content-type'] = `application/json`;
67
68
}
68
69
69
70
if ( config . url !== '/v2/oauth/token' ) {
70
71
// check token validity
71
- const access_token = await checkTokenValidity ( ) ;
72
-
72
+ let access_token = await checkTokenValidity ( ) ;
73
+
73
74
if ( access_token ) {
74
- config . headers [ 'Authorization' ] = `Bearer ${ access_token } ` ;
75
+ config . headers [ 'Authorization' ] = `Bearer ${ access_token } ` ;
75
76
} else {
76
77
// retrieve auth credentials
77
78
const authCredentials = await this . auth . getCredentials ( ) ;
78
79
79
- // request new token
80
- const { access_token } = await this . renewToken ( authCredentials ) ;
81
-
80
+ // request new token
81
+ let renewed_token = await this . renewToken ( authCredentials ) ;
82
82
// set token if valid
83
- if ( access_token ) {
83
+ if ( renewed_token ) {
84
84
// set authorization headers
85
- config . headers [ 'Authorization' ] = `Bearer ${ access_token } ` ;
85
+ config . headers [ 'Authorization' ] = `Bearer ${ renewed_token } ` ;
86
86
// set authorization token in storage
87
87
const futureTimeStamp = addMinutes (
88
88
new Date ( ) ,
89
89
Constants . TOKEN_EXPIRE_IN_50_MINS
90
90
) ;
91
91
await setAuthToken (
92
- access_token ,
92
+ renewed_token ,
93
93
futureTimeStamp . toISOString ( )
94
94
) ;
95
95
}
96
96
}
97
97
}
98
98
99
-
100
99
return config ;
101
100
} ;
102
101
@@ -132,16 +131,16 @@ export abstract class HttpClient {
132
131
const authCredentials = await this . auth . getCredentials ( ) ;
133
132
134
133
// request new token
135
- const { access_token } = await this . renewToken ( authCredentials ) ;
134
+ let renewed_token = await this . renewToken ( authCredentials ) ;
136
135
137
136
// set token if valid
138
- if ( access_token ) {
137
+ if ( renewed_token ) {
139
138
// set authorization token in storage
140
139
const futureTimeStamp = addMinutes (
141
140
new Date ( ) ,
142
141
Constants . TOKEN_EXPIRE_IN_50_MINS
143
142
) ;
144
- await setAuthToken ( access_token , futureTimeStamp . toISOString ( ) ) ;
143
+ await setAuthToken ( renewed_token , futureTimeStamp . toISOString ( ) ) ;
145
144
146
145
return this . instance (
147
146
originalRequest as InternalAxiosRequestConfig
@@ -169,9 +168,7 @@ export abstract class HttpClient {
169
168
return Promise . reject ( error ) ;
170
169
} ;
171
170
172
- private async renewToken (
173
- authCredentials : AuthCredentials
174
- ) : Promise < { access_token : string } > {
171
+ private async renewToken ( authCredentials : AuthCredentials ) : Promise < string | null > {
175
172
const params = new URLSearchParams ( ) ;
176
173
params . append ( 'client_id' , `${ authCredentials . client_id } ` ) ;
177
174
params . append ( 'client_secret' , `${ authCredentials . client_secret } ` ) ;
@@ -180,10 +177,17 @@ export abstract class HttpClient {
180
177
'scope' ,
181
178
'free-trial-numbers:read free-trial-numbers:write messages:read messages:write virtual-numbers:read virtual-numbers:write reports:read reports:write'
182
179
) ;
183
-
184
- const auth = await this . instance . post ( `/v2/oauth/token` , params ) ;
185
- if ( ! auth ) return auth ;
186
- const { access_token } = auth ;
187
- return access_token ;
180
+
181
+ try {
182
+ const auth = await this . instance . post ( `/v2/oauth/token` , params ) ;
183
+
184
+ if ( auth && auth . access_token ) {
185
+ return auth . access_token ;
186
+ } else {
187
+ return null ;
188
+ }
189
+ } catch ( error ) {
190
+ return null ;
191
+ }
188
192
}
189
193
}
0 commit comments