@@ -93,18 +93,18 @@ export function ConcurrencyQueue ({ axios, config }) {
9393 }
9494
9595 if ( this . paused && request . retryCount > 0 ) {
96- return new Promise ( resolve => {
97- this . unshift ( { request, resolve } )
96+ return new Promise ( ( resolve , reject ) => {
97+ this . unshift ( { request, resolve, reject } )
9898 } )
9999 } else if ( request . retryCount > 0 ) {
100100 return request
101101 }
102102
103- return new Promise ( resolve => {
103+ return new Promise ( ( resolve , reject ) => {
104104 request . onComplete = ( ) => {
105- this . running . pop ( { request, resolve } )
105+ this . running . pop ( { request, resolve, reject } )
106106 }
107- this . push ( { request, resolve } )
107+ this . push ( { request, resolve, reject } )
108108 } )
109109 }
110110
@@ -131,6 +131,7 @@ export function ConcurrencyQueue ({ axios, config }) {
131131 } , time ) )
132132 }
133133 }
134+
134135 const refreshToken = ( ) => {
135136 return config . refreshToken ( ) . then ( ( token ) => {
136137 if ( token . authorization ) {
@@ -146,8 +147,19 @@ export function ConcurrencyQueue ({ axios, config }) {
146147 axios . httpClientParams . headers . authtoken = token . authtoken
147148 this . config . authtoken = token . authtoken
148149 }
149- } ) . catch ( ( error ) => {
150- throw error
150+ } ) . catch ( ( ) => {
151+ this . queue . forEach ( queueItem => {
152+ queueItem . reject ( {
153+ errorCode : '401' ,
154+ errorMessage : 'Unable to refresh token' ,
155+ code : 'Unauthorized' ,
156+ message : 'Request failed with status code 401' ,
157+ name : 'Token Error' ,
158+ config : queueItem . request
159+ } )
160+ } )
161+ this . queue = [ ]
162+ this . running = [ ]
151163 } ) . finally ( ( ) => {
152164 this . queue . forEach ( ( queueItem ) => {
153165 if ( this . config . authorization ) {
0 commit comments