@@ -81,7 +81,8 @@ export class InterceptorService extends Http {
8181 . build ( ) ;
8282
8383 return Observable . create ( ( observer : Subscriber < Response > ) => {
84- const subscription = this . httpRequest ( request ) . subscribe (
84+ const requestNum = this . requestNum ;
85+ const subscription = this . httpRequest ( request , requestNum ) . subscribe (
8586 ( response : Response ) => observer . next ( response ) ,
8687 ( e : Error ) => observer . error ( e ) ,
8788 ( ) => observer . complete ( )
@@ -91,7 +92,7 @@ export class InterceptorService extends Http {
9192 for ( let index = this . interceptors . length - 1 ; index >= 0 ; index -- ) {
9293 const interceptor = this . interceptors [ index ] ;
9394 if ( interceptor . onUnsubscribe !== undefined ) {
94- interceptor . onUnsubscribe ( index , url , options , this . requestNum ) ;
95+ interceptor . onUnsubscribe ( index , url , options , requestNum ) ;
9596 }
9697 }
9798 } ) ;
@@ -187,8 +188,8 @@ export class InterceptorService extends Http {
187188 }
188189
189190 /** Private functions **/
190- private httpRequest ( request : InterceptorRequest ) : Observable < Response > {
191- return this . runBeforeInterceptors ( request )
191+ private httpRequest ( request : InterceptorRequest , requestNum : number ) : Observable < Response > {
192+ return this . runBeforeInterceptors ( request , requestNum )
192193 . flatMap < InterceptorRequest , InterceptorResponseWrapper > ( ( transformedRequest : InterceptorRequest , _ : number ) => {
193194 console . log ( `Received request` , transformedRequest ) ;
194195 const transformedRequestInternal = < InterceptorRequestInternal > transformedRequest ;
@@ -230,7 +231,7 @@ export class InterceptorService extends Http {
230231 } ) ;
231232 } )
232233 . flatMap ( ( responseWrapper : InterceptorResponseWrapper , index : number ) => {
233- return this . runAfterInterceptors ( responseWrapper ) ;
234+ return this . runAfterInterceptors ( responseWrapper , requestNum ) ;
234235 } )
235236 . flatMap ( ( responseWrapper : InterceptorResponseWrapper , index : number ) => {
236237 if ( ! responseWrapper . response ) {
@@ -246,7 +247,7 @@ export class InterceptorService extends Http {
246247 } ) ;
247248 }
248249
249- private runBeforeInterceptors ( params : InterceptorRequest ) : Observable < InterceptorRequest > {
250+ private runBeforeInterceptors ( params : InterceptorRequest , requestNum : number ) : Observable < InterceptorRequest > {
250251 let request$ : Observable < InterceptorRequest > = Observable . of ( params ) ;
251252
252253 for ( let index = 0 ; index < this . interceptors . length ; index ++ ) {
@@ -269,7 +270,7 @@ export class InterceptorService extends Http {
269270 if ( interceptor . beforeRequest !== undefined ) {
270271 try {
271272 console . log ( 'Invoking beforeRequest on' , interceptor ) ;
272- const processedRequest = interceptor . beforeRequest ( request , index , this . requestNum ) ;
273+ const processedRequest = interceptor . beforeRequest ( request , index , requestNum ) ;
273274 let processedRequest$ : Observable < InterceptorRequest > ;
274275
275276 if ( ! processedRequest ) { // if no request is returned; just proceed with the original request
@@ -300,7 +301,7 @@ export class InterceptorService extends Http {
300301 return request$ ;
301302 }
302303
303- private runAfterInterceptors ( responseWrapper : InterceptorResponseWrapper ) : Observable < InterceptorResponseWrapper > {
304+ private runAfterInterceptors ( responseWrapper : InterceptorResponseWrapper , requestNum : number ) : Observable < InterceptorResponseWrapper > {
304305 let responseWrapper$ : Observable < InterceptorResponseWrapper > = Observable . of ( responseWrapper ) ;
305306
306307 let startFrom : number ;
@@ -327,7 +328,7 @@ export class InterceptorService extends Http {
327328 if ( transformedResponseWrapper . forceRequestCompletion ) {
328329 if ( interceptor . onForceCompleteOrForceReturn !== undefined ) {
329330 console . log ( 'Invoking onForceCompleteOrForceReturn on' , interceptor ) ;
330- interceptor . onForceCompleteOrForceReturn ( transformedResponseWrapper , index , this . requestNum ) ;
331+ interceptor . onForceCompleteOrForceReturn ( transformedResponseWrapper , index , requestNum ) ;
331332 }
332333 if ( index === 0 ) { // complete the observable, since this is the first interceptor (last in the response chain)
333334 return Observable . empty ( ) ;
@@ -337,7 +338,7 @@ export class InterceptorService extends Http {
337338 } else if ( transformedResponseWrapper . forceReturnResponse ) {
338339 if ( interceptor . onForceCompleteOrForceReturn !== undefined ) {
339340 console . log ( 'Invoking onForceCompleteOrForceReturn on' , interceptor ) ;
340- interceptor . onForceCompleteOrForceReturn ( transformedResponseWrapper , index , this . requestNum ) ;
341+ interceptor . onForceCompleteOrForceReturn ( transformedResponseWrapper , index , requestNum ) ;
341342 }
342343 return Observable . of ( transformedResponseWrapper ) ;
343344 }
@@ -347,16 +348,16 @@ export class InterceptorService extends Http {
347348 if ( transformedResponseWrapper . err ) {
348349 if ( interceptor . onErr !== undefined ) {
349350 console . log ( 'Invoking onErr on' , interceptor ) ;
350- processedResponse = interceptor . onErr ( transformedResponseWrapper , index , this . requestNum ) ;
351+ processedResponse = interceptor . onErr ( transformedResponseWrapper , index , requestNum ) ;
351352 }
352353 } else if ( transformedResponseWrapper . isShortCircuited ( ) ) {
353354 if ( interceptor . onShortCircuit !== undefined ) {
354355 console . log ( 'Invoking onShortCircuit on' , interceptor ) ;
355- processedResponse = interceptor . onShortCircuit ( transformedResponseWrapper , index , this . requestNum ) ;
356+ processedResponse = interceptor . onShortCircuit ( transformedResponseWrapper , index , requestNum ) ;
356357 }
357358 } else if ( interceptor . onResponse !== undefined ) {
358359 console . log ( 'Invoking onResponse on' , interceptor ) ;
359- processedResponse = interceptor . onResponse ( transformedResponseWrapper , index , this . requestNum ) ;
360+ processedResponse = interceptor . onResponse ( transformedResponseWrapper , index , requestNum ) ;
360361 }
361362
362363 let procesedResponseWrapper$ : Observable < InterceptorResponseWrapper > ;
0 commit comments