xxxxxxxxxx
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor,
HttpErrorResponse,
} from '@angular/common/http';
import { Observable, catchError, throwError } from 'rxjs';
import { ToastrService } from 'ngx-toastr';
@Injectable()
export class ErrorInterceptor implements HttpInterceptor {
constructor(private toastr: ToastrService,) {}
intercept(
request: HttpRequest<unknown>,
next: HttpHandler
): Observable<HttpEvent<unknown>> {
return next.handle(request).pipe(
catchError((error) => {
if (error instanceof HttpErrorResponse) {
if (error instanceof ErrorEvent) {
this.toastr.error('Error Event');
} else {
switch (error.status) {
case 0:
this.toastr.error('Check your connection');
break;
case 400:
this.toastr.error(error.error.message);
break;
case 401:
this.toastr.error(error.error);
break;
case 403:
this.toastr.error(error.error);
break;
case 404:
this.toastr.error(error.error);
break;
case 500:
this.toastr.error(error.error);
break;
case 503:
this.toastr.error(error.error);
break;
default:
this.toastr.error('Unknown error');
break;
}
}
} else {
this.toastr.error('An error occured');
}
return throwError(() => new Error(error.statusText));
})
);
}
}
xxxxxxxxxx
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpEvent, HttpResponse, HttpRequest, HttpHandler } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class MyInterceptor implements HttpInterceptor {
intercept(httpRequest: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(httpRequest);
}
}
xxxxxxxxxx
interface HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>
}
import { HttpInterceptor,HttpHandler,HttpEvent,HttpRequest } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
@Injectable()
export class AuthInterceptor implements HttpInterceptor{
constructor(private router:Router){}
intercept(req: HttpRequest
{
if(req.headers.get('No-Auth') == "True")
{
return next.handle(req.clone());
}
if(window.sessionStorage.getItem('userToken')!=null){
const clonedReq=req.clone({
headers:req.headers.set("Authorization","Bearer " +window.sessionStorage.getItem('userToken'))
});
return next.handle(clonedReq);
}
else{
this.router.navigateByUrl("/Login");
}
}
}