From 8919e4402812a7f69e360081fd7ad3461033fe87 Mon Sep 17 00:00:00 2001 From: Ashok Koyi Date: Thu, 2 Feb 2017 20:58:12 +0530 Subject: [PATCH] fix(service): Now callbacks would be called only if the handler has implemented it --- src/interceptor-service.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/interceptor-service.ts b/src/interceptor-service.ts index 3f8df36..445db6d 100644 --- a/src/interceptor-service.ts +++ b/src/interceptor-service.ts @@ -285,7 +285,8 @@ export class InterceptorService extends Http { for (let index = startFrom; index >= 0; index--) { const interceptor: Interceptor = this.interceptors[index]; - if (interceptor.onResponse === undefined) { + + if (!interceptor.onResponse && !interceptor.onShortCircuit && !interceptor.onErr && !interceptor.onForceCompleteOrForceReturn) { continue; } @@ -311,10 +312,14 @@ export class InterceptorService extends Http { let processedResponse: void | InterceptorResponseWrapper | Observable; if (transformedResponseWrapper.err) { - processedResponse = interceptor.onErr(transformedResponseWrapper, index); + if (interceptor.onErr !== undefined) { + processedResponse = interceptor.onErr(transformedResponseWrapper, index); + } } else if (transformedResponseWrapper.isShortCircuited()) { - processedResponse = interceptor.onShortCircuit(transformedResponseWrapper, index); - } else { + if (interceptor.onShortCircuit !== undefined) { + processedResponse = interceptor.onShortCircuit(transformedResponseWrapper, index); + } + } else if (interceptor.onResponse !== undefined) { processedResponse = interceptor.onResponse(transformedResponseWrapper, index); }