From e10261ea46cac32e1f0ca8afe9bc202f2c901a16 Mon Sep 17 00:00:00 2001 From: Ashok Koyi Date: Thu, 2 Feb 2017 21:46:31 +0530 Subject: [PATCH] fix(service): Corrected issue with interceptor not having implemented beforeRequest method --- src/interceptor-service.ts | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/interceptor-service.ts b/src/interceptor-service.ts index eb65eb0..7e2fe25 100644 --- a/src/interceptor-service.ts +++ b/src/interceptor-service.ts @@ -240,23 +240,26 @@ export class InterceptorService extends Http { return Observable.of(requestBuilder.build()); } - const processedRequest = interceptor.beforeRequest(request, index); - let processedRequest$: Observable; - - if (!processedRequest) { // if no request is returned; just proceed with the original request - processedRequest$ = Observable.of(request); - } else if (processedRequest instanceof Observable) { - processedRequest$ = >processedRequest; - } else { - processedRequest$ = Observable.of(processedRequest); + if (interceptor.beforeRequest !== undefined) { + const processedRequest = interceptor.beforeRequest(request, index); + let processedRequest$: Observable; + + if (!processedRequest) { // if no request is returned; just proceed with the original request + processedRequest$ = Observable.of(request); + } else if (processedRequest instanceof Observable) { + processedRequest$ = >processedRequest; + } else { + processedRequest$ = Observable.of(processedRequest); + } + return processedRequest$ + .catch((err: any, caught: Observable) => { + const responseBuilder = InterceptorRequestBuilderInternal.new(request) + .err(err) + .errEncounteredAt(index); + return Observable.of(responseBuilder.build()); + }); } - return processedRequest$ - .catch((err: any, caught: Observable) => { - const responseBuilder = InterceptorRequestBuilderInternal.new(request) - .err(err) - .errEncounteredAt(index); - return Observable.of(responseBuilder.build()); - }); + return Observable.of(request); }); }