This repository was archived by the owner on Feb 13, 2024. It is now read-only.
  
  
  
  
    
    
    
      
    
  
  
    
File tree Expand file tree Collapse file tree 2 files changed +26
-6
lines changed Expand file tree Collapse file tree 2 files changed +26
-6
lines changed Original file line number Diff line number Diff line change @@ -53,8 +53,7 @@ class Analytics {
5353      enumerable : true , 
5454      value : typeof  options . enable  ===  'boolean'  ? options . enable  : true 
5555    } ) 
56-     this . axiosClient  =  axios . create ( ) 
57-     axiosRetry ( this . axiosClient ,  { 
56+     axiosRetry ( this . axiosInstance ,  { 
5857      retries : options . retryCount  ||  3 , 
5958      retryCondition : this . _isErrorRetryable , 
6059      retryDelay : axiosRetry . exponentialDelay 
@@ -266,20 +265,17 @@ class Analytics {
266265    } 
267266
268267    const  req  =  { 
269-       method : 'POST' , 
270-       url : `${ this . host } ${ this . path }  , 
271268      auth : { 
272269        username : this . writeKey 
273270      } , 
274-       data, 
275271      headers
276272    } 
277273
278274    if  ( this . timeout )  { 
279275      req . timeout  =  typeof  this . timeout  ===  'string'  ? ms ( this . timeout )  : this . timeout 
280276    } 
281277
282-     this . axiosClient ( req ) 
278+     this . axiosInstance . post ( ` ${ this . host } ${ this . path } ` ,   data ,   req ) 
283279      . then ( ( )  =>  done ( ) ) 
284280      . catch ( err  =>  { 
285281        if  ( err . response )  { 
Original file line number Diff line number Diff line change @@ -606,6 +606,30 @@ test('ensure that failed requests are not retried forever', async t => {
606606  await  t . throws ( client . flush ( ) ) 
607607} ) 
608608
609+ test ( 'ensure we can pass our own axios instance' ,  async  t  =>  { 
610+   const  axios  =  require ( 'axios' ) 
611+   const  myAxiosInstance  =  axios . create ( ) 
612+   const  stubAxiosPost  =  stub ( myAxiosInstance ,  'post' ) . resolves ( ) 
613+   const  client  =  createClient ( { 
614+     axiosInstance : myAxiosInstance , 
615+     host : 'https://my-dummy-host.com' , 
616+     path : '/test/path' 
617+   } ) 
618+ 
619+   const  callback  =  spy ( ) 
620+   client . queue  =  [ 
621+     { 
622+       message : 'something' , 
623+       callback
624+     } 
625+   ] 
626+ 
627+   client . flush ( ) 
628+ 
629+   t . true ( stubAxiosPost . called ) 
630+   t . true ( stubAxiosPost . alwaysCalledWith ( 'https://my-dummy-host.com/test/path' ) ) 
631+ } ) 
632+ 
609633test ( 'ensure other axios clients are not impacted by axios-retry' ,  async  t  =>  { 
610634  let  client  =  createClient ( )  // eslint-disable-line 
611635  const  axios  =  require ( 'axios' ) 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments