@@ -2,7 +2,7 @@ import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pi
22import { AdditionalPolicyConfig } from '@azure/core-client' ;
33import { pause } from './other' ;
44import semverSatisfies from './semver-satisfies' ;
5- import { UnexpectedTsError , UnsupportedVersionError } from './errors' ;
5+ import { UnsupportedVersionError } from './errors' ;
66
77export const genRequestQueuesPolicy = ( ) : AdditionalPolicyConfig => {
88 const requestQueues = new Map < string , Promise < unknown > > ( ) ;
@@ -126,22 +126,17 @@ export const genRetryOnFailurePolicy = (
126126 const intervalSum = intervals . reduce ( ( a , b ) => a + b ) ;
127127 const intervalsInMs = intervals . map ( ( el ) => ( el / intervalSum ) * retryOverallDelay ) ;
128128
129- let error : Error | undefined ;
129+ let error = new RestError ( 'Not expected to be thrown' ) ;
130130 for ( let attempt = 0 ; attempt <= retryCount ; attempt += 1 ) {
131- if ( error != null ) {
132- if (
133- ! ( error instanceof RestError )
134- || statusesToNotRetry . includes ( error . response ?. status ?? 0 )
135- ) throw error ;
136- await pause ( intervalsInMs [ attempt - 1 ] ) ;
137- }
131+ if ( attempt !== 0 ) await pause ( intervalsInMs [ attempt - 1 ] ) ;
138132 try {
139133 return await next ( request ) ;
140134 } catch ( e ) {
135+ if ( ! ( e instanceof RestError ) ) throw e ;
136+ if ( statusesToNotRetry . includes ( e . response ?. status ?? 0 ) ) throw e ;
141137 error = e ;
142138 }
143139 }
144- if ( error == null ) throw new UnexpectedTsError ( ) ;
145140 throw error ;
146141 } ,
147142 } ,
0 commit comments