File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/src/app/services/auth-interceptor.service.ts
import { Injectable } from "@angular/core";
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse } from "@angular/common/http";
import { Observable, throwError } from "rxjs";
import { catchError } from "rxjs/operators";
import { StorageService } from './storage.service';
import { CartService } from "./cart.service";
import { NavController } from "@ionic/angular";
@Injectable({
providedIn: "root",
})
export class AuthInterceptorService implements HttpInterceptor {
constructor(private storage: StorageService, public cartProvider: CartService, public navCtrl: NavController) {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// const token: string = localStorage.getItem('token');
let request = req;
// if (token) {
// request = req.clone({
// setHeaders: {
// authorization: `Bearer ${ token }`
// }
// });
// }
return next.handle(request).pipe(
catchError((err: HttpErrorResponse) => {
if (err.status === 401) {
this.cartProvider.deleteAllProductsCart();
this.storage.clear();
this.navCtrl.navigateRoot("/city-connection");
}
return throwError(err);
})
);
}
}