@@ -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