From af08438a8b01515ada0a3863d0ae9819ea7647a7 Mon Sep 17 00:00:00 2001 From: Zenith Wogwugwu Date: Fri, 17 Jan 2025 22:57:35 +0100 Subject: [PATCH] fix: remove skip-interceptors from authinterceptor if it exists --- .../src/lib/auth-interceptor.service.ts | 29 +++++-------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/projects/ngx-jwt-auth/src/lib/auth-interceptor.service.ts b/projects/ngx-jwt-auth/src/lib/auth-interceptor.service.ts index baf00a1..198e9be 100644 --- a/projects/ngx-jwt-auth/src/lib/auth-interceptor.service.ts +++ b/projects/ngx-jwt-auth/src/lib/auth-interceptor.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@angular/core'; -import { HttpRequest, HttpInterceptor, HttpHandler, HttpEvent, HttpErrorResponse, HttpHeaders } from '@angular/common/http'; +import { HttpRequest, HttpInterceptor, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http'; import { Observable, from, throwError } from 'rxjs'; import { catchError, switchMap } from 'rxjs/operators'; @@ -28,31 +28,16 @@ export class AuthInterceptorService implements HttpInterceptor { this.config.resetPasswordUrl, ...(this.config.interceptorSkipUrls || []) ].includes(req.url) - || req.headers.get("skip-interceptors") - ) {console.log(req.url,'skip interceptor!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!') - // const skipInterceptorReq = req.clone(); - - // const headersWithoutAuth = skipInterceptorReq.headers.delete('skip-interceptors'); - - // return next.handle(skipInterceptorReq.clone({ headers: headersWithoutAuth })); - - // Create a new HttpHeaders object without the 'Authorization' header - let newHeaders = new HttpHeaders(); - req.headers.keys().forEach(key => { - if (key.toLowerCase() !== 'skip-interceptors') { - newHeaders = newHeaders.set(key, req.headers.get(key) as string); - } - }); - - // Clone the request with the new set of headers - const clonedRequest = req.clone({ headers: newHeaders }); - - return next.handle(clonedRequest); + || req.headers.has("skip-interceptors") + ) { + return req.headers.has("skip-interceptors") + ? next.handle(req.clone({ headers: req.headers.delete("skip-interceptors") })) + : next.handle(req); } return from(this.authManagerService.getAuthorization()) .pipe( - switchMap((authToken) => { console.log(req.url,'Add token!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!') + switchMap((authToken) => { // do the changes here const authReq = req.clone({ setHeaders: { Authorization: authToken } });