@@ -76,6 +76,10 @@ function hasBasicCredentials(obj: any): boolean {
7676 return obj && obj . username && obj . password && obj . username !== 'apikey' ;
7777}
7878
79+ function hasIamCredentials ( obj : any ) : boolean {
80+ return obj && ( obj . iam_apikey || obj . iam_access_token ) ;
81+ }
82+
7983export class BaseService {
8084 static URL : string ;
8185 name : string ;
@@ -125,7 +129,7 @@ export class BaseService {
125129 options ,
126130 _options
127131 ) ;
128- if ( _options . iam_apikey || _options . iam_access_token ) {
132+ if ( hasIamCredentials ( _options ) ) {
129133 this . tokenManager = new IamTokenManagerV1 ( {
130134 iamApikey : _options . iam_apikey ,
131135 iamAccessToken : _options . iam_access_token ,
@@ -276,15 +280,17 @@ export class BaseService {
276280 'api_key, and iam_access_token.' ;
277281 throw new Error ( errorMessage ) ;
278282 }
279- if ( hasBasicCredentials ( _options ) ) {
280- // Calculate and add Authorization header to base options
281- const encodedCredentials = bufferFrom (
282- `${ _options . username } :${ _options . password } `
283- ) . toString ( 'base64' ) ;
284- const authHeader = { Authorization : `Basic ${ encodedCredentials } ` } ;
285- _options . headers = extend ( authHeader , _options . headers ) ;
286- } else {
287- _options . qs = extend ( { api_key : _options . api_key } , _options . qs ) ;
283+ if ( ! hasIamCredentials ( _options ) && _options . username !== 'apikey' ) {
284+ if ( hasBasicCredentials ( _options ) ) {
285+ // Calculate and add Authorization header to base options
286+ const encodedCredentials = bufferFrom (
287+ `${ _options . username } :${ _options . password } `
288+ ) . toString ( 'base64' ) ;
289+ const authHeader = { Authorization : `Basic ${ encodedCredentials } ` } ;
290+ _options . headers = extend ( authHeader , _options . headers ) ;
291+ } else {
292+ _options . qs = extend ( { api_key : _options . api_key } , _options . qs ) ;
293+ }
288294 }
289295 }
290296 return _options ;
0 commit comments